В этом руководстве описывается, как интегрировать внутренние обзоры в ваше приложение с помощью Unity. Существуют отдельные руководства по интеграции, если вы используете Kotlin, Java или собственный код .
Обзор Unity SDK
Play In-App Review API является частью семейства Play Core SDK . API для Unity предлагает класс ReviewManager
для запроса и запуска потока с помощью методов RequestReviewFlow
и LaunchReviewFlow
. После отправки запроса ваше приложение может проверить статус запроса с помощью ReviewErrorCode
.
Настройте среду разработки
OpenUPM-CLI
Если у вас установлен интерфейс командной строки OpenUPM, вы можете установить реестр OpenUPM с помощью следующей команды:
openupm add com.google.play.review
ОпенУПМ
Откройте настройки менеджера пакетов , выбрав пункт меню Unity Edit > Project Settings > Package Manager .
Добавьте 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
Откройте меню диспетчера пакетов , выбрав пункт меню Unity «Окно» > «Диспетчер пакетов» .
Установите раскрывающийся список области менеджера, чтобы выбрать «Мои реестры» .
Выберите плагин Google Play Integrity для пакета Unity из списка пакетов и нажмите «Установить» .
Импорт из GitHub
Загрузите последнюю версию
.unitypackage
с GitHub.Импортируйте файл
.unitypackage
, выбрав пункт меню Unity «Активы» > «Импортировать пакет» > «Пользовательский пакет» и импортировав все элементы.
Создайте менеджер отзывов
Создайте экземпляр ReviewManager
, который будет обрабатывать связь между вашим приложением и API.
// 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 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.
Следующие шаги
Проверьте процесс проверки вашего приложения внутри приложения , чтобы убедиться, что ваша интеграция работает правильно.