Руководство по интеграции плагина для Unity V6: справочник по API

Краткий обзор. Техническое описание классов и методов, включенных в SDK AppsFlyer. 

 Материалы по теме

Чтобы получить полное представление об интеграции плагина для Unity в приложения, ознакомьтесь со следующими статьями:

API для Android и iOS

initSDK

Описание

Инициализируйте плагин с помощью ключа разработчика и идентификатора приложения. Ключ разработчика требуется для всех приложений. Идентификатор приложения требуется только для iOS. Если ваше приложение предназначено только для Android, передайте значение null для идентификатора приложения.Игровой объект содержит интерфейс IAppsFlyerConversionData.

Сигнатура метода

void initSDK(string devKey, string appID, MonoBehaviour gameObject)

Пример

AppsFlyer.initSDK("dev_key", "app_id"); // без диплинкинга
            AppsFlyer.initSDK("dev_key", "app_id", this); // с диплинкингом

startSDK

Описание

После вызова этого API запускается SDK, сеансы будут немедленно отправлены, и все переходы из фонового режима в активный будут записываться как сеанс.

Сигнатура метода

void startSDK()

Пример

AppsFlyer.startSDK();

sendEvent

Описание

Для регистрации внутренних событий приложения используется вызов функции sendEvent с именем события и значениями параметров.

Сигнатура метода

void sendEvent(string eventName, Dictionary<string, string> eventValues)

Пример

Dictionary<string, string> 
            eventValues = new Dictionary<string, string>();
            eventValues.Add(AFInAppEvents.CURRENCY, "USD");
            eventValues.Add(AFInAppEvents.REVENUE, "0.99");
            eventValues.Add("af_quantity", "1");
            AppsFlyer.sendEvent(AFInAppEvents.PURCHASE, eventValues);

stopSDK

Описание

В исключительных случаях может потребоваться полное отключение всех функций SDK для соблюдения требований регуляторов и правил конфиденциальности. Для этого используйте API stopSDK. После вызова этого API пакет SDK завершит обмен данными с серверами AppsFlyer и перестанет функционировать.

Сигнатура метода

void stopSDK(bool isSDKStopped)

Пример

AppsFlyer.stopSDK(true);

isSDKStopped

Описание

Значением API stopSDK является "true".

Сигнатура метода

bool isSDKStopped()

Пример

if (!AppsFlyer.isSDKStopped())
{

}

getSdkVersion

Описание

Получить версию AppsFlyer SDK

Сигнатура метода

string getSdkVersion()

Пример

string version = AppsFlyer.getSdkVersion();

setIsDebug

Описание

Включение журналов отладки.

Сигнатура метода

void setIsDebug(bool shouldEnable)

Пример

AppsFlyer.setIsDebug(true);

Установка Customer User ID

Описание

Настройка идентификатора пользователя (CUID). 

Сигнатура метода

void setCustomerUserId(string id)

Пример

AppsFlyer.setCustomerUserId("custom_user_id");

setAppInviteOneLink

Описание

Установка идентификатора шаблона OneLink, который используется для создания настраиваемых ссылок атрибуции для приглашений пользователей.

Сигнатура метода

setAppInviteOneLinkID(string oneLinkId)

Пример

AppsFlyer.setAppInviteOneLinkID("abcd");

setAdditionalData

Описание

Добавление дополнительных данных для отправки на внешние партнерские платформы.

Сигнатура метода

setAdditionalData(Dictionary<string, string> customData)

Пример

Dictionary<string, string> customData = new Dictionary<string, string>();
customData.Add("custom1", "someData");
AppsFlyer.setAdditionalData(customData);

setResolveDeepLinkURLs

Описание

Получение ссылки OneLink от доменов регистрации кликов. Дополнительную информацию см. в разделе о разрешении упакованных URL диплинков.

Сигнатура метода

setResolveDeepLinkURLs(params string[] urls)

Пример

AppsFlyer.setResolveDeepLinkURLs("example.com", "click.example.com");

setOneLinkCustomDomain

Описание

Рекламодатели могут использовать этот метод для настройки уникальных доменов OneLink.

Сигнатура метода

void setOneLinkCustomDomain(params string[] domains)

Пример

AppsFlyer.setOneLinkCustomDomain("test.domain", "test2.domain");

setcurrencyCode

Описание

Используйте для событий с доходом. Принимаются коды валют ISO.

Сигнатура метода

public void setCurrencyCode(String currencyCode);

Пример

AppsFlyer.setCurrencyCode("GBP");

recordLocation

Описание

Зарегистрируйте местоположение пользователя вручную

Сигнатура метода

void recordLocation(double latitude, double longitude)

Пример

AppsFlyer.recordLocation(40.7128, 74.0060);

anonymizeUser

Описание

Используйте во время инициализации для явной анонимизации установок, событий и сеансов пользователя. Чтобы прекратить анонимизацию, вызовите anonymizeUser и установите значение "false".

Сигнатура метода

void anonymizeUser(bool shouldAnonymizeUser)

Пример

AppsFlyer.anonymizeUser(true);

getAppsFlyerId

Описание

Чтобы получить уникальный идентификатор AppsFlyer для новой установки.

Сигнатура метода

string getAppsFlyerId()

Пример

string uid = AppsFlyer.getAppsFlyerId();

setMinTimeBetweenSessions

Описание

По умолчанию два сеанса учитываются как отдельные, если между запусками приложения прошло не менее 5 секунд. Задайте желаемое время между сеансами, чтобы они считались отдельными.

Сигнатура метода

void setMinTimeBetweenSessions(int seconds)

Пример

AppsFlyer.setMinTimeBetweenSessions(4);

setUserEmails

Описание

Задайте электронные адреса пользователей и зашифруйте их.

Сигнатура метода

void setUserEmails(EmailCryptType cryptMethod, params string[] emails)

Пример

AppsFlyer.setUserEmails(EmailCryptType.EmailCryptTypeSHA256, "test1@test1.com", "test2@test2.com");

setHost

Описание

Настройте пользовательский хост

Сигнатура метода

void setHost(string hostPrefixName, string hostName)

Пример

AppsFlyer.setHost("hostPrefixName","hostName");

getConversionData

Описание

Зарегистрируйте прослушиватель для данных о конверсиях, чтобы разрешить доступ к данным атрибуции пользователей для каждой новой установки в реальном времени непосредственно на уровне SDK. Таким образом, можно предоставлять пользователям персонализированный контент или направлять их на определенные действия в приложении, что может значительно увеличить их взаимодействие с вашим приложением.

Сигнатура метода

void getConversionData(string objectName);

Пример

AppsFlyer.getConversionData(gameObject.name);

attributeAndOpenStore

Описание

Для атрибуции клика и запуска страницы приложения в магазине приложений.

Сигнатура метода

void attributeAndOpenStore
(string appID, string campaign,
Dictionary<string, string> userParams, MonoBehaviour gameObject)

Пример


Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("af_sub1", "val");
parameters.Add("custom_param", "val2");
AppsFlyer.attributeAndOpenStore("123456789", "test campaign", parameters, this);            

recordCrossPromoteImpression

Описание

Для атрибуции показов используйте вызов следующего API. Обязательно используйте предлагаемый идентификатор приложения в том виде, в каком он отображается на дэшборде AppsFlyer.

Сигнатура метода

void recordCrossPromoteImpression(string appID, string campaign);

Пример

Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("af_sub1", "val");
parameters.Add("custom_param", "val2");
AppsFlyer.recordCrossPromoteImpression("appID", "campaign", parameters);

generateUserInviteLink

Описание

Класс LinkGenerator создает URL-адрес приглашения в соответствии с различными методами настройки, которые позволяют передавать дополнительную информацию о клике.

Сигнатура метода

void generateUserInviteLink
(Dictionary<string, string> parameters, MonoBehaviour gameObject)

Пример

AppsFlyer.generateUserInviteLink(params, this);

onAppOpenAttribution

Описание

Получает данные с глубинными ссылками, когда приложение открывается по глубинной ссылке.

Сигнатура метода

public void onAppOpenAttribution(string validateResult)

Пример

public void onAppOpenAttribution(string attributionData)
            { AppsFlyer.AFLog("onAppOpenAttribution", attributionData);
            Dictionary<string, object> attributionDataDictionary = AppsFlyer.CallbackStringToDictionary(attributionData);
            // add direct deeplink logic here }

onAppOpenAttributionFailure

Описание

Получает ошибки при получении данных по глубинным ссылкам.

Сигнатура метода

public void onAppOpenAttributionFailure (string error)

Пример

public void onAppOpenAttributionFailure(string error)
            {AppsFlyer.AFLog("onAppOpenAttributionFailure", error); }

onConversionDataSuccess

Описание

Метод используется для получения данных о конверсии. Полезно для отложенного диплинкинга. Узнать больше.

  • Начиная с версии 5 SDK: onConversionDataSuccess
  • До версии 5 SDK: onConversionDataReceived 

Сигнатура метода

public void onConversionDataSuccess(string conversionData)

Пример

public void onConversionDataSuccess(string conversionData)
            {
            AppsFlyer.AFLog("onConversionDataSuccess", conversionData);
            Dictionary<string, object> conversionDataDictionary = AppsFlyer.CallbackStringToDictionary(conversionData);
            // add deferred deeplink logic here
            }

onConversionDataFail

Описание

Обрабатывает ошибки, когда не удается получить данные о конверсиях для установок.

Сигнатура метода

public void onConversionDataFail(string error)

Пример

public void onConversionDataFail(string error)
            {
            AppsFlyer.AFLog("onConversionDataFail", error);
            }

onInviteLinkGenerated

Описание

Успешный обратный вызов для генерирования ссылок OneLink.

Сигнатура метода

public void onInviteLinkGenerated(string link)

Пример

public void onInviteLinkGenerated(string link)
            {
            }

onInviteLinkGeneratedFailure

Описание

Ошибка обратного вызова для генерирования ссылок OneLink.

Сигнатура метода

public void onInviteLinkGeneratedFailure(string error)

Пример

public void onInviteLinkGeneratedFailure(string error)
            {
            AppsFlyer.AFLog("onInviteLinkGeneratedFailure", error);
            }

didFinishValidateReceipt

Описание

Успешный обратный вызов для API validateAndSendInAppPurchase.

Для Android: обратный вызов возвращает  "Validate success" (Подтвердить успех).
Для iOS: обратный вызов возвращает строку JSON из API Apple verifyReceipt.

Сигнатура метода

public void didFinishValidateReceipt(string result)

Пример

public void didFinishValidateReceipt(string result)
            {
            }

didFinishValidateReceiptWithError

Описание

Ошибка обратного вызова для проверки чеков.

Сигнатура метода

public void didFinishValidateReceiptWithError(string error)

Пример

public void didFinishValidateReceiptWithError(string error)
            {
            }

setPhoneNumber

Описание

Используется для установки номера телефона пользователя.

Сигнатура метода

void setPhoneNumber(string phoneNumber)

Пример

AppsFlyer.setPhoneNumber("4166358181");

setSharingFilterForAllPartners (устарело)

Описание

Используется рекламодателями, чтобы прекратить предоставлять данные всем сетям/интегрированным партнерам. Подробнее

Сигнатура метода

void setSharingFilterForAllPartners()

Пример

AppsFlyer.setSharingFilterForAllPartners();

setSharingFilter (устарело)

Описание

Используется рекламодателями, чтобы задать  несколько сетей/интегрированных партнеров, которым нужно  прекратить  предоставлять данные. Узнать больше

Сигнатура метода

void setSharingFilter(params string[] partners)

Пример

AppsFlyer.setSharingFilter
("googleadwords_int","snapchat_int","doubleclick_int");

setSharingFilterForPartners

Описание

Используется рекламодателями, чтобы задать несколько сетей/интегрированных партнеров, которым нужно прекратить предоставлять данные.

Сигнатура метода

void setSharingFilterForPartners(params string[] partners)

Пример

AppsFlyer.setSharingFilterForPartners("partner1_int"); // Single partner
AppsFlyer.setSharingFilterForPartners("partner1_int", "partner2_int");// Multiple partners
AppsFlyer.setSharingFilterForPartners("all"); // All partners
AppsFlyer.setSharingFilterForPartners(""); // Reset list (default)
AppsFlyer.setSharingFilterForPartners(); // Reset list (default)

API для Android

updateServerUninstallToken

Описание

Вручную передайте токен устройства Firebase для измерения удалений.

Сигнатура метода

void updateServerUninstallToken(string token)

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            AppsFlyerAndroid.updateServerUninstallToken("token");
            #endif

setImeiData

Описание

Чтобы явно отправить IMEI в AppsFlyer.

Сигнатура метода

void setImeiData(string imei)

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            AppsFlyerAndroid.setImeiData("imei");
            #endif

setAndroidIdData

Описание

Чтобы явно отправить Android ID в AppsFlyer.

Сигнатура метода

void setAndroidIdData(string androidId)

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            AppsFlyerAndroid.setAndroidIdData("androidId");
            #endif

waitForCustomerUserId

Описание

Эта функция гарантирует, что SDK не начнет функционировать до предоставления customerUserID.

Сигнатура метода

void waitForCustomerUserId(bool wait)

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            AppsFlyerAndroid.waitForCustomerUserId(true);
            #endif

setCustomerIdAndStartSDK

Описание

Чтобы предоставить SDK соответствующий идентификатор клиента и запустить стандартную работу SDK.

Сигнатура метода

void setCustomerIdAndStartSDK(string id)

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            AppsFlyerAndroid.setCustomerIdStartSDK("id");
            #endif

getOutOfStore

Описание

Получить текущее значение AF_STORE.

Сигнатура метода

string getOutOfStore()

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            string af_store = AppsFlyerAndroid.getOutOfStore();
            #endif

setOutOfStore

Описание

Установить значение AF_STORE вручную.

Сигнатура метода

void setOutOfStore(string sourceName)

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            AppsFlyerAndroid.setOutOfStore("sourceName");
            #endif

setCollectAndroidID

Описание

Отказаться от сбора Android ID. Если Google Play Services в приложении НЕ используются, сбор данных Android ID выполняется с помощью SDK. Однако приложения, использующие Google Play Services, не должны собирать Android ID, так как это противоречит политике Google Play.

Сигнатура метода

void setCollectAndroidID(bool isCollect)

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            AppsFlyerAndroid.setCollectAndroidID(true);
            #endif

setCollectIMEI

Описание

Отказаться от сбора IMEI. Если Google Play Services в приложении НЕ используются, сбор данных IMEI выполняет плагин. Однако приложения, использующие Google Play Services, не должны выполнять сбор данных IMEI, так как это противоречит политике Google Play.

Сигнатура метода

void setCollectIMEI(bool isCollect)

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            AppsFlyerAndroid.setCollectIMEI(true);
            #endif

setIsUpdate

Описание

Установите вручную, что приложение было обновлено.

Сигнатура метода

void setIsUpdate(bool isUpdate)

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            AppsFlyerAndroid.setIsUpdate(true);
            #endif

setPreinstallAttribution

Описание

Укажите производителя устройства или имя медиа-источника, которому атрибутирована предустановка.

Сигнатура метода

void setPreinstallAttribution
(string mediaSource, string campaign, string siteId)

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            AppsFlyerAndroid.setPreinstallAttribution("mediaSource", "campaign", "siteId");
            #endif

isPreInstalledApp

Описание

Индикатор предустановки производителем устройства.

Сигнатура метода

bool isPreInstalledApp()

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            if (AppsFlyerAndroid.isPreInstalledApp())
            {
            }
            #endif

 getAttributionId

Описание

Получите идентификатор атрибуции Meta Ads, если он есть.

Сигнатура метода

string getAttributionId()

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            string attributionId = AppsFlyerAndroid.getAttributionId();
            #endif

handlePushNotifications

Описание

Получить зарегистрированные push-уведомления.

Сигнатура метода

void handlePushNotifications()

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyerAndroid.handlePushNotifications();
            #endif

validateAndSendInAppPurchase

Описание

API для верификации сервера покупок в приложении. Соответствующие значения для события af_purchase будут автоматически отправлены, если проверка прошла успешно.

Сигнатура метода

void validateAndSendInAppPurchase
(string publicKey, string signature, string purchaseData,
string price, string currency, Dictionary<string, string> additionalParameters,
MonoBehaviour gameObject)

Пример

#if UNITY_ANDROID && !UNITY_EDITOR
            AppsFlyerAndroid.validateAndSendInAppPurchase(
            "publicKey", 
            "signature", 
            "purchaseData", 
            "price", 
            "currency", 
            null, 
            this);
            #endif

API для iOS

setShouldCollectDeviceName

Описание

Установите этот флаг в значение true, чтобы собирать текущее имя устройства (например, «Мой iPhone»). Значение по умолчанию: false. 

Сигнатура метода

void setShouldCollectDeviceName(bool shouldCollectDeviceName)

Пример

#if UNITY_IOS && !UNITY_EDITOR
            AppsFlyeriOS.setShouldCollectDeviceName(true);
            #endif

setDisableCollectIAd

Описание

Отказ от атрибуции Apple Search Ads.

Сигнатура метода

void setDisableCollectIAd(bool disableCollectIAd)

Пример

#if UNITY_IOS && !UNITY_EDITOR
            AppsFlyeriOS.setDisableCollectIAd(true);
            #endif

setUseReceiptValidationSandbox

Описание

Проверка чека для покупок в приложении в среде Apple (рабочей среде или песочнице). Значение по умолчанию: false.

Сигнатура метода

void setUseReceiptValidationSandbox(bool useReceiptValidationSandbox)

Пример

#if UNITY_IOS && !UNITY_EDITOR
            AppsFlyeriOS.setUseReceiptValidationSandbox(true);
            #endif

setUseUninstallSandbox

Описание

Установите этот флаг, чтобы протестировать удаления приложения в среде Apple (рабочей среде или песочнице). Значение по умолчанию: false.

Сигнатура метода

void setUseUninstallSandbox(bool useUninstallSandbox)

Пример

#if UNITY_IOS && !UNITY_EDITOR
            AppsFlyeriOS.setUseUninstallSandbox(true);
            #endif

validateAndSendInAppPurchase

Описание

Чтобы отправлять и проверять покупки в приложении, вызовите этот метод из метода processPurchase.

Сигнатура метода

void validateAndSendInAppPurchase
(string productIdentifier, string price, string currency, string tranactionId,
Dictionary<string, string> additionalParameters, MonoBehaviour gameObject)

Пример

#if UNITY_IOS && !UNITY_EDITOR
            AppsFlyeriOS.validateAndSendInAppPurchase(
            "productIdentifier", 
            "price", 
            "currency", 
            "tranactionId", 
            null, 
            this);
            #endif

registerUninstall

Описание

Зарегистрируйтесь для получения удаленных уведомлений и предоставьте AppsFlyer токен устройства для push-уведомлений.

Сигнатура метода

void registerUninstall(byte[] deviceToken)

Пример

private bool tokenSent;
            void Update()
            {
            #if UNITY_IOS && !UNITY_EDITOR
            if (!tokenSent)
            {
            byte[] token = UnityEngine.iOS.NotificationServices.deviceToken;
            if (token != null)
            {
            AppsFlyeriOS.registerUninstall(token);
            tokenSent = true;
            }
            }
            #endif
            }

handleOpenUrl

Описание

Используется для регистрации диплинкинга вручную.

Сигнатура метода

void handleOpenUrl(string url, string sourceApplication, string annotation)

Пример

#if UNITY_IOS && !UNITY_EDITOR
            AppsFlyeriOS.handleOpenUrl(string url, string sourceApplication, string annotation);
            #endif

onOpenStoreLinkGenerated

Описание

Позволяет использовать компонент StoreKit для открытия App Store, оставаясь в контексте вашего приложения. Узнать больше.

Сигнатура метода

public void onOpenStoreLinkGenerated(string link)

Пример

public void onOpenStoreLinkGenerated(string link)
            {
            }

disableSKAdNetwork

Описание

Позволяет отключить атрибуцию в SKAdNetwork. Для отключения установите значение "true".

Сигнатура метода

bools disableSKAdNetwork(int isDisabled)

Пример

#if UNITY_IOS && !UNITY_EDITOR
    AppsFlyeriOS.disableSKAdNetwork(true);
#endif

waitForATTUserAuthorizationWithTimeoutInterval

Описание

Используется, если вы хотите запросить разрешение пользователя во всплывающем окне, прежде чем осуществлять доступ к данным приложения для регистрации пользователя или устройства (например, к данным IDFA). Если пользователь соглашается, данные IDFA будут переданы в SDK. Временной интервал дает пользователю определенное время, чтобы разрешить или запретить сбор данных. Когда это время истекает, данные IDFA не собираются.

Сигнатура метода

void waitForATTUserAuthorizationWithTimeoutInterval(int timeoutInterval)

Пример

#if UNITY_IOS && !UNITY_EDITOR
    AppsFlyeriOS.waitForATTUserAuthorizationWithTimeoutInterval(60);
#endif