Integrare le recensioni in-app (Unity)

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.review

OpenUPM

  1. Apri le impostazioni di Package Manager selezionando l'opzione del menu Unity Modifica > Impostazioni progetto > Package Manager.

  2. 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.review
    
  3. Apri il menu di Package Manager selezionando l'opzione del menu Unity Finestra > Package Manager.

  4. Imposta il menu a discesa dell'ambito del gestore su I miei registri.

  5. Seleziona il pacchetto Plugin Google Play Integrity per Unity dall'elenco dei pacchetti e premi Installa.

Importa da GitHub

  1. Scarica l'ultima .unitypackage release da GitHub.

  2. Importa il file .unitypackage selezionando 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.