Questa guida descrive come integrare le recensioni in-app nella tua app utilizzando Unity. Esistono guide di integrazione separate se utilizzi Kotlin o Java, codice nativo o Unreal Engine.
Panoramica dell'SDK Unity
L'API Play In-App Review fa parte della famiglia di libreria di base Play SDK. L'API per
Unity offre una classe ReviewManager per richiedere e avviare il flusso utilizzando
i metodi RequestReviewFlow e LaunchReviewFlow. Dopo aver effettuato una
richiesta, l'app può controllare lo stato della richiesta utilizzando
ReviewErrorCode.
Configurazione dell'ambiente di sviluppo
OpenUPM-CLI
Se hai installato l'interfaccia a riga di comando OpenUPM , puoi installare il registro OpenUPM con il seguente comando:
openupm add com.google.play.reviewOpenUPM
Apri le impostazioni di Package Manager selezionando l'opzione del menu Unity Modifica > Impostazioni progetto > Package Manager.
Aggiungi OpenUPM come registro con ambito alla finestra Package Manager:
Name: package.openupm.com URL: https://package.openupm.com Scopes: com.google.external-dependency-manager com.google.play.common com.google.play.core com.google.play.reviewApri il menu di Package Manager selezionando l'opzione del menu Unity Finestra > Package Manager.
Imposta il menu a discesa dell'ambito del gestore su I miei registri.
Seleziona il pacchetto Plugin Google Play Integrity per Unity dall'elenco dei pacchetti e premi Installa.
Importa da GitHub
Scarica l'ultima
.unitypackagerelease da GitHub.Importa il file
.unitypackageselezionando l'opzione del menu Unity Asset > Importa pacchetto > Pacchetto personalizzato e importando tutti gli elementi.
Crea ReviewManager
Crea un'istanza di ReviewManager che gestisca la comunicazione tra
la tua app e l'API Google Play.
using Google.Play.Review;
// Create instance of ReviewManager
private ReviewManager _reviewManager;
// ...
_reviewManager = new ReviewManager();
Richiedi un oggetto ReviewInfo
Segui le indicazioni su quando richiedere le recensioni in-app per determinare i punti giusti
nel flusso utente della tua app per invitare l'utente a lasciare una recensione (ad esempio,
dopo che un utente ha chiuso la schermata di riepilogo alla fine di un livello in un gioco). Quando
la tua app si avvicina a uno di questi punti, utilizza l'istanza ReviewManager
per creare un'operazione asincrona, come mostrato nell'esempio seguente:
var requestFlowOperation = _reviewManager.RequestReviewFlow();
yield return requestFlowOperation;
if (requestFlowOperation.Error != ReviewErrorCode.NoError)
{
// Log error. For example, using requestFlowOperation.Error.ToString().
yield break;
}
_playReviewInfo = requestFlowOperation.GetResult();
Se la chiamata ha esito positivo, l'API restituisce l'oggetto PlayReviewInfo
di cui la tua app ha bisogno per avviare il flusso di recensioni in-app. Nell'esempio, la chiamata
viene effettuata all'interno di una coroutine
per eseguire l'operazione asincrona (che non blocca il thread principale). Poiché la chiamata viene effettuata in modo asincrono, potrebbe richiedere fino a un paio di secondi, quindi la tua app deve effettuare la chiamata prima di raggiungere il punto nel flusso utente in cui vuoi mostrare la recensione in-app.
Avvia il flusso di recensioni in-app
Dopo che l'app ha ricevuto l'istanza PlayReviewInfo, può avviare il
flusso di recensioni in-app. Tieni presente che l'oggetto PlayReviewInfo è valido solo per un periodo di tempo limitato, quindi la tua app non deve attendere troppo a lungo prima di avviare un flusso.
var launchFlowOperation = _reviewManager.LaunchReviewFlow(_playReviewInfo);
yield return launchFlowOperation;
_playReviewInfo = null; // Reset the object
if (launchFlowOperation.Error != ReviewErrorCode.NoError)
{
// Log error. For example, using launchFlowOperation.Error.ToString().
yield break;
}
// The flow has finished. The API does not indicate whether the user
// reviewed or not, or even whether the review dialog was shown. Thus, no
// matter the result, we continue our app flow.
Passaggi successivi
Testa il flusso di recensioni in-app della tua app per verificare che l'integrazione funzioni correttamente.