Come configurare il tuo sito web per utilizzare gli acquisti in-app

Aggiornato il 18. febbraio 2024 da Jan Bunk


Creare prodotti per l'acquisto in-app

Puoi seguire queste guide per creare prodotti per l'acquisto in-app e abbonamenti:

Potrebbe esserti chiesto di inserire alcune informazioni aggiuntive per abilitare i pagamenti nel tuo account sviluppatore.

Dato che dovrai creare un prodotto per l'acquisto in-app in ogni piattaforma, assicurati di utilizzare lo stesso ID prodotto su entrambe le piattaforme, così l'attivazione dell'acquisto in-app tramite Javascript sarà più facile (vedi sotto).

Attivare un acquisto in-app

Per prima cosa, molto probabilmente vorrai controllare se l'utente attuale sta utilizzando la tua app, perché un normale utente del browser non sarà in grado di fare acquisti in-app.

Puoi usare getAppPlatform() != null con lo script app helper.

Poi, se l'utente sta utilizzando la tua app, puoi utilizzare il seguente Javascript per attivare un acquisto in-app.

Potresti voler controllare la funzione executeWhenAppReady() del nostro helper script per le app. Assicura che il tuo sito web non cerchi di interagire con l'applicazione prima che sia pronta o quando il sito web viene caricato con un normale browser (ReferenceError, function is not defined).

<script>
    try {
        // productId is the ID you specified for the in app purchase product in App Store Connect and the Google Play Console
        // consumable is a boolean value that indicates whether the product can be purchased multiple times (consumable==true) or just once (consumable==false)
        // subscriptions should use consumable==false
        // userIdentifier can be any string that identifies the current user.
        // The userIdentifier will be sent to your server's unlocking endpoint if the purchase is successful (so you can then unlock the product that was bought on your server)
        resultingStatus = await makeInAppPurchase(productId, consumable, userIdentifier)["status"];
        
        switch (resultingStatus) {
            case "failed":
                // The purchase failed, for example due to an error while verifying the purchase
                break;
            case "canceled":
                // The user canceled the purchase, for example by pressing the back button
                break;
            case "completed":
                // The purchase was successful
                break;
        }
    } catch (e) {
        // Some kind of error occurred, e.g. the given productId is invalid
    }
</script>
    

Mentre attendi la funzione, l'utente sarà su una schermata fornita dall'app. La funzione JavaScript restituirà una volta completato l'acquisto, così potrai ricaricare la pagina o aggiornare l'interfaccia utente come ritieni necessario. Una volta che l'utente chiude la schermata dell'app nativa, tornerà al tuo sito web.

Uno screenshot dell'app in attesa che l'acquisto in-app sia completato.

Ripristinare gli acquisti in-app

Potresti voler controllare la funzione executeWhenAppReady() del nostro helper script per le app. Assicura che il tuo sito web non cerchi di interagire con l'applicazione prima che sia pronta o quando il sito web viene caricato con un normale browser (ReferenceError, function is not defined).

Puoi anche fornire un'opzione "Ripristina acquisti" ai tuoi utenti.


<script>
    restorePurchases()
</script>
    

Di solito il ripristino degli acquisti è necessario quando gli utenti disinstallano l'applicazione e la installano nuovamente su un nuovo dispositivo. Possono quindi ripristinare i loro acquisti precedenti. Tu memorizzi già le informazioni e gli acquisti dell'utente sul tuo server, indipendentemente dal suo dispositivo.

Continuiamo a fornirti l'opportunità di integrare una funzionalità di ripristino dell'acquisto nella speranza che possa essere utile in altre circostanze, ad esempio potrebbe potenzialmente essere utile se qualcosa è andato storto durante la verifica e sbloccare l'acquisto di un utente.

Step successivi

Dopo che un utente completa un acquisto nell'app, l'acquisto deve essere verificato su un server e, se verificato con successo, il contenuto acquistato deve essere sbloccato sul tuo server.

Vedi le tue impostazioni di acquisto in-app per ulteriori informazioni e guide.