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 RequestReviewFlow i LaunchReviewFlow. 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.reviewOpenUPM
Otwórz ustawienia menedżera pakietów, wybierając w menu Unity opcję Edit > Project Settings > Package Manager.
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.reviewOtwórz menu menedżera pakietów, wybierając opcję menu Unity Window > Package Manager (Okno > Menedżer pakietów).
W menu Zakres menedżera wybierz Moje rejestry.
Na liście pakietów wybierz pakiet Google Play Integrity plugin for Unity i kliknij Install (Zainstaluj).
Importuj z GitHuba
Pobierz najnowszą wersję
.unitypackagez GitHuba.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.