Abilitare gli acquisti di prodotti in-app (HTML)

[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]

La tua app può offrire prodotti e funzionalità che i clienti possono acquistare direttamente dall'app. Qui viene mostrato come abilitare tali offerte nella tua app.

Tieni presente che un cliente può acquistare un prodotto in-app solo se ha acquistato una versione completa della tua app.

Cosa sapere

Tecnologie

Prerequisiti

  • Un'app di Windows Runtime in cui aggiungere funzionalità che gli utenti possono acquistare.

Istruzioni

Passaggio 1: Inizializza le info sulla licenza per la tua app

Durante l'inizializzazione dell'app, recupera l'oggetto LicenseInformation per l'app inizializzando CurrentApp o CurrentAppSimulator per abilitare gli acquisti del prodotto in-app.

function appInit()
{
    // some app initialization functions

        // Get current product object 
        // Execute only one of these statements. 
        // The next line is commented out for testing.
        // currentApp = Windows.ApplicationModel.Store.CurrentApp;

        // The next line is commented out for production/release.
        currentApp = Windows.ApplicationModel.Store.CurrentAppSimulator;

        // We should have either a real or a simulated CurrentProduct object here.

        // Get the license info
        licenseInformation = currentApp.licenseInformation;

    // other app initializations function
}

Nota  Quando scrivi il codice ed esegui il testing per nuovi prodotti in-app per la prima volta, devi usare l'oggetto CurrentAppSimulator invece dell'oggetto CurrentApp. In questo modo puoi verificare la logica della licenza usando chiamate simulate al server licenze anziché effettuare chiamate al server reale. A tale scopo, devi personalizzare il file denominato "WindowsStoreProxy.xml" in %userprofile%\AppData\local\packages\<package name>\LocalState\Microsoft\Windows Store\ApiData. Questo file viene creato dal simulatore di Microsoft Visual Studio la prima volta che esegui l'app. In alternativa, puoi caricare un file personalizzato in fase di esecuzione. Per altre informazioni, vedi la documentazione di CurrentAppSimulator.

 

Passaggio 2: Aggiungi offerte di prodotti in-app alla tua app

Per ogni funzionalità da rendere disponibile tramite un prodotto in-app, crea un'offerta e aggiungila alla tua app.

Importante  Devi aggiungere tutti i prodotti in-app che vuoi presentare ai clienti prima di inviare la tua app allo Store. Per aggiungere nuovi prodotti in-app in un secondo momento, devi aggiornare la tua app e inviarne una nuova versione.

 

  1. Crea un token di offerte in-app

    Identifica ogni prodotto in-app nella tua app mediante un token. Il token è una stringa che definisci e usi nell'app e nello Store per identificare un prodotto in-app specifico. Assegna al token un nome univoco (rispetto all'app) e significativo per poter identificare rapidamente la funzionalità corretta che rappresenta durante la creazione del codice. Ecco alcuni esempi di nomi:

    • "SpaceMissionLevel4"
    • "ContosoCloudSave"
    • "RainbowThemePack".
  2. Codifica la funzionalità in un blocco condizionale

    Devi inserire il codice di ciascuna funzionalità associata a un prodotto in-app in un blocco condizionale che verifichi la disponibilità di una licenza da parte dell'utente per usare tale funzionalità.

    Di seguito è riportato un esempio che mostra come puoi codificare una funzionalità del prodotto denominata featureName in un blocco condizionale specifico per la licenza. La stringa featureName è il token che identifica in maniera univoca il prodotto all'interno dell'app e che la identifica anche nello Store.

    
    if (licenseInformation.productLicenses.lookup("featureName").isActive) 
    {
        // the customer can access this feature
    }
    else 
    {
        // the customer can't access this feature
    }
    
  3. Aggiungi l'interfaccia utente di acquisto per la funzionalità

    L'app deve anche offrire agli utenti un modo per acquistare il prodotto o la funzionalità offerta mediante il prodotto in-app. Gli utenti non possono acquistare prodotti in-app dallo Store nello stesso modo in cui hanno acquistato la tua app.

    Di seguito viene mostrato come verificare se l'utente dispone già di un prodotto in-app e, in caso contrario, mostrare la finestra di dialogo di acquisto in modo che possa comprarlo. Sostituisci il commento "show the purchase dialog" con il tuo codice personalizzato per la finestra di dialogo di acquisto (ad esempio, una pagina con un semplice pulsante "Compra questa app").

    function buyFeature1() {
        if (!licenseInformation.productLicenses.lookup("featureName").isActive)
        {
            // The customer doesn't own this feature, so 
            // show the purchase dialog.
    
            // note: currentApp is a reference to CurrentAppSimulator from a previous declaration
            currentApp.requestProductPurchaseAsync("featureName", false).then(
                function () {
                    //Check the license state to determine if the in-app purchase was successful.
                }, 
                function () {
                    // The in-app purchase was not completed because 
                    // there was an error.
                });
        } 
        else
        {
            // The customer already owns this feature.
        }
    }
    

Passaggio 3: Modifica il codice di test delle chiamate finali

Questo è un passaggio semplice: devi modificare tutti i riferimenti a CurrentAppSimulator in CurrentApp nel codice della tua app. Non è necessario che specifichi il file WindowsStoreProxy.xml, perciò rimuovilo dal percorso dell'app (benché ti consigliamo di salvarlo come rifermento da usare durante la configurazione dell'offerta in-app al passaggio successivo).

Passaggio 4: Configura l'offerta del prodotto in-app nello Store

Prima di inviare un'app allo Store, aggiungi tutti i prodotti in-app nel flusso di lavoro Invia un'app. Questa è la procedura durante la quale puoi specificare il token, il prezzo e la durata della funzionalità di un prodotto in-app. Assicurati di configurarla esattamente come la configurazione che hai impostato in WindowsStoreProxy.xml in fase di testing.

Passaggio 5: Descrivi il prodotto in-app nello Store

Dopo aver caricato il pacchetto dell'app nello Store, puoi immettere una descrizione di tutti i prodotti in-app nella pagina Descrizione al momento dell'invio dell'app. Se la tua app supporta più di una lingua, devi descrivere tutti i prodotti in-app in tutte le lingue supportate dalla tua app.

Fai in modo che la descrizione sia chiara e particolareggiata, in modo da stabilire precisamente ciò che il prodotto in-app aggiunge all'app. Se non specifichi con chiarezza il valore del prodotto al di là di quello che offre l'app in sé, riscontrerai delle difficoltà nel venderlo. Per altri dettagli su parti specifiche della descrizione di un prodotto in-app, vedi Descrizione dell'app.

Osservazioni

Se vuoi fornire ai clienti opzioni per prodotti di consumo in-app, passa all'argomento Abilitare gli acquisti di prodotti di consumo in-app.

Se devi usare le ricevute per verificare che l'utente abbia acquistato un prodotto in-app, consulta l'argomento Verifica degli acquisti di prodotti mediante le ricevute.

Argomenti correlati

Abilitare gli acquisti di prodotti di consumo in-app

Esempio sulle app di prova e gli acquisti in-app