Pull to refresh

Google Play In-App Review API: пошаговое руководство по внедрению

Reading time 3 min
Views 14K

Летом 2020 года появилась новая классная функциональность в библиотеке Play Core — In-App Review [1]. При помощи этой фичи можно реализовать диалог с отзывом и оценкой пользователя. Это очень удобно и не ломает пользовательский сценарий. Фича полезна для повышения рейтинга и продвижения. Например, после внедрения в одном из приложений количество оценок увеличилось в 5 раз [2]. В этой статье я расскажу, как внедрить In-App Review в ваше приложение.


Руководство


Добавление зависимостей


Добавьте в ваш build.gradle следующие зависимости:


dependencies {

    implementation 'com.google.android.play:core:1.8.0'

    implementation 'com.google.android.play:core-ktx:1.8.1'

}

Реализация


Добавьте следующий код для вызова диалога оценки приложения:


private fun requestReviewFlow(activity: Activity) {

    val reviewManager = ReviewManagerFactory.create(activity)

    val requestReviewFlow = reviewManager.requestReviewFlow()

    requestReviewFlow.addOnCompleteListener { request ->

        if (request.isSuccessful) {

            val reviewInfo = request.result

            val flow = reviewManager.launchReviewFlow(activity, reviewInfo)

            flow.addOnCompleteListener {

                // Обрабатываем завершение сценария оценки

            }

        } else {

            // Обрабатываем тут ошибку

        }
    }
} 

Также, если необходимо, добавьте флаг в SharedPreference, который можно проверять в случае, если вы хотите вызывать сценарий только один раз. Нужно иметь в виду, что диалог в целом может вызваться только ограниченное количество раз [3], a также при помощи API невозможно проверить — прошел ли пользователь ревью или нет [4]. Как добавить In-App Review в Unity или нативный код, читайте в следующей документации [5], [6].


Тестирование


Протестировать сценарий In-App Review можно только, если приложение было скачано через Google Play, поэтому есть два способа проверить сценарий руками:


  1. Internal Test Track: чтобы использовать этот механизм, нужно, чтобы ваше приложение было опубликовано в Google Play Store.
  2. Internal App Sharing: относительно новый механизм распространение тестовых версий приложений, который позволяет распростронять ваши .apk (или .aab) через Google Play.

Для Unit-тестирования API предоставляет нам класс FakeReviewManager. Далее расскажу как проверить сценарий In-App Review при помощи Internal App Sharing.


Internal app sharing


После того, как вы соберете ваш .apk (или .aab) и создадите новое приложение в Google Play, перейдите в раздел Internal App Sharing:



В нем вы можете управлять настройками рассылки приложения, например, задать списки с почтами, которым разрешено скачивать .apk (или .aab):



Можно также задать настройку, чтобы все, кто обладает ссылкой, могли скачать приложение без ограничений:



После того, как мы задали настройки, переходим на форму отправки https://play.google.com/console/u/0/internal-app-sharing и загружаем .apk (или .aab):



Копируем ссылку и отправляем адресату. Далее, как же получить наш архив? Для этого заходим в приложение Google Play на телефоне, открываем настройки, кликаем пять раз по “Play Store version”, и предоставляем внутренний доступ к приложениям, нажав на свитч:



После этого можно открыть ссылку и установить приложение:



В этом режиме кнопка отправки ревью не работает:



Но проверить работу сценария все равно можно.


Итоги


Google Play Core предоставил отличный инструмент для повышения рейтинга приложений, который можно с легкостью внедрить и протестировать. Тестирование In-App Review можно проводить только с .apk, которые были скачаны и установлены через Google Play Store, например, через механизм Internal App Sharing. Размер apk при этом увеличится на 100 KB, dex файл увеличится на 200 классов и 500 методов примерно, что, возможно, порадует разработчиков-оптимизаторов apk.

Tags:
Hubs:
+8
Comments 9
Comments Comments 9

Articles