Integracja opinii w aplikacji (Unity)

Z tego przewodnika dowiesz się, jak zintegrować opinie w aplikacji z aplikacją za pomocą Unity. Istnieją oddzielne przewodniki integracji dla osób korzystających z Kotlin lub Javy, kodu natywnego lub Unreal Engine.

Omówienie pakietu Unity SDK

Interfejs Play In-App Review API jest częścią rodziny pakietów SDK podstawowej biblioteki Play. Interfejs API dla Unity udostępnia klasę ReviewManager, która umożliwia wysyłanie żądań i uruchamianie procesu za pomocą metod RequestReviewFlowLaunchReviewFlow. Po wysłaniu żądania aplikacja może sprawdzić jego stan za pomocą funkcji ReviewErrorCode.

Konfigurowanie środowiska programistycznego

OpenUPM-CLI

Jeśli masz zainstalowany interfejs wiersza poleceń OpenUPM, możesz zainstalować rejestr OpenUPM za pomocą tego polecenia:

openupm add com.google.play.review

OpenUPM

  1. Otwórz ustawienia menedżera pakietów, wybierając w menu Unity opcję Edit > Project Settings > Package Manager.

  2. Dodaj OpenUPM jako rejestr o określonym zakresie w oknie 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. Otwórz menu menedżera pakietów, wybierając opcję menu Unity Window > Package Manager (Okno > Menedżer pakietów).

  4. W menu Zakres menedżera wybierz Moje rejestry.

  5. Na liście pakietów wybierz pakiet Google Play Integrity plugin for Unity i kliknij Install (Zainstaluj).

Importuj z GitHuba

  1. Pobierz najnowszą wersję .unitypackage z GitHuba.

  2. Zaimportuj plik .unitypackage, wybierając w menu Unity opcję Assets > Import package > Custom Package (Zasoby > Importuj pakiet > Własny pakiet) i importując wszystkie elementy.

Tworzenie obiektu ReviewManager

Utwórz instancję ReviewManager, która będzie obsługiwać komunikację między Twoją aplikacją a interfejsem API Google Play.

using Google.Play.Review;

// Create instance of ReviewManager
private ReviewManager _reviewManager;
// ...
_reviewManager = new ReviewManager();

Przesyłanie żądania obiektu ReviewInfo

Postępuj zgodnie z wytycznymi dotyczącymi momentów, w których warto prosić o opinie w aplikacji, aby określić odpowiednie punkty w wzorcu przeglądania aplikacji, w których można poprosić użytkownika o opinię (np. gdy użytkownik zamknie ekran podsumowania na końcu poziomu w grze). Gdy aplikacja zbliży się do jednego z tych punktów, użyj instancji ReviewManager, aby utworzyć operację asynchroniczną, jak pokazano w tym przykładzie:

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();

Jeśli wywołanie się powiedzie, interfejs API zwróci obiekt PlayReviewInfo, którego aplikacja potrzebuje do uruchomienia procesu wystawiania opinii w aplikacji. W tym przykładzie wywołanie jest wykonywane w współprogramie, aby przeprowadzić operację asynchroniczną (nie blokuje to wątku głównego). Wywołanie jest asynchroniczne, więc może potrwać kilka sekund. Aplikacja powinna je wykonać, zanim dotrze do punktu w procesie użytkownika, w którym chcesz wyświetlić opinię w aplikacji.

Uruchamianie procesu wystawiania opinii w aplikacji

Gdy aplikacja otrzyma instancję PlayReviewInfo, może uruchomić proces opinii w aplikacji. Pamiętaj, że obiekt PlayReviewInfo jest ważny tylko przez ograniczony czas, więc aplikacja nie powinna zbyt długo czekać przed uruchomieniem procesu.

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.

Dalsze kroki

Przetestuj proces opinii w aplikacji, aby sprawdzić, czy integracja działa prawidłowo.