Creare una versione di prova dell’app

Lo store di Windows Phone consente di creare una versione di prova per l’applicazione, per dare la possibilità all’utente di testare le funzionalità dell’applicazione prima di acquistarla.

trial-windows-phone

Per cominciare quando andrai a pubblicare l’app, nello store, è necessario indicare che è offerta una versione di prova e il relativo prezzo.

prezzo-windows-phone-app

Per limitare le funzionalità nella versione di prova devi leggere lo stato della licenza dell’applicazione (trial o completa).

Innanzitutto aggiungi il namespace e istanzia le due classi come di seguito:

using Microsoft.Phone.Marketplace;

private static LicenseInformation licenseInfo = new LicenseInformation();
MarketplaceDetailTask marketPlaceDetailTask = new MarketplaceDetailTask();

all’interno di licenseInfo è salvato lo stato della licenza. E’ possibile leggerlo come variabile booleana (true/false) attraverso la funzione

bool isTrial = licenseInfo.IsTrial();

Ecco un esempio completo:

private static LicenseInformation licenseInfo = new LicenseInformation();
MarketplaceDetailTask marketPlaceDetailTask = new MarketplaceDetailTask();

bool IsTrial;

private void CheckLicense()
{
isTrial = licenseInfo.IsTrial(); //leggi lo stato della licenza

if (isTrial == true) { //se è isTrial è True allora è una versione di prova, altrimenti è stata acquistata
if( MessageBox.Show("Questa è una versione di prova. Per usare questa funzione devi acquistare l'app. Vuoi andare nello store per acquistarla?", "Versione di prova", MessageBoxButton.OKCancel)==MessageBoxResult.OK)  //se premi OK vai nello store alla pagina dell'app.
{ marketPlaceDetailTask.Show(); isTrial = licenseInfo.IsTrial(); }
}
else { /*applicazione già acquistata }
}

nell’esempio se isTrial() è uguale a True significa che l’utente possiede la versione di prova e quindi mostra un messaggio di avviso. Inoltre se l’utente preme OK viene portato nello store, alla pagina dell’applicazione per poter acquistare subito l’app chiamando la funzione marketPlaceDetailTask.Show(); .

Viene nuovamente verificato lo stato della licenza nel caso in cui, dopo aver premuto OK, abbia acquistato l’app. A quel punto, non è necessario chiudere e riaprire l’applicazione per avere tutte le funzionalità sbloccate, queste saranno disponibili sin da subito.

Consigli:

  • Chiama la funzione licenseInfo.IsTrial(); il meno possibile perchè questa impiega una certa quantità di tempo, in quanto ogni volta verifica lo stato della licenza.
  • Verifica che le funzioni bloccate si sblocchino completamente prima di pubblicare l’app e che l’applicazione una volta acquistata funzioni correttamente. Ad esempio puoi provare ciò rendendo bool isTrial uguale a True o False in base al tipo di test effettuato, senza andare a leggere lo stato della licenza.

Ricorda che in fase di debug (prima di pubblicare l’app) licenseInfo.IsTrial() restituirà sempre False.

Più informazioni all’indirizzo: http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh286402%28v=vs.105%29.aspx

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.