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 per l'utilizzo di Kotlin o Java o di codice nativo.

Panoramica dell'SDK Unity

L'API Play In-App Review fa parte della famiglia di SDK Play Core. L'API per Unity offre una classe ReviewManager per richiedere e avviare il flusso utilizzando i metodi RequestReviewFlow e LaunchReviewFlow. Dopo che è stata effettuata una richiesta, la tua app può controllarne lo stato utilizzando ReviewErrorCode.

Configura l'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 del gestore dei pacchetti selezionato l'opzione di menu di Unity Modifica > Impostazioni progetto > Gestore dei pacchetti.

  2. Aggiungi OpenUPM come registry con ambito alla finestra Gestione pacchetti:

    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 del gestore dei pacchetti selezionando l'opzione di menu di Unity Finestra > Gestore dei pacchetti.

  4. Imposta il menu a discesa Ambito gestore in modo da selezionare I miei registri.

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

Importa da GitHub

  1. Scarica la release .unitypackage più recente 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 gestisce la comunicazione tra la tua app e l'API.

// 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 positivi nel flusso utente della tua app in cui chiedere una recensione all'utente (ad esempio dopo che l'utente chiude 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 va a buon fine, l'API restituisce l'oggetto PlayReviewInfo di cui la tua app ha bisogno per avviare il flusso di revisione in-app. Nell'esempio, la chiamata viene effettuata all'interno di una co-routine per eseguire l'operazione asincrona (questo non blocca il thread principale). Poiché la chiamata viene effettuata in modo asincrono, potrebbero essere necessari fino a un paio di secondi, pertanto 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 revisione in-app

Dopo che l'app riceve l'istanza PlayReviewInfo, può avviare il flusso di revisione in-app. Tieni presente che l'oggetto PlayReviewInfo è valido solo per un periodo di tempo limitato, pertanto la tua app non deve attendere troppo a lungo prima di lanciare 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 requestFlowOperation.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

Esegui il test del flusso di revisione in-app della tua app per verificare che l'integrazione funzioni correttamente.