Краткий обзор. Дополнительные возможности SDK для реализации API, например, для измерения удалений, атрибуции приглашений пользователей, push-уведомлений и настройки конфиденциальности.
Материалы по теме
Чтобы получить полное представление об интеграции плагина для Unity в приложения, ознакомьтесь со следующими статьями:
- Руководство по интеграции плагина для Unity V6: обзор
- Руководство по интеграции плагина для Unity V6: базовая интеграция SDK
- Руководство по интеграции плагина для Unity V6: интеграция дополнительных средств SDK (эта статья)
- Руководство по интеграции плагина для Unity V6: справочник по API
Атрибуция
Измерение количества удалений приложений
Измеряйте количество удалений приложения пользователями, привлеченными из различных источников.
Чтобы настроить измерение количества удалений, обратитесь к инструкциям для соответствующей операционной системы.
- Скачайте Firebase SDK для Unity по адресу: https://firebase.google.com/docs/unity/setup.
- Импортируйте FirebaseMessaging.unitypackage в проект.
- Импортируйте в проект google-services.json, полученный в консоли Firebase
Примечание
SDK Unity Firebase автоматически добавляет получателей манифеста.
- Добавьте следующий код в класс Unity, управляющий кодом AppsFlyer:
using Firebase.Messaging; using Firebase.Unity;
- Добавьте в Start() method:
Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
- Добавьте этот метод:
public void OnTokenReceived(object sender, Firebase.Messaging.TokenReceivedEventArgs token)
{
#if UNITY_ANDROID
AppsFlyerAndroid.updateServerUninstallToken(token.Token);
#endif
}
Руководство по измерению количества удалений для устройств на Android
Предупреждение
Сценарий. Внедрение SDK Unity Firebase.
Требование: Не добавляйте следующий вызов метода для enableUninstallTracking (“SenderID”), если вы добавили в ваш проект SDK Firebase Unity.
В противном случае произойдет следующее:
- SDK Firebase Unity получит идентификатор отправителя из файла google-services.json, который был добавлен ранее.
- В этом случае Android может выдать предупреждение об отладке.
Токен устройства можно получить от UnityEngine.iOS.NotificationServices.deviceToken.
Вызывайте этот метод при получении токена устройства (проблемы с содержимым вкладки):
AppsFlyer.registerUninstall("device_push_notification_token");
Пример:
using AppsFlyerSDK;
public class AppsFlyerObjectScript : MonoBehaviour, IAppsFlyerConversionData
{
private bool tokenSent;
void Start()
{
AppsFlyer.initSDK("devKey", "appID", this);
AppsFlyer.startSDK();
#if UNITY_IOS
UnityEngine.iOS.NotificationServices.RegisterForNotifications(UnityEngine.iOS.NotificationType.Alert | UnityEngine.iOS.NotificationType.Badge | UnityEngine.iOS.NotificationType.Sound);
#endif
}
void Update()
{
#if UNITY_IOS
if (!tokenSent)
{
byte[] token = UnityEngine.iOS.NotificationServices.deviceToken;
if (token != null)
{
AppsFlyeriOS.registerUninstall(token);
tokenSent = true;
}
}
#endif
}
}
Подробные сведения см. в нашем гайде Удалений для iOS.
Настройка дополнительных пользовательских данных
Для интеграции на уровне плагина с несколькими внешними партнерскими платформами (включая Segment, Adobe и Urban Airship), необходимо использовать API setAdditionalData
.
Используйте этот API, только если в руководстве по интеграции партнера явно указано, что требуется API setAdditionalData
.
Пример: код для setAdditionalData
Dictionary<string, string> CustomDataMap = new Dictionary<string, string>();
CustomDataMap.Add("custom_param_1", "value_of_param_1");
AppsFlyer.setAdditionalData(CustomDataMap);
Sessions (Сеансы)
Настройка временного интервала между сеансами
По умолчанию две сессии учитываются как отдельные, если между запусками приложения прошло не менее 5 секунд. Чтобы установить минимальный интервал между сессиями:
AppsFlyer.setMinTimeBetweenSessions(custom_time_ins_seconds);
Внимание! Установка большого значения интервала между запусками может отрицательно сказаться на работе API, которые используют данные сеансов, например, для диплинкинга.
См. дополнительную информацию о подсчете сеансов.
Фоновые сеансы для служебных приложений
Недоступно в Unity.
Собственные каналы взаимодействия
Разрешение упакованных URL-адресов глубинных ссылок
Некоторые сторонние службы (например, поставщики услуг электронной почты):
- Упаковывают ссылки в сообщениях электронной почты, используя свои собственные домены регистрации кликов.
- Позволяют вам настраивать ваши собственные домены регистрации кликов.
Упаковка ссылки OneLink в такие домены может привести к ограничению ее функциональных возможностей. Чтобы обойти это:
- Вызовите API
setResolveDeepLinkURLs
перед инициализацией SDK. - API получает ссылки OneLink от доменов кликов, которые запускают приложение.
Сценарий: домены регистрации кликов выполняют перенаправление на ссылку OneLink по адресу https://mysubdomain.onelink.me/abCD.
Решение:
- Используйте API
setResolveDeepLinkURLs
для получения ссылки OneLink, на которую домены регистрации кликов перенаправляют пользователя приложения. - Этот метод API получает список доменов, разрешение которых выполняет плагин.
- Следующий код позволит вам использовать домен регистрации кликов, сохраняя при этом функциональные возможности OneLink:
Пример
AppsFlyer.setResolveDeepLinkURLs("example.com", "click.example.com");
Теперь используйте данные из ссылки OneLink для диплинкинга и персонализации пользовательского контента.
Регистрация push-уведомлений
Регистрируйте push-уведомления при проведении кампаний по ретаргетингу.
Для регистрации push-уведомлений:
- Вызовите метод
sendPushNotificationData
. - Этот метод содержится в методе
onCreate
для каждой активности, которая запускается после клика на уведомлении:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyerAndroid.handlePushNotifications();
#endif
Более подробные сведения об измерении push-уведомлений см. здесь.
Атрибуция приглашений пользователей
Если имеющиеся пользователи приложения будут приглашать своих друзей и знакомых в качестве новых пользователей, это может быть источником роста.
Атрибутируйте и регистрируйте установки, источником которых являются приглашения, отправленные пользователями из вашего приложения. Атрибуция приглашений пользователей.
Атрибуция кампаний перекрестной рекламы
Перекрестная реклама приложений может стимулировать дополнительные установки.
Атрибутируйте и регистрируйте установки, источником которых является перекрестная реклама одного из ваших приложений в другом вашем же приложении, запущенном пользователем. Атрибуция кампаний перекрестной рекламы.
Идентификаторы пользователей
Получение AppsFlyer ID
Идентификатор AppsFlyer ID создается для каждой новой установки приложения. Используйте AppsFlyer ID, чтобы:
- Отправляйте внутренние события приложения от сервера к серверу.
- Сопоставлять его с данными пользователей в ваших back-end системах.
- Сопоставляйте записи при объединении данных из Pull API и Push API.
Чтобы получить уникальный AppsFlyer ID:
string AppsFlyerUID = AppsFlyer.getAppsFlyerId();
Установка Customer User ID
Установите свой уникальный ID пользователя (CUID) и свяжите его с уникальным AppsFlyer ID.
Уникальный CUID:
- Его можно посмотреть в CSV-отчетах AppsFlyer по необработанным данным.
- Он может использоваться в API постбэков для связывания внутренних идентификаторов.
Чтобы настроить CUID, используйте:
AppsFlyer.setCustomerUserId("someId");
Рекомендуется! Установите CUID на раннем этапе продвижения приложения — он будет связываться с включаемыми в отчеты событиями только с момента его настройки.
Вызовите setCustomerUserId
до вызова startSDK
- Зарегистрированные события будут связаны с CUID.
- Связанные данные появятся в отчетах необработанных данных по установкам и событиям.
AppsFlyer.setCustomerUserId("someId");
Получить идентификатор пользователя
Дополнительная информация: см. CUID.
Задержка инициализации плагина для идентификатора customerUserID
Установите идентификатор пользователя (CUID) и только после этого инициализируйте плагин. Это полезно, если вы хотите, чтобы идентификатор пользователя содержался в ваших данных об установках и событиях.
Воспользуйтесь следующими инструкциями операционной системы:
Предупреждение
Откладывайте установку CUID только в случае, когда это соответствует вашей бизнес-логике. Если вы отложите установку CUID, это может увеличить вероятность несоответствия и может сделать ваше приложение уязвимым для мошенников.
Сбор OAID
OAID — один из уникальных идентификаторов устройства, позволяющий проводить атрибуцию.
Для сбора OAID:
По умолчанию OAID собирается автоматически. Чтобы отказаться, вызовите AppsFlyerAndroid.setCollectOaid(false);
.
- Загрузите AAR, предоставленный альянсом MSA.
- Добавьте загруженный aar в папку Assets/Plugins/Android.
- Для устройств Huawei добавьте библиотеку
hms-ads-identifier
в папку Assets/Plugins/Android. - Добавьте appsflyer-oaid к вашему проекту. Это можно сделать, добавив aar в папку Assets/Plugins/Android или добавив следующий код в Assets/AppsFlyer/Editor/AppsFlyerDependencies.xml:
<androidPackage spec="com.appsflyer:oaid:5.2.0">
</androidPackage>
Конфиденциальность данных пользователей
Отказ от использования данных
Различные сценарии, такие, как несоблюдение правовых норм и требований по обеспечению конфиденциальности, могут привести к решению об отказе от использования данных и прекращению регистрации (отслеживания).
Практические рекомендации! Следуйте в точности инструкциям для сценария, применимого для вашего приложения.
Чтобы прекратить отслеживание:
- Вызовите stopSDK и установите значение true.
AppsFlyer.stopSDK(true);
- Плагин прекратит работу и обмен данными с серверами AppsFlyer.
Чтобы возобновить отслеживание: вызовите stopSDK и установите значение "false".
Внимание
Используйте API stopSDK, если требуется полностью прекратить отслеживание действий конкретного пользователя приложения. Использование этого API существенно влияет на атрибуцию, сбор данных и механизм диплинкинга.
Анонимизация пользовательских данных
Чтобы анонимизировать пользователя приложения:
- Установите API в течение установки SDK
- Вызовите
anonymizeUser
и установите значение true.
AppsFlyer.anonymizeUser(true);
- Установки, события и сессии анонимизированы.
Чтобы возобновить отслеживание: вызовите anonymizeUser
и установите значение false.
Предупреждение
Анонимизация пользователей существенно влияет на данные атрибуции. Используйте этот параметр только для регионов, в которых законодательно запрещен сбор информации о пользователях.Прекратить предоставлять данные партнерам
В некоторых случаях рекламодатели должны прекратить передачу рекламным сетям / партнерам данных по определенным пользователям. Причины могут быть следующие:
- Политики конфиденциальности, такие как CCPA или GDPR.
- Отказ пользователей от предоставления данных
- Конкуренция с некоторыми партнерами (рекламными сетями, третьими сторонами)
AppsFlyer предоставляет два метода API для прекращения обмена данными с некоторыми или всеми партнерами:
- setSharingFilter. Используется рекламодателями, чтобы задать несколько сетей/интегрированных партнеров, которым нужно прекратить предоставлять данные.
- setSharingFilterForAllPartners. Используется рекламодателями, чтобы прекратить предоставлять данные всем сетям/интегрированным партнерам.
Эти методы фильтрации поддерживаются в SDK начиная с версии V5.4.1.
Метод фильтрации должен вызываться при каждой инициализации SDK, он влияет на всю сессию. Если требуется время, чтобы определить, нужно ли устанавливать фильтры общего доступа, то отложите инициализацию SDK.
Если метод активирован до первого вызова startSDK:
- Пользователи из SRN атрибутируются как органические, и их данные не передаются интегрированным партнерам.
- Пользователи по кликам из рекламных сетей (не SRN) правильно атрибутируются в AppsFlyer, но их данные не передаются в рекламные сети через постбэки, API, отчеты по сырым данным или каким-либо другим способом.
В настоящее время данные об удалении приложения нельзя фильтровать с помощью этих методов. Однако вы можете прекратить отправку событий удаления партнерам, настроив это на их страницах настройкив AppsFlyer.