Справочник по API
APIs
Список доступных методов для этого плагина описан ниже.
- Android and iOS APIs
- initSDK
- startSDK
- logEvent
- setCustomerUserId
- stop
- setAppInviteOneLinkID
- setAdditionalData
- setResolveDeepLinkURLs
- setOneLinkCustomDomain
- setCurrencyCode
- logLocation
- anonymizeUser
- getAppsFlyerUID
- setHost
- setUserEmails
- generateInviteLink
- setSharingFilterForAllPartners Устаревшее
- setSharingFilter Устаревшее
- setSharingFilterForPartners
- validateAndLogInAppPurchase
- updateServerUninstallToken
- sendPushNotificationData
- addPushNotificationDeepLinkPath
- appendParametersToDeepLinkingURL
- disableAdvertisingIdentifier
- enableTCFDataCollection
- setConsentData
- logAdRevenue
- Android Only APIs
- iOS Only APIs
- AppsFlyerConversionData
Android and iOS APIs
initSdk
initSdk(options, success, error)
Initialize the AppsFlyer SDK with the devKey and appID.
The dev key is required for all apps and the appID is required only for iOS.
(you may pass the appID on Android as well, and it will be ignored)
parameter | type | description |
---|---|---|
options | JSON | init options |
валидировано | function | success callback |
ошибка | function | error callback |
Параметр | Описание |
---|---|
Dev Key | Your application devKey provided by AppsFlyer (required) |
ID приложения | App ID (iOS only) you configured in your AppsFlyer dashboard |
isDebug | Debug mode - set to true for testing only |
onInstallConversionDataListener | Set listener for GCD response (Optional. default=true) |
onDeepLinkListener | Set listener for UDL response (Optional. default=false) |
timeToWaitForATTUserAuthorization | Waits for request user authorization to access app-related data. please read more Here |
manualStart | Prevents from the SDK from sending the launch request after using appsFlyer.initSdk(...). When using this property, the apps needs to manually trigger the appsFlyer.startSdk() API to report the app launch. read more here. (Optional, default=false) |
Пример:
import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View} from 'react-native';
import appsFlyer from 'react-native-appsflyer';
appsFlyer.initSdk(
{
devKey: 'K2***********99',
isDebug: false,
appId: '41*****44',
onInstallConversionDataListener: false, //Optional
onDeepLinkListener: true, //Optional
timeToWaitForATTUserAuthorization: 10, //for iOS 14.5
manualStart: true, //Optional
},
(res) => {
console.log(res);
},
(err) => {
console.error(err);
}
);
startSDK
startSdk()
In version 6.9.1 of the react-native-appslfyer SDK we added the option of splitting between the initialization stage and start stage. All you need to do is add the property manualStart: true to the init object, and later call appsFlyer.startSdk() whenever you decide. If this property is set to false or doesn’t exist, the sdk will start after calling appsFlyer.initSdk(...)
.
Пример:
const option = {
isDebug: true,
devKey: 'UsxXxXxed',
appId: '75xXxXxXxXx11',
onInstallConversionDataListener: true,
onDeepLinkListener: true,
timeToWaitForATTUserAuthorization: 5,
manualStart: true, // <--- for manual start.
};
appsFlyer.initSdk(
option,
() => {
if (!option.manualStart) {
console.warn('AppsFlyer SDK started!');
} else {
console.warn('AppsFlyer SDK init, didn\'t send launch yet');
}
},
err => {
// handle error
},
);
//...
// app flow
//...
appsFlyer.startSdk(); // <--- Here we send launch
logEvent
logEvent(eventName, eventValues, success, error)
Отслеживая внутренние события приложения, можно понять, что в нем происходит. Рекомендуется заранее выделить те метрики, которые понадобятся для оценивания ROI и LTV.
Для регистрации внутренних событий приложения используется вызов функции logEvent с именем события и значениями параметров. Подробные сведения см. в статье о внутренних событиях приложения.
Примечание: Название внутреннего события должно содержать не более 45 символов. Названия событий, содержащие более 45 символов, не отображаются на дэшборде, а только в сырых данных, Pull API и Push API.
parameter | type | description |
---|---|---|
eventName | строка | Название события |
eventValues | JSON | Значения события, которые отправляются вместе с событием |
валидировано | function | success callback |
ошибка | function | success callback |
Пример:
const eventName = 'af_add_to_cart';
const eventValues = {
af_content_id: 'id123',
af_currency: 'USD',
af_revenue: '2',
};
appsFlyer.logEvent(
eventName,
eventValues,
(res) => {
console.log(res);
},
(err) => {
console.error(err);
}
);
setCustomerUserId
setCustomerUserId(userId, callback)
Setting your own Custom ID enables you to cross-reference your own unique ID with AppsFlyer’s user ID and the other devices’ IDs. This ID is available in AppsFlyer CSV reports along with postbacks APIs for cross-referencing with you internal IDs.
If you wish to see the CUID (Customer User ID) under your installs raw data reports, it should be called before starting the SDK.
If you simply would like to add additional user id to the events raw data reports, then you can freely call it anytime you need.
parameter | type | description |
---|---|---|
userId | строка | user ID |
callback | function | success callback |
Пример:
appsFlyer.setCustomerUserId('some_user_id', (res) => {
//..
});
stop
stop(isStopped, callback)
В исключительных случаях может потребоваться полное отключение всех функций SDK для соблюдения норм законодательства и правил конфиденциальности. Для этого можно использовать API stopSDK. После вызова этого API пакет SDK завершит обмен данными с нашими серверами и перестанет функционировать.
Есть несколько различных сценариев, которые владелец приложения может применить для прекращения отслеживания пользователя. Настоятельно рекомендуется строго следовать инструкциям сценария, применимого для вашего приложения.
В любом случае SDK можно активировать повторно путем вызова того же API с передачей значения "false".
parameter | type | description |
---|---|---|
isStopped | булевое значение | True, если SDK остановлен (значение по умолчанию false). |
callback | function | success callback |
Пример:
appsFlyer.stop(true, (res) => {
//...
});
setAppInviteOneLinkID
setAppInviteOneLinkID(oneLinkID, callback)
Set the OneLink ID that should be used for User-Invite-API.
The link that is generated for the user invite will use this OneLink ID as the base link ID.
parameter | type | description |
---|---|---|
Идентификатор ссылки OneLink | строка | Идентификатор ссылки OneLink |
callback | function | success callback |
Пример:
appsFlyer.setAppInviteOneLinkID('abcd', (res) => {
//...
});
setAdditionalData
setAdditionalData(additionalData, callback)
API setAdditionalData необходим для интеграции на уровне SDK с несколькими внешними партнерским платформами, включая Segment, Adobe и Urban Airship. Используйте данный API только в тех случаях, когда в руководстве по интеграции платформы специально указана необходимость использования API setAdditionalData.
parameter | type | description |
---|---|---|
дополнительные данные | JSON | дополнительные данные |
callback | function | success callback |
Пример:
appsFlyer.setAdditionalData(
{
val1: 'data1',
val2: false,
val3: 23,
},
(res) => {
//...
}
);
setResolveDeepLinkURLs
setResolveDeepLinkURLs(urls, successC, errorC)
Set domains used by ESP when wrapping your deeplinks.
Use this API during the SDK Initialization to indicate that links from certain domains should be resolved in order to get original deeplink
For more information please refer to the documentation
parameter | type | description |
---|---|---|
urls | Массив | Comma separated array of ESP domains requiring resolving |
successC | function | success callback |
errorC | function | error callback |
Пример:
appsFlyer.setResolveDeepLinkURLs(["click.esp-domain.com"],
(res) => {
console.log(res);
}, (error) => {
console.log(error);
});
setOneLinkCustomDomains
setOneLinkCustomDomains(domains, successC, errorC)
Set Onelink custom/branded domains
Use this API during the SDK Initialization to indicate branded domains.
For more information please refer to the documentation
parameter | type | description |
---|---|---|
domains | Массив | Comma separated array of branded domains |
successC | function | success callback |
errorC | function | error callback |
Пример:
appsFlyer.setOneLinkCustomDomains(["click.mybrand.com"],
(res) => {
console.log(res);
}, (error) => {
console.log(error);
});
setCurrencyCode
setCurrencyCode(currencyCode, callback)
Setting user local currency code for in-app purchases.
The currency code should be a 3 character ISO 4217 code. (default is USD).
You can set the currency code for all events by calling the following method.
parameter | type | description |
---|---|---|
currencyCode | строка | currencyCode |
callback | function | success callback |
Пример:
appsFlyer.setCurrencyCode(currencyCode, () => {});
logLocation
logLocation(longitude, latitude, callback)
Регистрация местоположения пользователя вручную.
parameter | type | description |
---|---|---|
Долгота | float | Долгота |
Широта | float | Широта |
callback | function | Success / Error Callbacks |
Пример:
const latitude = -18.406655;
const longitude = 46.40625;
appsFlyer.logLocation(longitude, latitude, (err, coords) => {
if (err) {
console.error(err);
} else {
//...
}
});
anonymizeUser
anonymizeUser(shouldAnonymize, callback)
It is possible to anonymize specific user identifiers within AppsFlyer analytics.
This complies with both the latest privacy requirements (GDPR, COPPA) and Facebook's data and privacy policies.
To anonymize an app user.
parameter | type | description |
---|---|---|
shouldAnonymize | булевое значение | True if want Anonymize user Data (default value is false). |
callback | function | success callback |
Пример:
appsFlyer.anonymizeUser(true, () => {});
getAppsFlyerUID
getAppsFlyerUID(callback)
Для каждой новой установки приложения AppsFlyer создает уникальный ID устройства. Для получения уникального ID из AppsFlyer используйте следующий API.
parameter | type | description |
---|---|---|
callback | function | Возвращаемые значения (error, appsFlyerUID) |
Пример:
appsFlyer.getAppsFlyerUID((err, appsFlyerUID) => {
if (err) {
console.error(err);
} else {
console.log('on getAppsFlyerUID: ' + appsFlyerUID);
}
});
setHost
setHost(hostPrefix, hostName, successC)
Настройте пользовательский хост
parameter | type | description |
---|---|---|
hostPrefix | строка | the host prefix |
hostName | строка | the host name |
successC | function | success callback |
Пример:
appsFlyer.setHost('foo', 'bar.appsflyer.com', res => console.log(res));
setUserEmails
setUserEmails(options, success, error)
Set the user emails and encrypt them.
Note: Android and iOS platforms supports only 0 (none) and 3 (SHA256) emailsCryptType.
When unsupported emailsCryptType is passed, the SDK will use the default (none).
parameter | type | description |
---|---|---|
configuration | JSON | email configuration |
валидировано | function | success callback |
ошибка | function | error callback |
option | type | description |
---|---|---|
emailsCryptType | int | none - 0 (default), SHA256 - 3 |
emails | Массив | comma separated list of emails |
Пример:
const options = {
// In this case iOS platform will encrypt emails usind MD5 and android with SHA256. If you want both platform to encrypt with the same method, just write 0 or 3.
emailsCryptType: Platform.OS === 'ios' ? 2 : 3,
emails: ['[email protected]', '[email protected]'],
};
appsFlyer.setUserEmails(
options,
(res) => {
//...
},
(err) => {
console.error(err);
}
);
generateInviteLink
generateInviteLink(parameters, success, error)
parameter | type | description |
---|---|---|
Параметры | JSON | parameters for Invite link |
валидировано | function | success callback (generated link) |
ошибка | function | error callback |
Пример:
appsFlyer.generateInviteLink(
{
channel: 'gmail',
campaign: 'myCampaign',
customerID: '1234',
userParams: {
myParam: 'newUser',
anotherParam: 'fromWeb',
amount: 1,
},
},
(link) => {
console.log(link);
},
(err) => {
console.log(err);
}
);
A complete list of supported parameters is available here. Custom parameters can be passed using a userParams{} nested object, as in the example above.
setSharingFilterForAllPartners
setSharingFilterForAllPartners()
Deprecated! Start from version 6.4.0 please use setSharingFilterForPartners
Used by advertisers to exclude all networks/integrated partners from getting data. Learn more here
Пример:
appsFlyer.setSharingFilterForAllPartners()
setSharingFilter
setSharingFilter(partners, sucessC, errorC)
Deprecated! Start from version 6.4.0 please use setSharingFilterForPartners
Used by advertisers to exclude specified networks/integrated partners from getting data. Learn more here
parameter | type | description |
---|---|---|
партнеров | Массив | Comma separated array of partners that need to be excluded |
successC | function | success callback |
errorC | function | error callback |
Пример:
let partners = ["facebook_int","googleadwords_int","snapchat_int","doubleclick_int"]
appsFlyer.setSharingFilterForAllPartners(partners,
(res) => {
console.log(res);
}, (error) => {
console.log(error);
})
setSharingFilterForPartners
setSharingFilterForPartners(partners)
Used by advertisers to exclude networks/integrated partners from getting data.
parameter | type | description |
---|---|---|
партнеров | Массив | Comma separated array of partners that need to be excluded |
Пример:
appsFlyer.setSharingFilterForPartners([]); // Reset list (default)
appsFlyer.setSharingFilterForPartners(null); // Reset list (default)
appsFlyer.setSharingFilterForPartners(['facebook_int']); // Single partner
appsFlyer.setSharingFilterForPartners(['facebook_int', 'googleadwords_int']); // Multiple partners
appsFlyer.setSharingFilterForPartners(['all']); // All partners
appsFlyer.setSharingFilterForPartners(['googleadwords_int', 'all']); // All partners
validateAndLogInAppPurchase
validateAndLogInAppPurchase(purchaseInfo, successC, errorC): Response<string>
Receipt validation is a secure mechanism whereby the payment platform (e.g. Apple or Google) validates that an in-app purchase indeed occurred as reported.
Learn more - https://support.appsflyer.com/hc/en-us/articles/207032106-Receipt-validation-for-in-app-purchases
❗Important❗ for iOS - set SandBox to true
appsFlyer.setUseReceiptValidationSandbox(true);
parameter | type | description |
---|---|---|
purchaseInfo | JSON | In-App Purchase parameters |
successC | function | success callback (generated link) |
errorC | function | error callback |
Пример:
let info = {
publicKey: 'key',
currency: 'biz',
signature: 'sig',
purchaseData: 'data',
price: '123',
productIdentifier: 'identifier',
currency: 'USD',
transactionId: '1000000614252747',
additionalParameters: {'foo': 'bar'},
};
appsFlyer.validateAndLogInAppPurchase(info, res => console.log(res), err => console.log(err));
updateServerUninstallToken
updateServerUninstallToken(token, callback)
Manually pass the Firebase / GCM Device Token for Uninstall measurement.
parameter | type | description |
---|---|---|
token | строка | FCM Token |
callback | function | success callback |
Пример:
appsFlyer.updateServerUninstallToken('token', (res) => {
//...
});
sendPushNotificationData
sendPushNotificationData(pushPayload, ErrorCB): void
Push-notification campaigns are used to create fast re-engagements with existing users.
Learn more
For Android platform, AppsFlyer SDK uses the activity in order to process the push payload. Make sure you call this api when the app's activity is available (NOT dead state).
From version 6.6.0 we added an error callback that returns an error message.
parameter | type | description |
---|---|---|
pushPayload | JSON | push notification payload |
ErrorCB | function | returns an error msg when the payload has not been sent |
Пример:
const pushPayload = {
af:{
c:"test_campaign",
is_retargeting:true,
pid:"push_provider_int",
},
aps:{
alert:"Get 5000 Coins",
badge:"37",
sound:"default"
}
};
appsFlyer.sendPushNotificationData(pushPayload, err => console.log(err));
addPushNotificationDeepLinkPath
addPushNotificationDeepLinkPath(path, SuccessCB, ErrorCB): void
Добавляет массив ключей, используемых для создания пути к параметру, чтобы выделить диплинк из полезной нагрузки push-уведомления.
parameter | type | description |
---|---|---|
path | Массив | array of Strings that corresponds to the JSON path of the deep link. |
successCB | function | success callback |
errorCB | function | error callback |
Пример:
let path = ['deeply', 'nested', 'deep_link'];
appsFlyer.addPushNotificationDeepLinkPath(
path,
res => console.log(res),
error => console.log(error),
);
Этому вызову соответствует следующая структура полезной нагрузки:
{
...
"deeply": {
"nested": {
"deep_link": "https://yourdeeplink2.onelink.me"
}
}
...
}
appendParametersToDeepLinkingURL
appendParametersToDeepLinkingURL(contains, parameters): void
Сопоставляет URL-адреса, которые содержат contains
as a substring and appends query parameters to them. In case the URL does not match, parameters are not appended to it.
Note:
- The
parameters
object must be consisted ofstring
key andstring
значение - Call this api before calling
appsFlyer.initSDK()
- You must provide the following parameters:
pid
,is_retargeting
most be set to'true'
parameter | type | description |
---|---|---|
содержит | строка | The string to check in URL |
Параметры | object | Параметры, добавляемые к URL-адресу диплинка в случае прохождения проверки |
Пример:
appsFlyer.appendParametersToDeepLinkingURL('substring-of-url', {param1: 'value', pid: 'value2', is_retargeting: 'true'});
disableAdvertisingIdentifier
disableAdvertisingIdentifier(shouldDisdable): void
Disables collection of various Advertising IDs by the SDK.
Anroid: Google Advertising ID (GAID), OAID and Amazon Advertising ID (AAID)
iOS: Apple's advertisingIdentifier (IDFA)
parameter | type | description |
---|---|---|
shouldDisdable | булевое значение | Flag that disable/enable Advertising ID collection |
Пример:
appsFlyer.disableAdvertisingIdentifier(true);
enableTCFDataCollection
enableTCFDataCollection(enabled): void
instruct the SDK to collect the TCF data from the device.
parameter | type | description |
---|---|---|
enabled | булевое значение | enable/disable TCF data collection |
Пример:
appsFlyer.enableTCFDataCollection(true);
setConsentData
setConsentData(consentObject): void
When GDPR applies to the user and your app does not use a CMP compatible with TCF v2.2, use this API to provide the consent data directly to the SDK.
The AppsFlyerConsent object has 2 methods:
AppsFlyerConsent.forNonGDPRUser
: Indicates that GDPR doesn’t apply to the user and generates nonGDPR consent object. This method doesn’t accept any parameters.AppsFlyerConsent.forGDPRUser
: create an AppsFlyerConsent object with 2 parameters:
parameter | type | description |
---|---|---|
hasConsentForDataUsage | булевое значение | Indicates whether the user has consented to use their data for advertising purposes |
hasConsentForAdsPersonalization | булевое значение | Indicates whether the user has consented to use their data for personalized advertising |
Пример:
import appsFlyer, {AppsFlyerConsent} from 'react-native-appsflyer';
let nonGDPRUser = AppsFlyerConsent.forNonGDPRUser();
// OR
let GDPRUser = AppsFlyerConsent.forGDPRUser(true, false);
appsFlyer.setConsentData(nonGDPRUser /**or**/ GDPRUser);
logAdRevenue - Since 6.15.1
logAdRevenue(data: AFAdRevenueData): void
Use this method to log your ad revenue.
By attributing ad revenue, app owners gain the complete view of user LTV and campaign ROI.
Ad revenue is generated by displaying ads on rewarded videos, offer walls, interstitials, and banners in an app.
Параметры
Param | Тип |
---|---|
data | AFAdRevenueData |
Usage Example for React Native:
const adRevenueData = {
monetizationNetwork: 'AF-AdNetwork',
mediationNetwork: MEDIATION_NETWORK.IRONSOURCE,
currencyIso4217Code: 'USD',
revenue: 1.23,
additionalParameters: {
customParam1: 'value1',
customParam2: 'value2',
}
};
appsFlyer.logAdRevenue(adRevenueData);
Here's how you use appsFlyer.logAdRevenue
within a React Native app:
- Prepare the
adRevenueData
object as shown, including any additional parameters you wish to track along with the ad revenue event. - Вызовите api
appsFlyer.logAdRevenue
method with theadRevenueData
object.
By passing all the required fields in AFAdRevenueData
, you help ensure accurate tracking within the AppsFlyer platform. This enables you to analyze your ad revenue alongside other user acquisition data to optimize your app's overall monetization strategy.
Note: The additionalParameters
object is optional. You can add any additional data you want to log with the ad revenue event in this object. This can be useful for detailed analytics or specific event tracking later on. Make sure that the custom parameters follow the data types and structures specified by AppsFlyer in their documentation.
Android Only APIs
setCollectAndroidID
setCollectAndroidID(isCollect, callback)
Opt-out of collection of Android ID.
If the app does NOT contain Google Play Services, Android ID is collected by the SDK.
However, apps with Google play services should avoid Android ID collection as this is in violation of the Google Play policy.
parameter | type | description |
---|---|---|
isCollect | булевое значение | opt-in boolean |
callback | function | success callback |
Пример:
if (Platform.OS == 'android') {
appsFlyer.setCollectAndroidID(true, (res) => {
//...
});
}
setCollectIMEI
setCollectIMEI(isCollect, callback)
Opt-out of collection of IMEI.
If the app does NOT contain Google Play Services, device IMEI is collected by the SDK.
However, apps with Google play services should avoid IMEI collection as this is in violation of the Google Play policy.
parameter | type | description |
---|---|---|
isCollect | булевое значение | opt-in boolean |
callback | function | success callback |
Пример:
if (Platform.OS == 'android') {
appsFlyer.setCollectIMEI(false, (res) => {
//...
});
}
setDisableNetworkData setDisableNetworkData(disable)
setDisableNetworkData(disable)
Используется для отказа от сбора названия оператора сети (carrier) и названия оператора SIM-карты с устройства.
parameter | type | description |
---|---|---|
отключить | булевое значение | Defaults to false. |
Пример:
if (Platform.OS == 'android') {
appsFlyer.setDisableNetworkData(true);
}
performOnDeepLinking
performOnDeepLinking()
Enables manual triggering of deep link resolution. This method allows apps that are delaying the call to appsFlyer.startSdk()
to resolve deep links before the SDK starts.
Note:
This API will trigger the appsFlyer.onDeepLink
callback. In the following example, we check if res.deepLinkStatus
is equal to “FOUND” inside appsFlyer.onDeepLink
callback to extract the deeplink parameters.
Пример:
// Let's say we want the resolve a deeplink and get the deeplink params when the user clicks on it but delay the actual 'start' of the sdk (not sending launch to appsflyer).
const option = {
isDebug: true,
devKey: 'UsxXxXxed',
appId: '75xXxXxXxXx11',
onInstallConversionDataListener: true,
onDeepLinkListener: true,
manualStart: true, // <--- for manual start.
};
const onDeepLink = appsFlyer.onDeepLink(res => {
if (res.deepLinkStatus == 'FOUND') {
// here we will get the deeplink params after resolving it.
// more flow...
}
});
appsFlyer.initSdk(
option,
() => {
if (!option.manualStart) {
console.warn('AppsFlyer SDK started!');
} else {
console.warn('AppsFlyer SDK init, didn\'t send launch yet');
}
},
() => {},
);
if (Platform.OS == 'android') {
appsFlyer.performOnDeepLinking();
}
// more app flow...
appsFlyer.startSdk(); // <--- Here we send launch
iOS Only APIs
disableCollectASA
disableCollectASA(shouldDisable)
Disables Apple Search Ads collecting
parameter | type | description |
---|---|---|
shouldDisable | булевое значение | Flag to disable/enable Apple Search Ads data collection |
Пример:
if (Platform.OS == 'ios') {
appsFlyer.disableCollectASA(true);
}
disableIDFVCollection
disableIDFVCollection(shouldDisable)
Disables app vendor identifier (IDFV) collection in iOS.
Default is false (the SDK will collect IDFV).
parameter | type | description |
---|---|---|
shouldDisable | булевое значение | Flag to disable/enable IDFV collection |
Пример:
if (Platform.OS == 'ios') {
appsFlyer.disableIDFVCollection(true);
}
setUseReceiptValidationSandbox
void setUseReceiptValidationSandbox(bool useReceiptValidationSandbox)
Проверка чека для покупок в приложении в среде Apple (рабочей среде или песочнице). По умолчанию установлено значение false.
parameter | type | description |
---|---|---|
setUseReceiptValidationSandbox | булевое значение | true, если покупка в приложении осуществляется в среде песочницы |
Пример:
appsFlyer.setUseReceiptValidationSandbox(true);
disableSKAD
disableSKAD(disableSkad)
❗Important❗ disableSKAD
must be called before calling initSDK
and for iOS ONLY!
parameter | type | description |
---|---|---|
disableSkad | булевое значение | true if you want to disable SKADNetwork |
Пример:
if (Platform.OS == 'ios') {
appsFlyer.disableSKAD(true);
}
setCurrentDeviceLanguage
setCurrentDeviceLanguage(language)
Set the language of the device. The data will be displayed in Raw Data Reports
If you want to clear this property, set an empty string. ("")
parameter | type | description |
---|---|---|
language | строка | language of the device |
Пример:
if (Platform.OS == 'ios') {
appsFlyer.setCurrentDeviceLanguage("EN");
}
AppsFlyerConversionData
onInstallConversionData
onInstallConversionData(callback) : function:unregister
Accessing AppsFlyer Attribution / Conversion Data from the SDK (Deferred Deeplinking).
The code implementation for the conversion listener must be made prior to the initialization code of the SDK.
parameter | type | description |
---|---|---|
callback | function | conversion data result |
Пример:
const onInstallConversionDataCanceller = appsFlyer.onInstallConversionData(
(res) => {
if (JSON.parse(res.data.is_first_launch) == true) {
if (res.data.af_status === 'Non-organic') {
var media_source = res.data.media_source;
var campaign = res.data.campaign;
alert('This is first launch and a Non-Organic install. Media source: ' + media_source + ' Campaign: ' + campaign);
} else if (res.data.af_status === 'Organic') {
alert('This is first launch and a Organic Install');
}
} else {
alert('This is not first launch');
}
}
);
appsFlyer.initSdk(/*...*/);
Example onInstallConversionData:
{
"data": {
"af_message": "organic install",
"af_status": "Organic",
"is_first_launch": "true"
},
"status": "success",
"type": "onInstallConversionDataLoaded"
}
Note** is_first_launch will be "true" (string) on Android and true (boolean) on iOS. To solve this issue wrap is_first_launch with JSON.parse(res.data.is_first_launch) as in the example above.
appsFlyer.onInstallConversionData
returns a function the will allow us to call NativeAppEventEmitter.remove()
.
onInstallConversionFailure
onInstallConversionFailure(callback) : function:unregister
parameter | type | description |
---|---|---|
callback | function | Failed conversion data result |
Пример:
const onInstallGCDFailure = appsFlyer.onInstallConversionFailure(res => {
console.log(JSON.stringify(res, null, 2));
});
Example onInstallConversionFailure:
{
"status": "failure",
"type": "onInstallConversionFailure",
"data": "DevKey is incorrect"
}
onAppOpenAttribution
onAppOpenAttribution(callback) : function:unregister
This API is related to DeepLinks. Please read more here
parameter | type | description |
---|---|---|
callback | function | onAppOpenAttribution data result |
Пример:
const onAppOpenAttributionCanceller = appsFlyer.onAppOpenAttribution((res) => {
console.log(res);
});
appsFlyer.initSdk(/*...*/);
onAttributionFailure
onAttributionFailure(callback) : function:unregister
This API is related to DeepLinks. Please read more here
parameter | type | description |
---|---|---|
callback | function | onAppOpenAttribution data error |
Пример:
const onAppOpenAttributionCanceller = appsFlyer.onAttributionFailure((res) => {
console.log(res);
});
appsFlyer.initSdk(/*...*/);
onDeepLink
onDeepLink(callback) : function:unregister
This API is related to DeepLinks. Please read more here
parameter | type | description |
---|---|---|
callback | function | UDL data error |
Пример:
const onDeepLinkCanceller = appsFlyer.onDeepLink(res => {
if (res?.deepLinkStatus !== 'NOT_FOUND') {
const DLValue = res?.data.deep_link_value;
const mediaSrc = res?.data.media_source;
const param1 = res?.data.af_sub1;
console.log(JSON.stringify(res?.data, null, 2));
}
})
appsFlyer.initSdk(/*...*/);
Изменения сохранены 29 дней назад