Questo argomento descrive come rilevare e pubblicare prodotti in-app nel tuo gioco dopo che i giocatori li hanno acquistati con Play Points nell'app Google Play.
Dopo che gli utenti avranno riscattato i loro punti Play per un prodotto in-app nell'app Google Play, gli articoli dovrebbero essere consegnati immediatamente nel tuo gioco. La sezione che segue mostra in che modo un utente acquista articoli con Play Points.
1. Fai clic su Play Points. | 1. Fai clic sulla scheda Utilizza per visualizzare gli elementi. | 2. Seleziona un articolo e fai clic su Usa i punti per completare l'acquisto. | 3. Ricevi l'articolo. |
Nell'esempio, il gioco non è in esecuzione durante l'acquisto del prodotto. Gli utenti possono anche scambiare i punti Play con i prodotti quando il gioco non è installato sul loro dispositivo. Per questo motivo, devi progettare il gioco in modo che gestisca la consegna degli articoli in-app dall'esterno dello store in-game.
Prima di iniziare
Prima di rilevare e consegnare un prodotto in-app, devi creare il prodotto e le promozioni Play Points.
Requisiti di pubblicazione
Quando consegni prodotti in-app nel tuo gioco usando una promozione Play Points, devi rispettare i requisiti di questa sezione.
Tempi di consegna
Quando un giocatore scambia punti Play con un prodotto in-app, devi consegnare l'articolo immediatamente senza che il giocatore debba riavviare il gioco. Nei casi in cui i contenuti di un gioco debbano essere completati in anticipo, come il completamento di un tutorial, l'elemento deve essere consegnato subito dopo.
Messaggio di recapito
Quando un utente torna al tuo gioco dopo aver acquistato un prodotto in-app al di fuori del gioco, devi mostrare una conferma che il prodotto è stato concesso correttamente all'interno del gioco. Il messaggio dovrebbe presentarsi sotto forma di finestra di dialogo popup o messaggio in-game. Gli utenti non dovrebbero dover svolgere ulteriori passaggi per ricevere l'articolo.
Ecco il formato di messaggi richiesto:
Un messaggio chiaro che comunica che l'articolo è stato ricevuto.
Fai riferimento chiaramente al nome dell'elemento e fai riferimento a "Play Points" per assicurarti che gli utenti possano distinguirlo dagli altri contenuti che ricevono.
Il nome dell'articolo deve includere anche il taglio corretto se sono presenti articoli simili con più tagli.
La finestra di dialogo popup, il messaggio o la notifica in-game dovrebbero essere visibili all'utente finché l'utente non fa clic su una conferma, ad esempio Continua o OK. Il pulsante Annulla non dovrebbe essere presente, perché questo messaggio ha il solo scopo di informare gli utenti dell'articolo che hanno ricevuto in-game. Se il pulsante di conferma non è presente, il messaggio dovrebbe essere visibile agli utenti per almeno 3 secondi prima di scomparire per garantire che gli utenti sappiano di aver ricevuto l'articolo.
Ecco un messaggio di esempio:
"Articolo ricevuto! Hai appena ricevuto 100 gemme con Play Points. Continua."
Gli utenti dovrebbero visualizzare un'animazione o una conferma visiva che mostra l'aumento del saldo della valuta in-game. Se l'articolo è un articolo in-app durevole o di consumo, gli utenti devono essere indirizzati alla posizione in cui l'articolo è stato sbloccato o è disponibile all'interno del gioco.
Rileva gli elementi ricevuti al di fuori del gioco
Se il tuo gioco utilizza la Libreria Fatturazione Google Play, apporta le seguenti modifiche per rilevare i prodotti in-app ricevuti al di fuori del gioco.
Nel callback
onResume()
del tuo gioco, chiama il metodoqueryPurchases()
per recuperare un elenco di elementi e stabilire quali elementi non vengono confermati.Se il tuo gioco ha un server, ti consigliamo vivamente di verificare l'acquisto dal tuo server utilizzando l'API Subscriptions and In-App Purchases.
Se sono presenti articoli di proprietà, ma non confermati, conferma l'acquisto con
consumeAsync()
per gli articoli di consumo o conacknowledgePurchase()
per gli articoli non consumabili.Concedi il diritto all'articolo acquistato all'interno del gioco.
Rileva gli elementi ricevuti in modalità schermo diviso
Se il tuo gioco supporta la modalità multi-finestra, gli utenti possono utilizzare i punti Play e ricevere l'articolo mentre eseguono l'app Play Store e il gioco contemporaneamente. Questo screenshot mostra un esempio:
Per supportare questo scenario con la Libreria Fatturazione Google Play, procedi nel seguente modo:
Google Play chiama il metodo
onPurchasesUpdated()
per notificare al tuo gioco la presenza di un nuovo elemento in sospeso.Se il tuo gioco ha un server, ti consigliamo vivamente di verificare l'acquisto dal tuo server utilizzando l'API Subscriptions and In-App Purchases.
Conferma l'acquisto con
consumeAsync()
per gli articoli di consumo o conacknowledgePurchase()
per gli articoli non consumabili.Concedi il diritto all'articolo acquistato all'interno del gioco.
Mostrare una conferma di consegna
Quando gli utenti utilizzano i punti Play e ricevono un articolo di scambio, si aspettano che il gioco mostri un messaggio in-game oppure usano un qualche tipo di notifica per comunicare che l'articolo è stato ricevuto ed elaborato correttamente dal gioco. Ecco alcune opzioni di conferma della consegna:
Mostra un popup in-game.
Invia il messaggio a una finestra di messaggio in-game e indica chiaramente che è presente un nuovo messaggio nella casella del messaggio.
Utilizza un messaggio di notifica del sistema operativo.
Il gioco potrebbe essere in qualsiasi stato quando viene ricevuto l'articolo promozionale, inclusa la mancata installazione sul dispositivo. Devi rilevare gli articoli promozionali indipendentemente dallo stato in cui si trova il gioco quando viene ricevuto. Tuttavia, ci sono alcune eccezioni in cui potrebbe essere accettabile non comunicare immediatamente all'utente la ricezione dell'articolo. Ecco alcuni esempi:
Durante l'azione di gioco, la visualizzazione di un messaggio potrebbe distrarre l'utente. In questo caso, devi avvisare l'utente al termine dell'azione.
Durante i filmati, mostrare un messaggio può distrarre l'utente. In questo caso, devi avvisare l'utente al termine della scena.
Durante il tutorial iniziale e le parti della configurazione utente relative al gioco. Ti consigliamo di informare i nuovi utenti del premio subito dopo aver aperto il gioco o durante la configurazione iniziale dell'utente. Tuttavia, puoi attendere che sia disponibile la sequenza principale del gioco per inviare una notifica all'utente.
Se l'app ha più caratteri o account a cui può essere applicato l'articolo, ti consigliamo di chiedere all'utente di selezionare l'account per ricevere gli articoli promozionali.
Prendi in considerazione gli utenti quando decidi quando e come notificare loro gli articoli promozionali. Ogni volta che un utente non riceve immediatamente una notifica, potrebbe confondersi, smettere di giocare, contattare l'assistenza utenti o lamentarsi sui social media.
Aggiornamenti per motori di gioco specifici
Di seguito sono riportate alcune considerazioni da fare per specifici motori di gioco:
Se il tuo gioco è creato con Unity, ti consigliamo di verificare se l'implementazione IAP che stai usando supporta già le promozioni Play Points.
Se il tuo gioco è stato creato con Cocos2d-x o Unreal Engine (C/C++), molto probabilmente dovrai scrivere il codice JNI che chiama le API Java dal codice C/C++.
Best practice lato server
Questa sezione contiene le best practice lato server da utilizzare per le promozioni Play Points:
Se chiami
Purchases.products: get
sul tuo server, verifica se devi gestire separatamente gli articoli dello scambio di premi di Google Play e altri prodotti in-app in base ai valoriproductId
.Se utilizzi
Inappproducts: list
sul tuo server, verifica se è necessario separare gli articoli dello scambio di premi di Google Play dagli altri prodotti in-app per valori diproductId
.Consulta le seguenti best practice per verificare se devi apportare ulteriori modifiche:
- Riferimento:
- Implementa la verifica della firma lato server.
- Assicurati che i valori
purchaseToken
eorderId
siano univoci e non siano stati utilizzati in precedenza.
Risoluzione dei problemi
Questa sezione contiene suggerimenti per scenari che possono comportare richieste da parte dei clienti.
Più account utente
Se un utente ha più Account Google sul proprio dispositivo e utilizza
i punti Play sull'account sbagliato, Google non può trasferire gli articoli
sugli altri account. Allo stesso modo, la tua app non può trasferire l'elemento chiamando il metodo getPurchases()
. In questo scenario, potresti fornire manualmente
gli articoli in-app all'utente utilizzando le tue operazioni di assistenza clienti.
Articoli in ritardo o mancanti
Se i giocatori riscontrano ritardi o mancano degli articoli a premi, consulta la guida alla risoluzione dei problemi relativi agli acquisti in-app nella documentazione di assistenza di Google Play.