Integrare le recensioni in-app (Unity)

Questa guida descrive come integrare le recensioni in-app nella tua app utilizzando Unity. Esistono guide all'integrazione separate per l'utilizzo di 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 registry OpenUPM con il seguente comando:

openupm add com.google.play.review

OpenUPM

  1. Apri le impostazioni di Gestione pacchetti selezionando l'opzione di menu di Unity Modifica > Impostazioni progetto > Gestione pacchetti.

  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 Gestione pacchetti selezionando l'opzione di menu di Unity Finestra > Gestione pacchetti.

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

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

Importa da GitHub

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

  2. Importa il file .unitypackage selezionando l'opzione di menu di Unity Assets > Import package > Custom Package (Asset > Importa pacchetto > Pacchetto personalizzato) e importando tutti gli elementi.

Crea ReviewManager

Crea un'istanza di ReviewManager che gestisce 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 recensioni in-app per determinare i punti adatti nel flusso utente della tua app per chiedere all'utente di scrivere una recensione (ad esempio, dopo che l'utente chiude la schermata di riepilogo alla fine di un livello di 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 (questo non blocca il thread principale). Poiché la chiamata viene effettuata in modo asincrono, potrebbero essere necessari un paio di secondi, quindi l'app deve effettuare la chiamata prima di raggiungere il punto del flusso utente in cui vuoi mostrare la recensione in-app.

Avvia il flusso di recensione in-app

Una volta che l'app riceve l'istanza PlayReviewInfo, può avviare il flusso di recensioni in-app. L'oggetto PlayReviewInfo è valido solo per un periodo di tempo limitato, pertanto l'app non deve attendere troppo 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.