Integracja opinii w aplikacji (Unreal Engine)

Z tego przewodnika dowiesz się, jak zintegrować w swojej aplikacji opinie w aplikacji za pomocą Unreal Engine. Jeśli używasz Kotlin lub Java, kodu natywnego lub Unity, możesz skorzystać z osobnych przewodników dotyczących integracji.

Omówienie pakietu Unreal Engine SDK

Interfejs Play In-App Review API należy do rodziny pakietów SDK Play Core. Interfejs API Unreal Engine udostępnia klasę UInAppReviewsManager, która umożliwia żądanie i uruchamianie przepływu za pomocą metod RequestReviewFlowLaunchReviewFlow. Po wysłaniu prośby aplikacja może sprawdzić jej stan za pomocą funkcji EInAppReviewErrorCode.

Obsługiwane wersje Unreal Engine

Wtyczka obsługuje Unreal Engine 5.0 i wszystkie kolejne wersje.

Konfigurowanie środowiska programistycznego

Konfiguracja

  1. Pobierz wtyczkę Play do Unreal Engine z repozytorium GitHub.

  2. Skopiuj folder GooglePlay w folderze Plugins w projekcie Unreal Engine.

  3. Otwórz projekt Unreal Engine i kliknij Edytuj → Wtyczki.

  4. Wyszukaj Google Play i zaznacz pole wyboru Włączone.

  5. Ponownie uruchom projekt gry i utwórz wersję.

  6. Otwórz plik Build.cs projektu i dodaj moduł PlayInAppReviews do pliku PublicDependencyModuleNames:

    using UnrealBuildTool;
    
    public class MyGame : ModuleRules
    {
      public MyGame(ReadOnlyTargetRules Target) : base(Target)
      {
        // ...
    
        PublicDependencyModuleNames.Add("PlayInAppReviews");
    
        // ...
      }
    }
    

Prośba o przesłanie procesu sprawdzania w aplikacji

Aby określić odpowiednie momenty w przebiegu użytkownika aplikacji, w których należy poprosić o opinię (np. gdy użytkownik zamknie ekran podsumowania na końcu poziomu w grze), postępuj zgodnie z wskazówkami dotyczącymi czasu wysyłania prośby o opinię w aplikacji. Gdy aplikacja zbliża się do jednego z tych punktów, użyj operacji UInAppReviewsManager create, jak w tym przykładzie:

MyClass.h

void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
  // ...
}

MyClass.cpp

void MyClass::RequestReviewFlow()
{
  // Create a delegate to bind the callback function.
  FReviewOperationCompletedDelegate Delegate;

  // Bind the completion handler (OnReviewOperationCompleted) to the delegate.
  Delegate.BindDynamic(this, &MyClass::OnReviewOperationCompleted);

  // Initiate the review flow, passing the delegate to handle the result.
  GetGameInstance()
    ->GetSubsystem<UInAppReviewsManager>()
    ->RequestReviewFlow(Delegate);
}
  1. Metoda tworzy obiekt FRreviewOperationCompletedDelegate, aby obsłużyć zakończenie operacji sprawdzania.

  2. Delegat jest powiązany z metodą OnReviewOperationCompleted, która zostanie wywołana po zakończeniu operacji.

  3. Funkcja BindDynamic zapewnia, że delegowany obiekt jest prawidłowo powiązany z wywołaniem zwrotnym.

  4. Metoda RequestReviewFlow(Delegate) uruchamia proces sprawdzania, przekazując delegowanie do obsługi wyniku.

  5. Operacja sprawdzania jest wykonywana asynchronicznie, co pozwala innym zadaniom w aplikacji na kontynuowanie działania w trakcie jej wykonywania.

  6. Po zakończeniu operacji wywołanie zwrotne OnReviewOperationCompleted przetwarza wynik, w tym informacje o powodzeniu lub niepowodzeniu.

Uruchamianie procesu weryfikacji w aplikacji

Po zakończeniu operacji RequestReviewFlow możesz uruchomić proces weryfikacji w aplikacji. Aby to zrobić, należy powiązać delegowanie do obsługi zdarzenia zakończenia, co zapewni, że aplikacja zareaguje na wynik (powodzenie lub niepowodzenie) żądania sprawdzenia.

MyClass.h

void MyClass::OnReviewOperationCompleted(EInAppReviewErrorCode ErrorCode)
{
  // ...
}

MyClass.cpp

void MyClass::LaunchReviewFlow()
{
  // Create a delegate to bind the callback function.
  FReviewOperationCompletedDelegate Delegate;

  // Bind the completion handler (OnReviewOperationCompleted) to the delegate.
  Delegate.BindDynamic(this, &MyClass::OnReviewOperationCompleted);

  // Launch the review flow, passing the delegate to handle the result.
  GetGameInstance()
    ->GetSubsystem<UInAppReviewsManager>()
    ->LaunchReviewFlow(Delegate);
}

Dalsze kroki

Sprawdź proces weryfikacji w aplikacji, aby upewnić się, że integracja działa prawidłowo.