Aggiornato il 18. febbraio 2024 da Jan Bunk
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).
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.
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 stai aspettando 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.
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.
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.
Ecco una lista di pagine correlate agli acquisti in-app: