Перейти к основному содержимому

SDK Install Referrer для Unity (версия 10.2.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 дней, после чего удаляется.

Подключение в проект

Для подключения скачайте со страницы релизов пакеты:

  • ru.rustore.core-version.tgz
  • ru.rustore.installreferrer-version.tgz

Импортируйте пакеты в проект через Package Manager (Window → Package Manager → + → Add package from tarball...).

подсказка

Если вы используете операционную систему macOS, измените настройки утилиты архивации. В настройках Archive Utility снимите флажок Keep expanding if possible. В противном случае архив проекта будет скачан некорректно.

Для корректной обработки зависимостей SDK выполните следующие настройки.

  1. Откройте настройки проекта: Edit → Project Settings → Player → Android Settings.

  2. В pазделе Publishing Settings включите следующие настройки.

    • Custom Main Manifest.
    • Custom Main Gradle Template.
    • Custom Gradle Properties Template.
  3. В разделе Other Settings настройте:

    • package name.
    • Minimum API Level = 24.
    • Target API Level = 34.

Решение зависимостей

Зависимости Android-сборки подключаются автоматически с помощью инструмента External Dependency Manager.

Для автоматического решения зависимостей воспользуйтесь командой: Assets → External Dependency Manager → Android Resolver → Force Resolve. Эту операцию следует выполнять каждый раз при добавлении новых версий плагинов или пересоздании файлов Assets / Plugins / Android / mainTemplate.gradle и Assets / Plugins / Android / settingsTemplate.gradle.

  • При установке плагинов RuStore через *.unitypackage External Dependency Manager не требует специальной установки.

  • При установке плагинов RuStore через Package Manager выполните следующие действия:

    • Откройте вкладку плагина RuStore Core в окне менеджера пакетов: Window → Package Manager → Packages RuStore → RuStore Core.
    • Перейдите на вкладку Samples.
    • Импортируйте сэмпл External Dependency Manager.
  • Последнюю версию External Dependency Manager также можно получить из репозитория разработчика на GitHub:

    • Откройте окно менеджера пакетов: Window → Package Manager → + → Add package from git URL....
    • Используйте ссылку https://github.com/googlesamples/unity-jar-resolver.git?path=/upm для подключения пакета.
    • Для устранения ошибки "Google.IOSResolver.dll will not be loaded" установите модуль сборки iOS для вашей версии Unity: UnityHub → Installs → Ваша версия Unity → Add modules → iOS Build Support.
Ошибка Google.IOSResolver.dll
Assembly 'Packages/com.google.external-dependency-manager/ExternalDependencyManager/Editor/1.2.182/Google.IOSResolver.dll' will not be loaded due to errors:
Unable to resolve reference 'UnityEditor.iOS.Extensions.Xcode'. Is the assembly missing or incompatible with the current platform?
Reference validation can be disabled in the Plugin Inspector.

Инициализация

Перед вызовом методов библиотеки необходимо инициализировать синглтон клиента.

Инициализация InstallReferrerClient
InstallReferrerClient.Instance.Init();

Получение объекта InstallReferrer

Вызовите GetInstallReferrer(), чтобы получить InstallReferrer:

Вызов метода GetInstallReferrer
InstallReferrerClient.Instance.GetInstallReferrer(
onFailure: (error) => {
// Process error
},
onSuccess: (result) => {
// Process result
});
})
  • При ответе onSuccess сохраните значение InstallReferrer в вашем приложении, если вы планируете его использовать. При повторном запросе вместо значения InstallReferrer вернётся null.

    примечание

    InstallReferrer принимает значение null, если:

    • Приложение было установлено без передачи referrer.
    • InstallReferrer уже запрашивался ранее.
    • С того момента, как RuStore получил referrer, прошло 10 или более суток.
  • При ответе onFailure обработайте ошибку в соответствии с логикой вашего приложения. Все возможные ошибки описаны в разделе Возможные ошибки.

Класс InstallReferrer
public class InstallReferrer {

public long installAppTimestamp { get; }
public string packageName { get; }
public long receivedTimestamp { get; }
public string referrerId { get; }
public long? versionCode { get; }

...
  • installAppTimestamp — время установки приложения в виде метки времени.
  • packageName — имя пакета приложения.
  • receivedTimestamp — время получения данных о реферере в виде метки времени.
  • referrerId — идентификатор реферера.
  • versionCode — версия кода приложения, если доступна.

Передача информации в ВК Реклама Full Stream Attribution

Full Stream Attribution — технология, которая обеспечивает практически мгновенную передачу пользовательских сигналов от рекламодателя в систему оптимизации VK Рекламы. Это позволяет модели буквально в режиме реального времени корректировать стратегию показа и с высокой точностью попадать в интересы конкретного пользователя.

SDK RuStore Install referrer начиная с версии 10.0.0 имеет возможность передавать номер телефона авторизовавшегося пользователя в систему Full Stream Attribution.

к сведению

Передача номера телефона не является обязательной и не работает, если явно не включить данный функционал в SDK.

Для передачи номера телефона в SDK используйте следующий метод:

Вызов метода SendAuthEvent
var phoneNumber = new PhoneNumber("1234567890");
var authEvent = new AuthEvent(phoneNumber, "authToken");

InstallReferrerClient.Instance.SendAuthEvent(
authEvent,
onFailure: (error) => {
// Обработка ошибки
},
onSuccess: () => {
// Событие успешно отправлено
}
);

Для отправки номера телефона в систему Full Stream Attribution необходимо передать в SDK токен авторизации (authToken).

подсказка

Токен авторизации authToken необходимо запросить у менеджера VK Рекламы.

SDK осуществляет передачу номера телефона и токена авторизации на сервер VK Рекламы.

Возможные ошибки

  • RuStoreNotInstalledException — на устройстве пользователя не установлен RuStore.

  • RuStoreOutdatedException — версия RuStore, установленная на устройстве пользователя, не поддерживает данный SDK.

  • RuStoreException — базовая ошибка RuStore, от которой наследуются остальные ошибки.

  • InstallReferrerException.ClientNotCreated — ошибка создания клиента Install Referrer.