Referencia de API
APIs
La lista de métodos disponibles para este plugin se describe a continuación.
- Android and iOS APIs
- initSDK
- startSDK
- logEvent
- setCustomerUserId
- stop
- setAppInviteOneLinkID
- setAdditionalData
- setResolveDeepLinkURLs
- setOneLinkCustomDomain
- setCurrencyCode
- logLocation
- anonymizeUser
- getAppsFlyerUID
- setHost
- setUserEmails
- generateInviteLink
- setSharingFilterForAllPartners En desuso
- setSharingFilter En desuso
- setSharingFilterForPartners
- validateAndLogInAppPurchase
- updateServerUninstallToken
- sendPushNotificationData
- addPushNotificationDeepLinkPath
- appendParametersToDeepLinkingURL
- disableAdvertisingIdentifier
- enableTCFDataCollection
- setConsentData
- logAdRevenue
- API solo para Android
- API solo para iOS
- AppsFlyerConversionData
Android and iOS APIs
initSdk
initSdk(options, success, error)
Inicializa el SDK de AppsFlyer con devKey y appID.
La clave de desarrollador es necesaria para todas las aplicaciones y el appID solo se requiere para iOS.
(también puedes transmitir el appID en Android, y será ignorado)
parameter | type | description |
---|---|---|
options | JSON | opciones de inicialización |
éxito | función | devolución de llamada de éxito |
error | función | devolución de llamada de error |
Configuración | Descripción |
---|---|
Dev key | Your application devKey provided by AppsFlyer (required) |
App ID | App ID (iOS only) you configured in your AppsFlyer dashboard |
isDebug | Modo de depuración: establecido en true solo para pruebas |
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) |
Ejemplo:
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()
En la versión 6.9.1 del SDK react-native-appslfyer, agregamos la opción de dividir entre la etapa de inicialización y la etapa de inicio. Solo tienes que agregar la propiedad manualStart: true al objeto init, y después llamar a appsFlyer.startSdk() cuando quieras. Si esta propiedad se establece en false o no existe, el sdk se iniciará después de llamar a appsFlyer.initSdk(...)
.
Ejemplo:
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)
Los eventos in-app brindan conocimientos sobre lo que está sucediendo en tu aplicación. Se recomienda tomarse el tiempo y definir los eventos que deseas medir para que puedas medir el ROI (Retorno de la Inversión) y el LTV (Valor del Tiempo de Vida).
El registro de eventos in-app se realiza llamando a logEvent con el nombre del evento y los parámetros de valor. Consulta la documentación sobre eventos in-app para conocer más detalles.
Nota: El nombre de un evento in-app no debe tener más de 45 caracteres. Los nombres de eventos con más de 45 caracteres no aparecen en el panel de control, sino solo en las API de raw data, Pull y Push.
parameter | type | description |
---|---|---|
eventName | Cadena | El nombre del evento |
Valores del evento | JSON | Los valores del evento que se envían con el evento |
éxito | función | devolución de llamada de éxito |
error | función | devolución de llamada de éxito |
Ejemplo:
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)
Al configurar tu propio ID personalizado, podrás establecer referencias cruzadas entre tu propio ID exclusivo, el ID de usuario de AppsFlyer y los ID de los otros dispositivos. Este ID está disponible en los informes en CSV de AppsFlyer junto con las API de postbacks para hacer referencias cruzadas con tus ID internos.
Si deseas ver el CUID (ID de usuario de cliente) debajo de tus reportes de raw data de instalaciones, debe llamarse antes de iniciar el SDK.
Si simplemente deseas agregar un ID de usuario adicional a los reportes de raw data de eventos, entonces puedes llamarlo libremente en cualquier momento que lo necesites.
parameter | type | description |
---|---|---|
userId | Cadena | ID de usuario |
callback | función | devolución de llamada de éxito |
Ejemplo:
appsFlyer.setCustomerUserId('some_user_id', (res) => {
//..
});
stop
stop(isStopped, callback)
En algunos casos extremos, tal vez quieras desactivar todas las funciones del SDK para el cumplimiento normativo legal y de privacidad. Puedes hacer esto con la API stopSDK. Una vez invocada esta API, nuestro SDK ya no se comunicará con nuestros servidores y dejará de funcionar.
Existen varios casos para que un usuario opte por la exclusión opcional. Es muy recomendable que sigas las instrucciones exactas para la situación correspondiente a tu aplicación.
En cualquier evento, se puede reactivar el SDK llamando a la misma API y pasando un valor falso.
parameter | type | description |
---|---|---|
isStopped | Booleano | True si se detiene el SDK (el valor predeterminado es false). |
callback | función | devolución de llamada de éxito |
Ejemplo:
appsFlyer.stop(true, (res) => {
//...
});
setAppInviteOneLinkID
setAppInviteOneLinkID(oneLinkID, callback)
Establece el ID de OneLink que se debe usar para la API User-Invite.
El enlace que se genera para la invitación de usuario utilizará este ID de OneLink como ID de enlace base.
parameter | type | description |
---|---|---|
ID de OneLink | Cadena | ID de OneLink |
callback | función | devolución de llamada de éxito |
Ejemplo:
appsFlyer.setAppInviteOneLinkID('abcd', (res) => {
//...
});
setAdditionalData
setAdditionalData(additionalData, callback)
La API setAdditionalData es necesaria para integrarse a nivel del SDK con varias plataformas de partners externos, como Segment, Adobe y Urban Airship. Usa esta API solo si el artículo de integración de la plataforma indica específicamente que se necesita la API setAdditionalData.
parameter | type | description |
---|---|---|
Datos adicionales | JSON | Datos adicionales |
callback | función | devolución de llamada de éxito |
Ejemplo:
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 | Matriz | Matriz separada por comas de dominios ESP que requieren resolución |
successC | función | devolución de llamada de éxito |
errorC | función | devolución de llamada de error |
Ejemplo:
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 | Matriz | Matriz de dominios de marca separados por comas |
successC | función | devolución de llamada de éxito |
errorC | función | devolución de llamada de error |
Ejemplo:
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 | Cadena | currencyCode |
callback | función | devolución de llamada de éxito |
Ejemplo:
appsFlyer.setCurrencyCode(currencyCode, () => {});
logLocation
logLocation(longitude, latitude, callback)
Registra manualmente la ubicación del usuario.
parameter | type | description |
---|---|---|
Longitud | flotante | Longitud |
Latitud | flotante | Latitud |
callback | función | Devoluciones de llamada de éxito/error |
Ejemplo:
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 | Booleano | True si deseas anonimizar los datos de los usuarios (el valor predeterminado es false). |
callback | función | devolución de llamada de éxito |
Ejemplo:
appsFlyer.anonymizeUser(true, () => {});
getAppsFlyerUID
getAppsFlyerUID(callback)
El ID de dispositivo exclusivo de AppsFlyer se crea para cada nueva instalación de una aplicación. Usa el siguiente API para obtener el ID único de AppsFlyer.
parameter | type | description |
---|---|---|
callback | función | Devoluciones (error, appsFlyerUID) |
Ejemplo:
appsFlyer.getAppsFlyerUID((err, appsFlyerUID) => {
if (err) {
console.error(err);
} else {
console.log('on getAppsFlyerUID: ' + appsFlyerUID);
}
});
setHost
setHost(hostPrefix, hostName, successC)
Establece un host personalizado
parameter | type | description |
---|---|---|
hostPrefix | Cadena | el prefijo del host |
hostName | Cadena | el nombre del host |
successC | función | devolución de llamada de éxito |
Ejemplo:
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 | configuración del correo electrónico |
éxito | función | devolución de llamada de éxito |
error | función | devolución de llamada de error |
opción | type | description |
---|---|---|
emailsCryptType | int | none - 0 (default), SHA256 - 3 |
emails | Matriz | lista de correos electrónicos separados por comas |
Ejemplo:
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 |
---|---|---|
Parámetros | JSON | parámetros para el enlace de invitación |
éxito | función | devolución de llamada de éxito (enlace generado) |
error | función | devolución de llamada de error |
Ejemplo:
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
Ejemplo:
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 |
---|---|---|
partners | Matriz | Matriz de partners que deben excluirse separados por comas |
successC | función | devolución de llamada de éxito |
errorC | función | devolución de llamada de error |
Ejemplo:
let partners = ["facebook_int","googleadwords_int","snapchat_int","doubleclick_int"]
appsFlyer.setSharingFilterForAllPartners(partners,
(res) => {
console.log(res);
}, (error) => {
console.log(error);
})
setSharingFilterForPartners
setSharingFilterForPartners(partners)
Utilizado por los anunciantes para excluir a las redes y partners integrados de la obtención de datos.
parameter | type | description |
---|---|---|
partners | Matriz | Matriz de partners que deben excluirse separados por comas |
Ejemplo:
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 | Parámetros de compra in-app |
successC | función | devolución de llamada de éxito (enlace generado) |
errorC | función | devolución de llamada de error |
Ejemplo:
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)
Transmite manualmente el token del dispositivo de Firebase / GCM para la medición de desinstalaciones.
parameter | type | description |
---|---|---|
token | Cadena | Token FCM |
callback | función | devolución de llamada de éxito |
Ejemplo:
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 | carga útil de notificación push |
ErrorCB | función | devuelve un mensaje de error cuando la carga útil no ha sido enviada |
Ejemplo:
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
Agrega un conjunto de claves, que se usan para componer la ruta de la clave para resolver el enlace profundo desde la carga útil de las notificaciones push.
parameter | type | description |
---|---|---|
path | Matriz | matriz de cadenas que corresponde a la ruta JSON del enlace profundo. |
successCB | función | devolución de llamada de éxito |
errorCB | función | devolución de llamada de error |
Ejemplo:
let path = ['deeply', 'nested', 'deep_link'];
appsFlyer.addPushNotificationDeepLinkPath(
path,
res => console.log(res),
error => console.log(error),
);
Esta llamada coincide con la siguiente estructura de carga útil:
{
...
"deeply": {
"nested": {
"deep_link": "https://yourdeeplink2.onelink.me"
}
}
...
}
appendParametersToDeepLinkingURL
appendParametersToDeepLinkingURL(contains, parameters): void
Hace coincidir las URL que contienen 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
debe incluir la clavestring
y el valorstring
value - Llama a esta API antes de llamar a
appsFlyer.initSDK()
- Debes proporcionar los siguientes parámetros:
pid
,is_retargeting
se debe establecer en'true'
parameter | type | description |
---|---|---|
contiene | Cadena | La cadena para verificar la URL |
Parámetros | objeto | Parámetros para agregar a la URL del enlace profundo después de pasar la validación |
Ejemplo:
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 | Booleano | Flag that disable/enable Advertising ID collection |
Ejemplo:
appsFlyer.disableAdvertisingIdentifier(true);
enableTCFDataCollection
enableTCFDataCollection(enabled): void
instruct the SDK to collect the TCF data from the device.
parameter | type | description |
---|---|---|
enabled | Booleano | enable/disable TCF data collection |
Ejemplo:
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 | Booleano | Indicates whether the user has consented to use their data for advertising purposes |
hasConsentForAdsPersonalization | Booleano | Indicates whether the user has consented to use their data for personalized advertising |
Ejemplo:
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.
Parámetros
Param | Tipo |
---|---|
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. - Llama a la 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.
API solo para Android
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 | Booleano | booleano de inclusión opcional |
callback | función | devolución de llamada de éxito |
Ejemplo:
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 | Booleano | booleano de inclusión opcional |
callback | función | devolución de llamada de éxito |
Ejemplo:
if (Platform.OS == 'android') {
appsFlyer.setCollectIMEI(false, (res) => {
//...
});
}
setDisableNetworkData setDisableNetworkData(disable)
setDisableNetworkData(disable)
Se utiliza para la exclusión opcional de la recopilación del nombre del operador de red (compañía) y del nombre del operador de la SIM del dispositivo.
parameter | type | description |
---|---|---|
deshabilitar | Booleano | Por defecto es false. |
Ejemplo:
if (Platform.OS == 'android') {
appsFlyer.setDisableNetworkData(true);
}
performOnDeepLinking
performOnDeepLinking()
Habilita la activación manual de la resolución de enlaces profundos. Este método permite que las aplicaciones que están retrasando la llamada a appsFlyer.startSdk()
resuelvan los enlaces profundos antes de que se inicie el SDK.
Nota:
Esta API activará la devolución de llamada appsFlyer.onDeepLink
. En el siguiente ejemplo, comprobamos si res.deepLinkStatus
es igual a “FOUND” dentro de la devolución de llamada appsFlyer.onDeepLink
para extraer los parámetros de enlace profundo.
Ejemplo:
// 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
API solo para iOS
disableCollectASA
disableCollectASA(shouldDisable)
Desactiva la recopilación de Apple Search Ads
parameter | type | description |
---|---|---|
shouldDisable | Booleano | Indicador para deshabilitar/habilitar la recopilación de datos de Apple Search Ads |
Ejemplo:
if (Platform.OS == 'ios') {
appsFlyer.disableCollectASA(true);
}
disableIDFVCollection
disableIDFVCollection(shouldDisable)
Deshabilita la recopilación del identificador de proveedor (IDFV) de la aplicación en iOS.
El valor predeterminado es false (el SDK recopilará el IDFV).
parameter | type | description |
---|---|---|
shouldDisable | Booleano | Indicador para deshabilitar/habilitar la recopilación del IDFV |
Ejemplo:
if (Platform.OS == 'ios') {
appsFlyer.disableIDFVCollection(true);
}
setUseReceiptValidationSandbox
void setUseReceiptValidationSandbox(bool useReceiptValidationSandbox)
Validación de recibos de compras in-app en el entorno de Apple (producción o entorno de pruebas). El valor predeterminado es false.
parameter | type | description |
---|---|---|
setUseReceiptValidationSandbox | Booleano | true si la compra in-app se realiza con entorno de pruebas |
Ejemplo:
appsFlyer.setUseReceiptValidationSandbox(true);
disableSKAD
disableSKAD(disableSkad)
❗Importante❗ disableSKAD
debe llamarse antes de llamar a initSDK
y ¡SOLAMENTE para iOS!
parameter | type | description |
---|---|---|
disableSkad | Booleano | true si quieres desactivar SKADNetwork |
Ejemplo:
if (Platform.OS == 'ios') {
appsFlyer.disableSKAD(true);
}
setCurrentDeviceLanguage
setCurrentDeviceLanguage(language)
Establece el idioma del dispositivo. Los datos se mostrarán en los reportes de raw data
Si deseas borrar esta propiedad, establece una cadena vacía. ("")
parameter | type | description |
---|---|---|
language | Cadena | idioma del dispositivo |
Ejemplo:
if (Platform.OS == 'ios') {
appsFlyer.setCurrentDeviceLanguage("EN");
}
AppsFlyerConversionData
onInstallConversionData
onInstallConversionData(callback) : function:unregister
Acceso a los datos de atribución/conversión de AppsFlyer desde el SDK (enlaces profundos diferidos).
La implementación del código para el oyente de conversión debe realizarse antes del código de inicialización del SDK.
parameter | type | description |
---|---|---|
callback | función | resultado de los datos de conversión |
Ejemplo:
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(/*...*/);
Ejemplo de 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
devuelve una función que nos permitirá llamar a NativeAppEventEmitter.remove()
.
onInstallConversionFailure
onInstallConversionFailure(callback) : function:unregister
parameter | type | description |
---|---|---|
callback | función | Resultado de datos de conversión fallidos |
Ejemplo:
const onInstallGCDFailure = appsFlyer.onInstallConversionFailure(res => {
console.log(JSON.stringify(res, null, 2));
});
Ejemplo 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 | función | Resultado de datos onAppOpenAttribution |
Ejemplo:
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 | función | Error de datos onAppOpenAttribution |
Ejemplo:
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 | función | Error de datos UDL |
Ejemplo:
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(/*...*/);
Actualizado hace 21 días