SDK Оценки и отзывы для Defold (версия 6.0.0)
Общие сведения
RuStore In-app Review SDK предлагает пользователю оставить оценку и отзыв о вашем приложении в RuStore, не выходя из приложения.
Пользовательский сценарий оценки и отзыва может быть запущен в любое время на протяжении всего пути пользователя в вашем приложении. Пользователь может оценить ваше приложение по шкале от 1 до 5 и оставить отзыв. Отзыв является опциональным.
Пример реализации
Ознакомьтесь с приложением-примером чтобы узнать, как правильно интегрировать SDK отзывов и оценок.
Пример пользовательского сценария
Когда запрашивать оценку и отзыв
Следуйте рекомендациям, чтобы решить, в какой момент запросить оценку и отзыв о приложении у пользователя (см. ниже).
- Запускайте процесс после того, как пользователь достаточно использовал ваше приложение.
- Не запускайте процесс слишком часто — это ухудшит опыт пользователя вашего приложения и ограничит использование SDK оценок.
- Не используйте призывы к действию, например, кнопку «Оценить приложение» — пользователь уже мог исчерпать лимит запуска процесса.
- Ваше приложение не должно задавать какие-либо вопросы пользователю перед запуском или во время процесса, в том числе вопросы об их мнении (например, «Вам нравится приложение?») или прогнозирующие вопросы (например, «Вы бы поставили этому приложению 5 звёзд?»).
Рекомендации к дизайну
Следуйте рекомендациям, чтобы решить, как интегрировать процесс.
- Отображайте процесс как есть, без какого-либо вмешательства или изменения текущего дизайна, включая размер, непрозрачность, форму и другие свойства.
- Ничего не добавляйте поверх или по краям процесса.
- Процесс должен открываться поверх всех слоёв. После запуска процесса не закрывайте его. Процесс завершится самостоятельно после явного действия пользователя.
Подключение в проект
- Скопируйте проекты плагина и при ложения-примера из официального репозитория RuStore на GitFlic.
- Скопируйте папки
review_example/extension_rustore_reviewиreview_example/extension_rustore_coreв корень вашего проекта.
Работа с оценками
Подготовка к работе с оценками
Перед вызовом методов библиотеки необходимо выполнить ее инициализацию. Для инициализации воспользуйтесь методом init().
function init(self)
rustorereview.init()
end
Подготовка к запуску оценки приложения
Вызовитеrequest_review_flow заранее, перед вызовом launch_review_flow, чтобы подготовить необходимую информацию для отображения экрана. Срок жизни ReviewInfo — около пяти минут.
Перед использованием метода необходимо единожды выполнить подписку на события:
on_request_review_flow_success;on_request_review_flow_failure.
function init(self)
rustorecore.connect("rustore_request_review_flow_success", _request_review_flow_success)
rustorecore.connect("rustore_request_review_flow_failure", _request_review_flow_failure)
-- Инициализация rustorereview
end
function _request_review_flow_success(self, channel, value)
end
function _request_review_flow_failure(self, channel, value)
local data = json.decode(value)
end
rustorereview.request_review_flow()
Обратный вызов (callback) rustore_request_review_flow_failure возвращает строку JSON с информацией об ошибке. Структура ошибки описана в разделе Обработка ошибок.
Запуск оценки приложения
Для запуска формы запроса оценки и отзыва о приложении у пользователя вызовите методlaunch_review_flow(), используя ранее полученный ReviewInfo.
Перед использованием метода необходимо единожды выполнить подписку на события:
on_request_review_flow_success;on_request_review_flow_failure.
function init(self)
rustorecore.connect("rustore_launch_review_flow_success", _launch_review_flow_success)
rustorecore.connect("rustore_launch_review_flow_failure", _launch_review_flow_failure)
-- Инициализация rustorereview
end
func _launch_review_flow_success(self, channel, value)
end
func _launch_review_flow_failure(self, channel, value)
local data = json.decode(value)
end
rustorereview.launch_review_flow()
rustore_launch_review_flow_success или rustore_launch_review_flow_failure, чтобы продолжить работу приложения.
Обратный вызов (callback) rustore_launch_review_flow_failure возвращает строку JSON с информацией об ошибке. Структура ошибки описана в разделе Обработка ошибок.
success или failure) не рекомендуется отображать какие-либо дополнительные формы, связанные с оценкой и отзывом.
Частый вызов launch_review_flow() не повлечёт за собой отображения формы оценки для пользователя, допустимое отображение регулируется на стороне RuStore.
Обработка ошибок
Возникающие ошибки можно получить в событиях*_failure.
Структура ошибки
function _on_failure(self, channel, value)
local data = json.decode(value)
local message = data.detailMessage
end
detailMessage– описание ошибки.
Возможные ошибки
RuStoreNotInstalledException— на устройстве пользователя не установлен RuStore;RuStoreOutdatedException— версия RuStore, установленная на устройстве пользователя, не поддерживает данный SDK;RuStoreUserUnauthorizedException— пользователь не авторизован в RuStore;RuStoreRequestLimitReached— с момента последнего отображения процесса прошло слишком мало времени;RuStoreReviewExists— этот пользователь уже оценил ваше приложение;RuStoreInvalidReviewInfo— проблемы сReviewInfo;RuStoreException— базовая ошибка RuStore, от которой наследуются остальные ошибки.