Справочник по API

Список доступных методов для этого плагина описан ниже.


API для Android, iOS и Windows

initSDK

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

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

parametertypedescription
dev_keystringКлюч разработчика AppsFlyer, который доступен из вашего аккаунта AppsFlyer в разделе «Настройки приложения» на дэшборде.
app_idstringApple ID вашего приложения.
gameObject (необязательно)MonoBehaviourИгровой объект, содержащий интерфейс IAppsFlyerConversionData.

Пример:

AppsFlyer.initSDK("dev_key", "app_id"); // without deeplinking
AppsFlyer.initSDK("dev_key", "app_id", this); // with deeplinking

Примечание. Вам необходимо реализовать SDK с диплинкингом только в том случае, если вы используете интерфейс IAppsFlyerConversionData .


startSDK

void startSDK()

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

Пример:

 AppsFlyer.startSDK();

API для Android и iOS

stopSDK

void stopSDK(bool isSDKStopped)

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

Есть несколько различных сценариев, которые владелец приложения может применить для прекращения отслеживания пользователя. Настоятельно рекомендуется строго следовать инструкциям сценария, применимого для вашего приложения.

В любом случае SDK можно активировать повторно путем вызова того же API с передачей значения "false".

Важно:
Не вызывайте startSDK(), если для параметра stopSDK() установлено значение true.

Чтобы снова запустить функции SDK, используйте следующий API:

AppsFlyer.stopSDK(false);

Предупреждение
Используйте API stopSDK только в тех случаях, когда необходимо полностью отключить для данного пользователя функции SDK. Использование этого API СУЩЕСТВЕННО влияет на атрибуцию, сбор данных и механизм диплинкинга.

parametertypedescription
isSDKStoppedboolTrue, если SDK остановлен (значение по умолчанию false).

Пример:

AppsFlyer.stopSDK(true);

isSDKStopped

bool isSDKStopped()

Был ли API stopSDK (логическое значение) установлен в значение true.

Пример:

if (!AppsFlyer.isSDKStopped())
{
  
}

getSdkVersion

string getSdkVersion()

Получает используемую в приложении версию SDK AppsFlyer.

Пример:

string version = AppsFlyer.getSdkVersion();

setIsDebug

void setIsDebug(bool shouldEnable)

Включает журналы отладки для SDK AppsFlyer.

Предупреждение
Значение true должно быть задано только в средах разработки и при отладке.

parametertypedescription
shouldEnableboolTrue, если включен режим отладки (по умолчанию false)

Пример:

AppsFlyer.setIsDebug(true);

addPushNotificationDeepLinkPath

void addPushNotificationDeepLinkPath(params string[] paths)

Добавляет массив ключей, используемых для создания пути к параметру, чтобы выделить диплинк из полезной нагрузки push-уведомления.

parametertypedescription
pathsstring[]array of strings that represent the key path to the deeplink in the push notification payload

Пример:

Пример использования
Базовая конфигурация:

AppsFlyer.addPushNotificationDeepLinkPath("af_push_link")

Этому вызову соответствует следующая структура полезной нагрузки:

{
  "af_push_link": "https://yourdeeplink2.onelink.me"
}

ֿAdvanced configuration:

string[] paths = {"deeply", "nested", "deep_link"};
AppsFlyer.addPushNotificationDeepLinkPath(paths);

Этому вызову соответствует следующая структура полезной нагрузки:

{
  "deeply": {
      "nested": {
          "deep_link": "https://yourdeeplink2.onelink.me"
      }
  }
}

setCustomerUserId

void setCustomerUserId(string id)

Установка собственного Custom ID позволяет установить связь между своим уникальным ID и ID пользователя в AppsFlyer, а также с ID других устройств. Этот идентификатор можно посмотреть в CSV-отчетах AppsFlyer, а также получить с помощью API постбэков для связывания с внутренними идентификаторами.

parametertypedescription
idstringСобственный идентификатор пользователя

Пример:

AppsFlyer.setCustomerUserId("custom_user_id");

setAppInviteOneLinkID

void setAppInviteOneLinkID(string oneLinkId)

Задает идентификатор OneLink, который используется для User-Invite-API.
Эта ссылка OneLink используется как базовая в ссылке, формируемой для приглашения пользователей.

parametertypedescription
oneLinkIdstringИдентификатор OneLink для атрибуции приглашений пользователей

Пример:

AppsFlyer.setAppInviteOneLinkID("abcd");

setAdditionalData

void setAdditionalData(Dictionary<string, string> customData)

API setAdditionalData необходим для интеграции на уровне SDK с несколькими внешними партнерским платформами, включая Segment, Adobe и Urban Airship. Используйте данный API только в тех случаях, когда в руководстве по интеграции платформы специально указана необходимость использования API setAdditionalData.

parametertypedescription
customDataDictionary<string, string>дополнительные данные

Пример:

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

setResolveDeepLinkURLs

void setResolveDeepLinkURLs(params string[] urls)

Если используются ссылки OneLink, которые поддерживают ссылки для приложений Android, и при этом упаковываются в сторонние универсальные ссылки, то для уведомления SDK AppsFlyer о том, какие домены CLICK, вызывающие приложение, нужно разрешить и использовать для извлечения базовой ссылки OneLink, можно применять API setResolveDeepLinkURLs. Это позволит поддерживать диплинкинг и атрибуцию при упаковке ссылки OneLink в стороннюю универсальную ссылку. Этот API нужно обязательно вызвать перед инициализацией SDK.

parametertypedescription
urlsparams string[]массив ссылок

Пример:

AppsFlyer.setResolveDeepLinkURLs("test.com", "test2.ca");

setOneLinkCustomDomain

void setOneLinkCustomDomain(params string[] domains)

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

parametertypedescription
domainsparams string[]массив собственных доменов

Пример:

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

setCurrencyCode

void setCurrencyCode(string currencyCode)

Установка кода местной валюты пользователя для покупок в приложении.
Код валюты должен быть кодом из трех символов по стандарту ISO 4217. Значение по умолчанию — USD.
Вы можете настроить код валюты для всех событий, вызвав следующий метод.

parametertypedescription
currencyCodestringКод валюты по ISO 4217 из трех символов. Значение по умолчанию — USD.

Пример:

AppsFlyer.setCurrencyCode("GBP");

recordLocation

void recordLocation(double latitude, double longitude)

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

parametertypedescription
latitudedoubleширота нахождения пользователя
longitudedoubleдолгота нахождения пользователя

Пример:

AppsFlyer.recordLocation(40.7128, 74.0060);

anonymizeUser

void anonymizeUser(bool shouldAnonymizeUser)

В AppsFlyer предусмотрен метод анонимизации идентификаторов определенных пользователей в аналитике AppsFlyer. Этот метод соответствует последним требованиям по защите личной информации и политикам Facebook в отношении обработки данных и конфиденциальности. Значение по умолчанию — NO (НЕТ), то есть по умолчанию анонимизация не выполняется.
Для реализации явной анонимизации установок, событий и сеансов пользователя используйте этот API во время инициализации SDK.
Если нужно отменить анонимизацию, снова вызовите anonymizeUser и установите значение false.

Предупреждение
Анонимизация пользователей СУЩЕСТВЕННО влияет на данные атрибуции.
Используйте этот параметр ТОЛЬКО для тех регионов, где сбор информации о пользователях запрещен законом.

parametertypedescription
shouldAnonymizeUserbooltrue для выполнения анонимизации

Пример:

AppsFlyer.anonymizeUser(true);

getAppsFlyerId

string getAppsFlyerId()

Для каждой новой установки приложения AppsFlyer создает уникальный ID устройства. Для получения уникального ID из AppsFlyer используйте следующий API.

Пример:

string uid = AppsFlyer.getAppsFlyerId(); 

setMinTimeBetweenSessions

void setMinTimeBetweenSessions(int seconds)

По умолчанию 2 сессии учитываются как отдельные, если интервал между двумя запусками приложения составляет не меньше 5 секунд (см. дополнительные сведения об учете сессий). Однако, если необходимо установить свой вариант минимального интервала между сессиями, можно использовать следующий API.

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

parametertypedescription
secondsintвремя между сессиями (по умолчанию 5 секунд)

Пример:

AppsFlyer.setMinTimeBetweenSessions(4);

setHost

void setHost(string hostPrefixName, string hostName)

Задает пользовательский хост.

parametertypedescription
hostPrefixNamestring
hostNamestring

Пример:

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

setUserEmails

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

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

cryptMethod Методы шифрования:
EmailCryptType.EmailCryptTypeSHA256
EmailCryptType.EmailCryptTypeNone

parametertypedescription
cryptMethodEmailCryptTypeнет или sha256
emailsparams string[]список эл. адресов

Пример:

AppsFlyer.setUserEmails(EmailCryptType.EmailCryptTypeSHA256, "[email protected]", "[email protected]");

setPhoneNumber

void setPhoneNumber(string phoneNumber)

Установите номер телефона пользователя.

parametertypedescription
phoneNumberstring

Пример:

AppsFlyer.setPhoneNumber("4166358181");

getConversionData

void getConversionData(string objectName);

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

Получайте постбэки, реализовав интерфейс IAppsFlyerConversionData.

parametertypedescription
objectNamestringигровой объект с интерфейсом IAppsFlyerConversionData

Пример:

AppsFlyer.getConversionData(gameObject.name);

attributeAndOpenStore

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

Используйте следующий API для атрибуции клика и запуска страницы приложения в магазине приложений.

Получайте постбэки, реализовав интерфейс IAppsFlyerUserInvite.

parametertypedescription
appIDstring
campaignstring
userParamsDictionary<string, string>
gameObjectMonoBehaviourигровой объект с интерфейсом IAppsFlyerUserInvite

Пример:

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

void recordCrossPromoteImpression(string appID, string campaign);

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

parametertypedescription
appIDstringID приложения
campaignstringcampaign
paramsDictionary<string, string>дополнительные параметры

Пример:

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

generateUserInviteLink

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

Класс LinkGenerator создает URL-адрес приглашения в соответствии с различными методами настройки, которые позволяют передавать дополнительную информацию о клике.
См. статью https://support.appsflyer.com/hc/ru/articles/115004480866

parametertypedescription
parametersDictionary<string, string>
gameObjectMonoBehaviourигровой объект с интерфейсом IAppsFlyerUserInvite

Пример:

AppsFlyer.generateUserInviteLink(params, this);

setSharingFilterForAllPartners Deprecated

void setSharingFilterForAllPartners()

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

Пример:

AppsFlyer.setSharingFilterForAllPartners();

setSharingFilter Deprecated

void setSharingFilter(params string[] partners)

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

parametertypedescription
partnersparams string[] partnersпартнеры, которым нужно прекратить передавать данные

Пример:

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

setSharingFilterForPartners

void setSharingFilterForPartners(params string[] partners)

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

parametertypedescription
partnersparams 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)

setPartnerData

void setPartnerData(string partnerID, params string[] partnerInfo)

Разрешает отправку настраиваемых данных для интеграции с партнерами.

parametertypedescription
partnerIDstringИдентификатор партнера (обычно с суффиксом "_int").
partnerInfoparams string[]Данные клиента, зависят от настроек интеграции с конкретным партнером.

Пример:

   Dictionary<string, string> partnerInfo = new Dictionary<string, string>();
        partnerInfo.Add("puid", "1234567890");
        AppsFlyer.setPartnerData("partner_test", partnerInfo);

API только для Android

updateServerUninstallToken

void updateServerUninstallToken(string token)

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

parametertypedescription
tokenstringТокен Firebase FCM

Пример:

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

setImeiData

void setImeiData(string imei)

Если устройство работает на ОС версии выше KitKat (4.4) и использует службы Google Play, то по умолчанию SDK не проводит сбор данных IMEI и Android ID
(если версией SDK является 4.8.8 или более ранняя, определенным приложениям требуется GPS).
Используйте этот API, чтобы явным образом отправлять IMEI в AppsFlyer.

parametertypedescription
imeistringIMEI устройства

Пример:

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

setAndroidIdData

void setAndroidIdData(string androidId)

Если устройство работает на ОС версии выше KitKat (4.4) и использует службы Google Play, то по умолчанию SDK не проводит сбор данных IMEI и Android ID (если версией SDK является 4.8.8 или более ранняя, определенным приложениям требуется GPS).
Используйте этот API, чтобы явным образом отправлять Android ID в AppsFlyer.

parametertypedescription
androidIdstringAndroid ID устройства

Пример:

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

waitForCustomerUserId

void waitForCustomerUserId(bool wait)

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

parametertypedescription
waitboolTrue, если вы хотите, чтобы SDK ждал customerUserID

Пример:

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

setCustomerIdAndStartSDK

void setCustomerIdAndStartSDK(string id)

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

parametertypedescription
idstringИдентификатор клиента.

Пример:

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

getOutOfStore

string getOutOfStore()

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

Пример:

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

setOutOfStore

void setOutOfStore(string sourceName)

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

parametertypedescription
sourceNamestring

Пример:

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

setCollectAndroidID

void setCollectAndroidID(bool isCollect)

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

parametertypedescription
isCollectbool

Пример:

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

setCollectIMEI

void setCollectIMEI(bool isCollect)

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

parametertypedescription
isCollectbool

Пример:

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

setIsUpdate

void setIsUpdate(bool isUpdate)

Позволяет указать вручную, что приложение было обновлено.

parametertypedescription
isUpdatebooltrue, если приложение было обновлено

Пример:

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

setPreinstallAttribution

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

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

parametertypedescription
mediaSourcestringПроизводитель устройства или медиа-источник для атрибуции предустановки.
campaignstringИмя кампании для атрибуции предустановки.
siteIdstringИдентификатор сайта для атрибуции предустановки.

Пример:

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

isPreInstalledApp

bool isPreInstalledApp()

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

Пример:

#if UNITY_ANDROID && !UNITY_EDITOR
        if (AppsFlyer.isPreInstalledApp())
        {

        }
#endif

handlePushNotifications

void handlePushNotifications()
При вызове API handlePushNotifications будут записываться push-уведомления.

Пример:

AppsFlyer.handlePushNotifications();

getAttributionId

string getAttributionId()

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

Пример:

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

validateAndSendInAppPurchase

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

API for server verification of in-app purchases.
An af_purchase event with the relevant values will be automatically sent if the validation is successful.

parametertypedescription
publicKeystringЛицензионный ключ, полученный из консоли Google Play.
signaturestringdata.INAPP_DATA_SIGNATURE.
purchaseDatastringdata.INAPP_PURCHASE_DATA
pricestringЦена покупки
currencystringИдентификатор сайта для атрибуции предустановки.
additionalParametersDictionary<string, string>параметры, которые будут отправлены вместе с покупкой.
gameObjectMonoBehaviourИгровой объект для отправки обратных вызовов

Пример:

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

setCollectOaid

void setCollectOaid(boolean isCollect)

setCollectOaid

You must include the appsflyer oaid library for this api to work.
parametertypedescription
isCollectbooltrue, чтобы разрешить сбор oaid

Пример:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setCollectOaid(true);
#endif

setDisableAdvertisingIdentifiers

void setDisableAdvertisingIdentifiers(boolean disable)

setDisableAdvertisingIdentifiers

Disables collection of various Advertising IDs by the SDK. This includes Google Advertising ID (GAID), OAID and Amazon Advertising ID (AAID)
parametertypedescription
disablebooltrue для отключения

Пример:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setDisableAdvertisingIdentifiers(true);
#endif


setDisableNetworkData

void setDisableNetworkData(boolean disable)

setDisableNetworkData

Use to opt-out of collecting the network operator name (carrier) and sim operator name from the device.
parametertypedescription
disablebooltrue для отказа от сбора

Пример:

#if UNITY_ANDROID && !UNITY_EDITOR
        AppsFlyer.setDisableNetworkData(true);
#endif

API только для iOS

setDisableCollectAppleAdSupport

void setDisableCollectAppleAdSupport(bool disable)

SDK AppsFlyer собирает от Apple advertisingIdentifier if the AdSupport.framework включен в SDK.
Вы можете отключить эту функцию, задав для следующего свойства значение true.

parametertypedescription
disablebool

Пример:

#if UNITY_IOS && !UNITY_EDITOR
        AppsFlyer.setDisableCollectAppleAdSupport(true);
#endif

handlePushNotifications(iOS)

void handlePushNotification(Dictionary<string, string> pushPayload)
When the handlePushNotifications API is called from a service that is swizzling, like Firebase, the push notifications payload will be handled by the AppsflyerSDK.

parametertypedescription
pushPayloadDictionary<string, string>the push notification payload

Пример:

#if UNITY_IOS && !UNITY_EDITOR
    // e.Message.Data = push notification payload
    var dataDict = new Dictionary<string, string>(e.Message.Data);
    AppsFlyeriOS.handlePushNotification(dataDict);
#endif

setShouldCollectDeviceName

void setShouldCollectDeviceName(bool shouldCollectDeviceName)

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

parametertypedescription
shouldCollectDeviceNamebool

Пример:

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

setDisableCollectIAd

void setDisableCollectIAd(bool disableCollectIAd)

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

parametertypedescription
disableCollectIAdbool

Пример:

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

setUseReceiptValidationSandbox

void setUseReceiptValidationSandbox(bool useReceiptValidationSandbox)

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

parametertypedescription
useReceiptValidationSandboxbooltrue, если покупка в приложении осуществляется в среде песочницы

Пример:

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

setUseUninstallSandbox

void setUseUninstallSandbox(bool useUninstallSandbox)

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

parametertypedescription
useUninstallSandboxbooltrue, если вы используете сертификат APN

Пример:

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

validateAndSendInAppPurchase

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

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

parametertypedescription
productIdentifierstringИдентификатор товара.
pricestringЦена товара.
currencystringВалюта товара.
tranactionIdstringИдентификатор транзакции покупки.
additionalParametersDictionary<string, string>Дополнительный параметр, который вы хотите получить в отчетах по сырым данным.
gameObjectMonoBehaviourигровой объект для обратных вызовов

Пример:

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

registerUninstall

void registerUninstall(byte[] deviceToken)

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

parametertypedescription
deviceTokenbyte[]Токен APN

Пример:

    private bool tokenSent;

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


handleOpenUrl

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

In case you want to track deep linking manually call handleOpenUrl.
The continueUserActivity and onOpenURL are implemented in the AppsFlyerAppController.mm class, so 
only use this method if the other methods do not cover your apps deeplinking needs.
parametertypedescription
urlstringURL, который будет передан в ваш AppDelegate
sourceApplicationstringsourceApplication, который будет передан в ваш AppDelegate
annotationstringаннотация, которая будет передана в делегат приложения

Пример:

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

waitForATTUserAuthorizationWithTimeoutInterval

void waitForATTUserAuthorizationWithTimeoutInterval(int timeoutInterval)

Подробнее см. здесь.

parametertypedescription
timeoutIntervalintВремя ожидания idfa

Пример:

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

disableSKAdNetwork

bools disableSKAdNetwork(bool isDisabled)

parametertypedescription
isDisabledbooltrue для отключения SKAdNetwork

Пример:

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

setLanguage

setCurrentDeviceLanguage(string language)

parametertypedescription
languageStringЯзык для установки

Пример:

#if UNITY_IOS && !UNITY_EDITOR
    AppsFlyer.setCurrentDeviceLanguage("english");
#endif

disableIDFVCollection

disableIDFVCollection(bool isDisabled)

parametertypedescription
isDisabledboolTrue to disable IDFV collection

Пример:

#if UNITY_IOS && !UNITY_EDITOR
    AppsFlyer.disableIDFVCollection(true);
#endif

IAppsFlyerConversionData

onConversionDataSuccess

public void onConversionDataSuccess(string conversionData)

ConversionData содержит информацию об установке.
Органическая/неорганическая и т.д. Более подробную информацию см. здесь.

parametertypedescription
conversionDatastringстрока JSON возвращаемых данных о конверсии

Пример:

   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)

parametertypedescription
errorstringСтрока, описывающая ошибку

Пример:

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

onAppOpenAttribution

public void onAppOpenAttribution(string attributionData)

attributionData содержит информацию о OneLink, диплинке.

parametertypedescription
attributionDatastringстрока JSON возвращаемых данных о диплинке

Пример:

    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)

Любые ошибки, возникшие во время запроса на атрибуцию.

parametertypedescription
errorstringстрока, описывающая ошибку

Пример:

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

IAppsFlyerUserInvite

onInviteLinkGenerated

public void onInviteLinkGenerated(string link)

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

parametertypedescription
linkstringсозданная ссылка

Пример:

   public void onInviteLinkGenerated(string link)
    {

    }

onInviteLinkGeneratedFailure

public void onInviteLinkGeneratedFailure(string error)

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

parametertypedescription
errorstringСтрока, описывающая ошибку

Пример:

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

onOpenStoreLinkGenerated

public void onOpenStoreLinkGenerated(string link)

(только для ios) iOS позволяет использовать компонент StoreKit для открытия
App Store, оставаясь в контексте вашего приложения.

Подробнее здесь

parametertypedescription
attributionDatastringстрока JSON возвращаемых данных о диплинке

Пример:

    public void onOpenStoreLinkGenerated(string link)
    {

    }

IAppsFlyerValidateReceipt

didFinishValidateReceipt

public void didFinishValidateReceipt(string result)

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

Для Android: обратный вызов возвращает  «Validate success» (Подтвердить успех).

Для iOS: обратный вызов возвращает строку JSON из API Apple verifyReceipt.

parametertypedescription
resultstringподтверждает результат

Пример:

   public void didFinishValidateReceipt(string link)
    {

    }

didFinishValidateReceiptWithError

public void didFinishValidateReceiptWithError(string error)

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

parametertypedescription
errorstringСтрока, описывающая ошибку

Пример:

    public void didFinishValidateReceiptWithError(string error)
    {
      
    }

События

onRequestResponse

public static event EventHandler OnRequestResponse

Обратный вызов для сессий.

код статусаописание ошибки
200null
10"Event timeout. Check 'minTimeBetweenSessions' param" («Время события истекло. Проверьте параметр minTimeBetweenSessions»)
11"Skipping event because 'isStopTracking' enabled" («Событие пропущено, т. к. включен параметр isStopTracking»)
40Ошибка сети: описание ошибки предоставляет Android
41"No dev key" («Нет ключа разработчика»)
50"Status code failure" («Ошибка кода статуса») + фактический код ответа от сервера

Пример:

    AppsFlyer.OnRequestResponse += (sender, args) =>
    {
        var af_args = args as AppsFlyerRequestEventArgs;
        AppsFlyer.AFLog("AppsFlyerOnRequestResponse", "status code" + af_args.statusCode);
    };

onInAppResponse

public static event EventHandler OnInAppResponse

Обратный вызов для внутренних событий приложения.

код статусаописание ошибки
200null
10"Event timeout. Check 'minTimeBetweenSessions' param" («Время события истекло. Проверьте параметр minTimeBetweenSessions»)
11"Skipping event because 'isStopTracking' enabled" («Событие пропущено, т. к. включен параметр isStopTracking»)
40Ошибка сети: описание ошибки предоставляет Android
41"No dev key" («Нет ключа разработчика»)
50"Status code failure" («Ошибка кода статуса») + фактический код ответа от сервера

Пример:


    AppsFlyer.OnInAppResponse += (sender, args) =>
    {
        var af_args = args as AppsFlyerRequestEventArgs;
        AppsFlyer.AFLog("OnRequestResponse", "status code" + af_args.statusCode);
    }; 


onDeepLinkReceived

public static event EventHandler OnDeepLinkReceived

Обратный вызов для API унифицированного диплинкинга.

Пример:


    // First call init with devKey, appId and gameObject
    AppsFlyer.initSDK(devKey, appID, this);


    AppsFlyer.OnDeepLinkReceived += (sender, args) =>
    {
        var deepLinkEventArgs = args as DeepLinkEventsArgs;

        // DEEPLINK LOGIC HERE
    };