SDK Оценки и отзывы для Kotlin/Java (версия 2.0.0)
RuStore In-app Review SDK предлагает пользователю оставить оценку и отзыв о вашем приложении в RuStore, не выходя из приложения.
Пользовательский сценарий оценки и отзыва может быть запущен в любое время на протяжении всего пути пользователя в вашем приложении. Пользователь может оценить ваше приложение по шкале от 1 до 5 и оставить отзыв. Отзыв является опциональным.
Пример реализации
Ознакомьтесь с приложением-примером чтобы узнать, как правильно интегрировать SDK отзывов и оценок.
Пример пользовательского сценария
Когда запрашивать оценку и отзыв
Следуйте рекомендациям, чтобы решить, в какой момент запросить оценку и отзыв о приложении у пользователя (см. ниже).
- Запускайте процесс после того, как пользователь достаточно использовал ваше приложение.
- Не запускайте процесс слишком часто — это ухудшит опыт пользователя вашего приложения и ограничит использование SDK оценок.
- Не используйте призывы к действию, например, кнопку «Оценить приложение» — пользователь уже мог исчерпать лимит запуска процесса.
- Ваше прил ожение не должно задавать какие-либо вопросы пользователю перед запуском или во время процесса, в том числе вопросы об их мнении (например, «Вам нравится приложение?») или прогнозирующие вопросы (например, «Вы бы поставили этому приложению 5 звёзд?»).
Рекомендации к дизайну
Следуйте рекомендациям, чтобы решить, как интегрировать процесс.
- Отображайте процесс как есть, без какого-либо вмешательства или изменения текущего дизайна, включая размер, непрозрачность, форму и другие свойства.
- Ничего не добавляйте поверх или по краям процесса.
- Процесс должен открываться поверх всех слоёв. После запуска процесса не закрывайте его. Процесс завершится самостоятельно после явного действия пользователя.
Подключение в проект
- Kotlin
- Java
Подключите репозиторий (см. ниже).
repositories {
maven {
url = uri("https://artifactory-external.vkpartner.ru/artifactory/maven")
}
}
Чтобы подключить зависимости SDK необходимо добавить следующий фрагмент кода в свой конфигурационный файл.
dependencies {
implementation("ru.rustore.sdk:review:2.0.0")
}
Подключите репозиторий (см. ниже).
repositories {
maven {
url = uri("https://artifactory-external.vkpartner.ru/artifactory/maven")
}
}
Чтобы подключить зависимости SDK необходимо добавить следующий фрагмент кода в свой конфигурационный файл.
dependencies {
implementation("ru.rustore.sdk:review:2.0.0")
}
Работа с оценками
Подготовка к работе с оценками
- Kotlin
- Java
Для работы с оценками необходимо создать RuStoreReviewManager с помощью RuStoreReviewManagerFactory.
val manager = RuStoreReviewManagerFactory.create(context)
Для работы с оценками необходимо создать RuStoreReviewManager с помощью RuStoreReviewManagerFactory.
RuStoreReviewManager manager = RuStoreReviewManagerFactory.INSTANCE.create(context);
Подготовка к запуску оценки приложения
- Kotlin
- Java
requestReviewFlow заранее, перед вызовом launchReviewFlow, чтобы подготовить необходимую информацию для отображения экрана. Срок жизни ReviewInfo — около пяти минут.
manager.requestReviewFlow()
.addOnSuccessListener { reviewInfo ->
// Save reviewInfo
}
.addOnFailureListener { throwable ->
// Handling error
}
- Если получен ответ
onSuccess, то можно в течение примерно пяти минут запустить процесс запроса оценки и отзыва о приложенииLaunchReviewFlow. - Если получен ответ
onFailure, то не рекомендуется самостоятельно отображать ошибку пользователю, так как пользователь не запускал данный процесс.
requestReviewFlow заранее, перед вызовом launchReviewFlow, чтобы подготовить необходимую информацию для отображения экрана. Срок жизни ReviewInfo — около пяти минут.
manager.requestReviewFlow()
.addOnSuccessListener(reviewInfo -> {
// Save reviewInfo
})
.addOnFailureListener(throwable -> {
// Handling error
});
- Если получен ответ
onSuccess, то можно в течение примерно пяти минут запустить процесс запроса оценки и отзыва о приложенииLaunchReviewFlow. - Если получен ответ
onFailure, то не рекомендуется самостоятельно отображать ошибку пользователю, так как пользователь не запускал данный процесс.
Запуск оценки приложения
- Kotlin
- Java
launchReviewFlow(reviewInfo), используя ранее полученный ReviewInfo.
manager.launchReviewFlow(reviewInfo)
.addOnSuccessListener {
// Review flow has finished, continue your app flow.
}
.addOnFailureListener { throwable ->
// Review flow has finished, continue your app flow.
}
onSuccess или onFailure, чтобы продолжить работу приложения.
После завершения формы оценки вне зависимости от результата (onSuccess или onFailure) не рекомендуется отображать какие-либо дополнительные формы, связанные с оценкой и отзывом.
Частый вызов launchReviewFlow не повлечёт за собой отображения формы оценки для пользователя, допустимое отображение регулируется на стороне RuStore.
launchReviewFlow(reviewInfo), используя ранее полученный ReviewInfo.
manager.launchReviewFlow(reviewInfo)
.addOnSuccessListener(unit -> {
// Review flow has finished, continue your app flow.
})
.addOnFailureListener(throwable -> {
// Review flow has finished, continue your app flow.
});
onSuccess или onFailure, чтобы продолжить работу приложения.
После завершения формы оценки вне зависимости от результата (onSuccess или onFailure) не рекомендуется отображать какие-либо дополнительные формы, связанные с оценкой и отзывом.
Частый вызов launchReviewFlow не повлечёт за собой отображения формы оценки для пользователя, допустимое отображение регулируется на стороне RuStore.
Обработка ошибок
Возникающие ошибки можно получить в событияхonFailure.
RuStoreNotInstalledException— на устройстве пользователя не установлен RuStore;RuStoreOutdatedException— версия RuStore, установленная на устройстве пользователя, не поддерживает данный SDK;RuStoreUserUnauthorizedException— пользователь не авторизован в RuStore;RuStoreUserBannedException— пользователь заблокирован в RuStore;RuStoreApplicationBannedException— приложение заблокировано в RuStore;RuStoreRequestLimitReached— с момента последнего отображения процесса прошло слишком мало времени;RuStoreReviewExists— этот пользователь уже оценил ваше приложение;RuStoreInvalidReviewInfo— проблемы сReviewInfo;RuStoreException— базовая ошибка RuStore, от которой наследуются остальные ошибки.