SDK Install Referrer для Kotlin (версия 7.0.0)
SDK Install referrer — инструмент атрибуции для рекламных и аналитических систем. Он позволяет отслеживать количество установок вашего приложения, загруженных из RuStore по рекламным ссылкам.
RuStore принимает ссылки вида https://www.rustore.ru/catalog/app/com.packagename.yourapp?referrerId=<referrer>
.
Когда пользователь переходит по рекламной ссылке и запускает установку приложения, RuStore сохраняет значение referrer
из этой ссылки.
SDK обращается к RuStore, запрашивает значение referrer
и передаёт его в ваше приложение в параметре InstallReferrer
.
Таким образом приложение получает информацию о том, что при переходе по определённой рекламной ссылке была выполнена установка.
После того как RuStore передаёт SDK значение referrer
, оно удаляется из RuStore.
Даже если SDK не запросил referrer
, это значение хранится в RuStore только 10 дней, после чего удаляется.
Подключение в проект
Добавление репозитория
repositories {
maven {
url = uri("https://artifactory-external.vkpartner.ru/artifactory/maven")
}
}
Подключение зависимости
dependencies {
implementation("ru.rustore.sdk:installreferrer:7.0.0")
}
Создание InstallReferrerClient
Для работы с referrer
создайте InstallReferrerClient
при помощи конструктора класса:
val client = InstallReferrerClient(context)
Получение объекта InstallReferrer
Вызовите getInstallReferrer()
, чтобы получить InstallReferrer
:
client.getInstallReferrer().addOnCompleteListener(object : OnCompleteListener<InstallReferrer> {
override fun onFailure(throwable: Throwable) {
// Handle error
}
override fun onSuccess(result: InstallReferrer) {
// Save InstallReferrer
}
})
-
При ответе
onSuccess
сохраните значениеInstallReferrer
в вашем приложении, если вы планируете его использовать. При повторном запросе вместо значенияInstallReferrer
вернётсяnull
.примечаниеInstallReferrer
принимает значениеnull
, если:- приложение было установлено без передачи
referrer
; InstallReferrer
уже запрашивался ранее;- с того момента, как RuStore получил
referrer
, прошло 10 или более суток.
- приложение было установлено без передачи
-
При ответе
onFailure
обработайте ошибку в соответствии с логикой вашего приложения. Все возможные ошибки описаны ниже.
Методы ответов класса Task addOnCompletionListener()
, addOnSuccessListener()
и addOnFailureListener
позволяют отлавливать результаты:
addOnCompletionListener()
— оба результата: и успешный и с ошибкой.addOnSuccessListener()
— только успешный результат.addOnFailureListener()
— только результат с ошибкой.
Подробнее об этих методах — в статье Task API.
Возможные ошибки
-
RuStoreNotInstalledException
— на устройстве пользователя не установлен RuStore. -
RuStoreOutdatedException
— версия RuStore, установленная на устройстве пользователя, не поддерживает данный SDK. -
RuStoreException
— базовая ошибка RuStore, от которой наследуются остальные ошибки.