Интегрируйте обзоры в приложении (Unity)

В этом руководстве описывается, как интегрировать отзывы в ваше приложение с помощью Unity. Существуют отдельные руководства по интеграции для случаев использования Kotlin или Java , нативного кода или Unreal Engine .

Обзор Unity SDK

API для внутриигровых отзывов Play является частью семейства SDK Play Core . API для Unity предлагает класс ReviewManager для запроса и запуска процесса с помощью методов RequestReviewFlow и LaunchReviewFlow . После отправки запроса ваше приложение может проверить его статус с помощью ReviewErrorCode .

Настройте среду разработки.

OpenUPM-CLI

Если у вас установлен OpenUPM CLI , вы можете установить реестр OpenUPM с помощью следующей команды:

openupm add com.google.play.review

OpenUPM

  1. Откройте настройки менеджера пакетов , выбрав в меню Unity пункт «Редактировать» > «Настройки проекта» > «Менеджер пакетов» .

  2. Добавьте OpenUPM в качестве объекта реестра с ограниченной областью видимости в окно диспетчера пакетов:

    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. Откройте меню менеджера пакетов , выбрав в меню Unity пункт «Окно» > «Менеджер пакетов» .

  4. В раскрывающемся списке «Область действия менеджера» выберите «Мои реестры» .

  5. Выберите из списка пакетов плагин Google Play Integrity для Unity и нажмите «Установить» .

Импорт из GitHub

  1. Загрузите последнюю версию .unitypackage с GitHub.

  2. Импортируйте файл .unitypackage , выбрав в меню Unity пункт Assets > Import package > Custom Package и импортировав все элементы.

Создайте менеджер отзывов.

Создайте экземпляр ReviewManager , который будет обрабатывать обмен данными между вашим приложением и API Google Play.

using Google.Play.Review;

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

Запросить объект ReviewInfo

Следуйте рекомендациям о том, когда запрашивать отзывы внутри приложения, чтобы определить удачные моменты в пользовательском сценарии вашего приложения, когда пользователю следует предложить оставить отзыв (например, после того, как пользователь закроет экран с итоговой информацией в конце уровня игры). Когда ваше приложение приблизится к одному из этих моментов, используйте экземпляр ReviewManager для создания асинхронной операции, как показано в следующем примере:

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

Если вызов выполнен успешно, API возвращает объект PlayReviewInfo , необходимый вашему приложению для запуска процесса отзыва внутри приложения. В примере вызов выполняется внутри сопрограммы для выполнения асинхронной операции (это не блокирует основной поток). Поскольку вызов выполняется асинхронно, он может занять до нескольких секунд, поэтому вашему приложению следует выполнить вызов до того момента в пользовательском потоке, когда вы хотите показать отзыв внутри приложения.

Запустите процесс написания отзывов внутри приложения.

После получения экземпляра PlayReviewInfo ваше приложение может запустить процесс написания отзывов внутри приложения. Обратите внимание, что объект PlayReviewInfo действителен только в течение ограниченного времени, поэтому вашему приложению не следует слишком долго ждать перед запуском процесса.

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.

Следующие шаги

Проверьте процесс написания отзывов внутри приложения, чтобы убедиться в корректной работе интеграции.