Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Aggiungere la modalità Trial nelle app per Windows Phone 7 con Visual Basic 2010

Come sapete molte app per Windows Phone 7 vengono distribuite tramite Market Place anche come edizione Trial. Come nelle applicazioni classiche, queste prevedono funzionalità limitate rispetto alla versione "full" per le quali diventa necessario procedere all'acquisto.

Come sviluppatori abbiamo a disposizione alcuni mezzi per implementare con facilità lo stato di trial nelle nostre app per dispositivi. La prima considerazione comunque da fare è che quando "marchiamo" una nostra app come trial, lo stato di trial non ha scadenza. Eventualmente questa dev'essere gestita da codice a seconda del proprio gusto.

A livello di codice, invece, possiamo sfruttare la classe Microsoft.Phone.MarketPlace.LicenseInformation la quale offre un metodo di istanza chiamato IsTrial che restituisce semplicemente True se l'app è stata scaricata come trial o False se l'applicazione è stata acquistata.

Per esempio, consideriamo il seguente metodo:

    Private Function IsTrial() As Boolean

        'Nell'emulatore IsTrial restituisce sempre False, quindi
        'forziamo True per finalità di test
#If DEBUG Then
        Return True
#End If
        Dim lic As New Microsoft.Phone.Marketplace.LicenseInformation

        Return lic.IsTrial
    End Function

questo controlla lo stato dell'app e restituisce il risultato al chiamante. Si noti la direttiva #If che ci permette di capire se siamo in modalità Debug o meno e ci serve quando usiamo l'emulatore. Ipotizziamo ora di avere un pulsante che consenta di accedere ad una determinata funzionalità solo allorquando l'applicazione è stata acquistata e, quindi, che non sia disponibile nella trial. Guardate questo codice:

    Private Sub Button1_Click(ByVal sender As System.Object,
                              ByVal e As System.Windows.RoutedEventArgs) _
                Handles Button1.Click

        If Me.IsTrial Then
            Dim result = MessageBox.Show("Acquistare la versione full?"""MessageBoxButton.OKCancel)
            If result = MessageBoxResult.Cancel Then
                'Non vuoi acquistare, allora ciao :-)
                Exit Sub
            Else
                'Mostra la pagina dell'app sul Market Place
                Dim mp As New Microsoft.Phone.Tasks.MarketplaceDetailTask
                mp.Show()
            End If
        Else
            'Fai quello che devi fare.. l'app è già in versione full
        End If
    End Sub

Qui si invoca il metodo precedentemente definito per capire lo stato attuale e, se trial, si richiede all'utente se vuole acquistare o meno l'app. Se non vuole, usciamo dal metodo. Se vuole, sfruttando il metodo Show della classe Microsoft.Phone.Tasks.MarketPlaceDetailTask reindirizziamo l'utente alla pagina dell'app sul Market Place di modo che possa acquistarla agevolmente.

Si noti che l'acquisto sul Market Place sostituisce le informazioni di licenza ma fa anche tombstoning, per cui è necessario rifare il check dello stato. Essenzialmente i passaggi sono quelli illustrati. Quando poi andiamo a fare la submission dell'app sul Market Place dobbiamo solo ricordarci di selezionare la casella di supporto alla trial nella stessa schermata in cui selezioniamo il prezzo.

Pare comunque che fare questo tipo di check richieda un nutrito sforzo in termini di risorse, per cui in certi casi è conveniente impostare il controllo attraverso un apposito servizio. Vi consiglio al riguardo la lettura di questo post dell'amico Alessio Leoncini che spiega come raggiungere l'obiettivo attraverso un approccio basato su servizi.

Alessandro

Print | posted on lunedì 21 febbraio 2011 18:38 | Filed Under [ Visual Basic Silverlight e Windows Phone ]

Powered by:
Powered By Subtext Powered By ASP.NET