Referencia de API
La lista de métodos disponibles para este plugin se describe a continuación.
- API de Android, iOS y Windows
- API de iOS y Android
- stopSDK
- isSDKStopped
- getSdkVersion
- setIsDebug
- addPushNotificationDeepLinkPath
- setCustomerUserId
- setAppInviteOneLinkID
- setAdditionalData
- setResolveDeepLinkURLs
- setOneLinkCustomDomain
- setCurrencyCode
- setDeepLinkTimeout
- enableTCFDataCollection
- setConsentData
- recordLocation
- anonymizeUser
- getAppsFlyerId
- setMinTimeBetweenSessions
- setHost
- setUserEmails
- setPhoneNumber
- getConversionData
- attributeAndOpenStore
- logAdRevenue
- recordCrossPromoteImpression
- generateUserInviteLink
- setSharingFilterForAllPartners (en desuso)
- SetSharingFilter (en desuso)
- setSharingFilterForPartners
- setPartnerData
- API solo para Android
- updateServerUninstallToken
- setImeiData
- setAndroidIdData
- waitForCustomerUserId
- setCustomerIdAndStartSDK
- getOutOfStore
- setOutOfStore
- setCollectAndroidID
- setCollectIMEI
- setIsUpdate
- setPreinstallAttribution
- isPreInstalledApp
- handlePushNotifications
- getAttributionId
- validateAndSendInAppPurchase-beta
- validateAndSendInAppPurchase
- setCollectOaid
- setDisableAdvertisingIdentifiers
- setDisableNetworkData
- API solo para iOS
- setDisableCollectAppleAdSupport
- handlePushNotifications(iOS)
- setShouldCollectDeviceName
- setDisableCollectIAd
- setUseReceiptValidationSandbox
- setUseUninstallSandbox
- validateAndSendInAppPurchase-beta-iOS
- validateAndSendInAppPurchase
- registerUninstall
- handleOpenUrl
- waitForATTUserAuthorizationWithTimeoutInterval
- disableSKAdNetwork
- setLanguage
- disableIDFVCollection
- IAppsFlyerConversionData
- IAppsFlyerUserInvite
- IAppsFlyerValidateReceipt
- IAppsFlyerValidateAndLog
- Panel de Eventos
API de Android, iOS y Windows
initSDK
void initSDK(string devKey, string appID, MonoBehaviour gameObject)
Inicializa el SDK de AppsFlyer con devKey y appID.
La clave de desarrollador es necesaria para todas las aplicaciones y appID solo se requiere para iOS.
Si tu aplicación es solo para Android, pasa el valor nulo para appID.
parameter | type | description |
---|---|---|
dev_key | string | La clave de desarrollador de AppsFlyer, a la que se puede acceder desde tu cuenta de AppsFlyer en 'Configuración de la aplicación' en el panel de control. |
app_id | string | El ID de Apple de tu aplicación. |
gameObject (opcional) | MonoBehaviour | El objeto de juego contiene la interfaz IAppsFlyerConversionData. |
Ejemplo:
AppsFlyer.initSDK("dev_key", "app_id"); // without deeplinking
AppsFlyer.initSDK("dev_key", "app_id", this); // with deeplinking
Nota: Solo necesitas implementar el SDK with deeplinking si estás usando la interfaz IAppsFlyerConversionData
.
startSDK
void startSDK()
Una vez que se invoca esta API, se iniciará el SDK, se enviarán inmediatamente las sesiones y todas las transiciones de fondo en primer plano registrarán una sesión.
Ejemplo:
AppsFlyer.startSDK();
API de iOS y Android
stopSDK
void stopSDK(bool isSDKStopped)
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.
Importante:
No llames a startSDK() si stopSDK() está establecido en true.
Para volver a reiniciar las funciones del SDK, utiliza la siguiente API:
AppsFlyer.stopSDK(false);
Advertencia
Utiliza la API stopSDK solo en casos en los que quieras ignorar por completo estas funciones del SDK del usuario. La utilización de esta API afecta GRAVEMENTE tus mecanismos de atribución, recopilación de datos y enlaces profundos.
parameter | type | description |
---|---|---|
isSDKStopped | bool | True si se detiene el SDK (el valor predeterminado es false). |
Ejemplo:
AppsFlyer.stopSDK(true);
isSDKStopped
bool isSDKStopped()
Se estableció la API stopSDK (booleana) en true
.
Ejemplo:
if (!AppsFlyer.isSDKStopped())
{
}
getSdkVersion
string getSdkVersion()
Obtén la versión del SDK de AppsFlyer que se usa en la aplicación.
Ejemplo:
string version = AppsFlyer.getSdkVersion();
setIsDebug
void setIsDebug(bool shouldEnable)
Habilita los registros de depuración para el SDK de AppsFlyer.
Advertencia
Solo establecido en true en desarrollo/depuración.
parameter | type | description |
---|---|---|
shouldEnable | bool | True si el modo de depuración está activado (el valor predeterminado es false) |
Ejemplo:
AppsFlyer.setIsDebug(true);
addPushNotificationDeepLinkPath
void addPushNotificationDeepLinkPath(params string[] paths)
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 |
---|---|---|
paths | string[] | array of strings that represent the key path to the deeplink in the push notification payload |
Ejemplo:
Ejemplo de uso
Configuración básica:
AppsFlyer.addPushNotificationDeepLinkPath("af_push_link")
Esta llamada coincide con la siguiente estructura de carga útil:
{
"af_push_link": "https://yourdeeplink2.onelink.me"
}
ֿAdvanced configuration:
string[] paths = {"deeply", "nested", "deep_link"};
AppsFlyer.addPushNotificationDeepLinkPath(paths);
Esta llamada coincide con la siguiente estructura de carga útil:
{
"deeply": {
"nested": {
"deep_link": "https://yourdeeplink2.onelink.me"
}
}
}
setCustomerUserId
void setCustomerUserId(string id)
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.
parameter | type | description |
---|---|---|
id | string | ID de usuario personalizado |
Ejemplo:
AppsFlyer.setCustomerUserId("custom_user_id");
setAppInviteOneLinkID
void setAppInviteOneLinkID(string oneLinkId)
Establece el ID de OneLink que se debe usar para la API User-Invite
El enlace que se genera para la invitación del usuario utilizará este OneLink como enlace base.
parameter | type | description |
---|---|---|
oneLinkId | string | ID de OneLink para la atribución de invitaciones de usuarios |
Ejemplo:
AppsFlyer.setAppInviteOneLinkID("abcd");
setAdditionalData
void setAdditionalData(Dictionary<string, string> customData)
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 |
---|---|---|
customData | Dictionary<string, string> | Datos adicionales |
Ejemplo:
Dictionary<string, string> customData = new Dictionary<string, string>();
customData.Add("custom1", "someData");
AppsFlyer.setAdditionalData(customData);
setResolveDeepLinkURLs
void setResolveDeepLinkURLs(params string[] urls)
Si usas OneLinks que sean compatibles con los enlaces de aplicaciones de Android y los encapsulas con un enlace universal de terceros, puedes usar la API setResolveDeepLinkURLs para notificar al SDK de AppsFlyer qué dominios de clic que invocan la aplicación debe resolver el SDK y obtener el OneLink resultante extraído de ellos. Esto te permitirá mantener los enlaces profundos y la atribución mientras encapsulas el OneLink con un enlace universal de terceros. Asegúrate de llamar a esta API antes de la inicialización del SDK.
parameter | type | description |
---|---|---|
urls | params string[] | Matriz de URLs |
Ejemplo:
AppsFlyer.setResolveDeepLinkURLs("test.com", "test2.ca");
setOneLinkCustomDomain
void setOneLinkCustomDomain(params string[] domains)
Los anunciantes pueden usar este método para configurar dominios acortados de OneLink.
parameter | type | description |
---|---|---|
domains | params string[] | Matriz de dominios personalizados |
Ejemplo:
AppsFlyer.setOneLinkCustomDomain("test.domain", "test2.domain");
setCurrencyCode
void setCurrencyCode(string currencyCode)
Establece el código de divisa local del usuario para las compras in-app.
El código de divisa debe ser un código ISO 4217 de 3 caracteres. (la opción predeterminada es USD).
Puedes establecer el código de divisa para todos los eventos llamando al siguiente método.
parameter | type | description |
---|---|---|
currencyCode | string | Código de divisa ISO 4217 de 3 caracteres (la opción predeterminada es USD). |
Ejemplo:
AppsFlyer.setCurrencyCode("GBP");
setDeepLinkTimeout
void setDeepLinkTimeout(long deepLinkTimeout)
Setting the deepLink timeout value that should be used for DDL.
If you want to use it, set it before the DDL setting.
parameter | type | description |
---|---|---|
deepLinkTimeout | long | in milliseconds |
Ejemplo:
AppsFlyer.setDeepLinkTimeout(2000);
enableTCFDataCollection
void enableTCFDataCollection(bool shouldCollectTcfData)
Calling enableTCFDataCollection(true) will enable collecting and sending any TCF related data.
Calling enableTCFDataCollection(false) will disable the collection of TCF related data and from sending it.
parameter | type | description |
---|---|---|
shouldCollectTcfData | bool | true to enable data collection |
Ejemplo:
AppsFlyer.enableTCFDataCollection(true);;
setConsentData
void setConsentData(AppsFlyerConsent appsFlyerConsent)
Sets or updates the user consent data related to GDPR and DMA regulations for advertising and data usage purposes within the application.
parameter | type | description |
---|---|---|
appsFlyerConsent | AppsFlyerConsent | Instance of AppsFlyerConsent class |
Ejemplo:
AppsFlyerConsent consent = AppsFlyerConsent.ForGDPRUser(false, false);
AppsFlyer.setConsentData(consent);
recordLocation
void recordLocation(double latitude, double longitude)
Registra manualmente la ubicación del usuario.
parameter | type | description |
---|---|---|
latitude | double | Latitud del usuario |
longitude | double | Longitud del usuario |
Ejemplo:
AppsFlyer.recordLocation(40.7128, 74.0060);
anonymizeUser
void anonymizeUser(bool shouldAnonymizeUser)
AppsFlyer te ofrece un método para anonimizar identificadores de usuarios específicos en los análisis de AppsFlyer. Este método cumple con los últimos requisitos de privacidad y con las políticas de datos y privacidad de Facebook. El valor predeterminado es NO, lo que significa que no se realiza anonimización por defecto.
Usa esta API durante la Inicialización del SDK para anonimizar explícitamente las instalaciones, los eventos y las sesiones de un usuario.
Puedes cancelar la anonimización llamando de nuevo a anonymizeUser, establecido en false.
Advertencia
Anonimizar a los usuarios afecta SEVERAMENTE tu información de atribución.
Usa esta opción SOLO para regiones donde la ley te impida recopilar información de tus usuarios.
parameter | type | description |
---|---|---|
shouldAnonymizeUser | bool | True para realizar anonimización |
Ejemplo:
AppsFlyer.anonymizeUser(true);
getAppsFlyerId
string getAppsFlyerId()
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.
Ejemplo:
string uid = AppsFlyer.getAppsFlyerId();
setMinTimeBetweenSessions
void setMinTimeBetweenSessions(int seconds)
De manera predeterminada, deben pasar por lo menos 5 segundos entre 2 inicios de aplicaciones para que cuenten como 2 sesiones separadas (más información acerca del recuento de sesiones). Sin embargo, puedes usar la siguiente API para establecer tu valor personalizado para el tiempo mínimo requerido entre sesiones.
Nota: Ten en cuenta que si estableces un valor alto para el tiempo personalizado entre inicios, esto puede afectar mucho a las API que dependen de los datos de sesión, como los enlaces profundos.
parameter | type | description |
---|---|---|
seconds | int | Tiempo entre sesiones (el valor predeterminado es 5 segundos) |
Ejemplo:
AppsFlyer.setMinTimeBetweenSessions(4);
setHost
void setHost(string hostPrefixName, string hostName)
Configura un host personalizado
parameter | type | description |
---|---|---|
hostPrefixName | string | |
hostName | string |
Ejemplo:
AppsFlyer.setHost("hostPrefixName","hostName");
setUserEmails
void setUserEmails(EmailCryptType cryptMethod, params string[] emails)
Configura los correos electrónicos de los usuarios y los encripta.
cryptMethod Encryption methods:
EmailCryptType.EmailCryptTypeSHA256
EmailCryptType.EmailCryptTypeNone
parameter | type | description |
---|---|---|
cryptMethod | EmailCryptType | Ninguno o sha256 |
emails | params string[] | Lista de correos electrónicos |
Ejemplo:
AppsFlyer.setUserEmails(EmailCryptType.EmailCryptTypeSHA256, "[email protected]", "[email protected]");
setPhoneNumber
void setPhoneNumber(string phoneNumber)
Establece el número de teléfono del usuario.
parameter | type | description |
---|---|---|
phoneNumber | string |
Ejemplo:
AppsFlyer.setPhoneNumber("4166358181");
getConversionData
void getConversionData(string objectName);
Registra un oyente de datos de conversión.
Permite al desarrollador acceder a los datos de atribución del usuario en tiempo real para cada nueva instalación, directamente desde el nivel SDK.
Al hacer esto, puedes ofrecer a los usuarios contenido personalizado o enviarlos a actividades específicas dentro de la aplicación,
lo que puede mejorar enormemente su engagement con tu aplicación.
Obtén las devoluciones de llamadas implementando la interfaz IAppsFlyerConversionData.
parameter | type | description |
---|---|---|
objectName | string | Objeto de juego con la interfaz IAppsFlyerConversionData |
Ejemplo:
AppsFlyer.getConversionData(gameObject.name);
attributeAndOpenStore
void attributeAndOpenStore(string appID, string campaign, Dictionary<string, string> userParams, MonoBehaviour gameObject)
Utiliza la siguiente API para atribuir el clic e iniciar la página de la aplicación de la tienda de aplicaciones.
Obtén las devoluciones de llamadas implementando la interfaz IAppsFlyerUserInvite.
parameter | type | description |
---|---|---|
appID | string | |
campaign | string | |
userParams | Dictionary<string, string> | |
gameObject | MonoBehaviour | Objeto de juego con la interfaz IAppsFlyerUserInvite |
Ejemplo:
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);
logAdRevenue
void logAdRevenue(AFAdRevenueData adRevenueData, Dictionary<string, string> additionalParameters)
Logs ad revenue data along with additional parameters if provided.
parameter | type | description |
---|---|---|
adRevenueData | AFAdRevenueData | Instance of AFAdRevenueData containing ad revenue information |
additionalParameters | Dictionary<string, string> | An optional map of additional parameters to be logged with ad revenue data |
Ejemplo:
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("value1", "5");
parameters.Add(AdRevenueScheme.COUNTRY, "USA");
var logRevenue = new AFAdRevenueData("monetizationNetworkEx", MediationNetwork.GoogleAdMob, "USD", 0.99);
AppsFlyer.logAdRevenue(logRevenue, parameters);
recordCrossPromoteImpression
void recordCrossPromoteImpression(string appID, string campaign);
Para atribuir una impresión, usa la siguiente llamada a la API.
Asegúrate de usar el ID de aplicación promocionada tal y como aparece en el panel de control de AppsFlyer.
parameter | type | description |
---|---|---|
appID | string | App ID |
campaign | string | campaign |
params | Dictionary<string, string> | Parámetros adicionales |
Ejemplo:
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)
La clase LinkGenerator crea la URL de invitación de acuerdo con varios métodos del setter, lo que permite transmitir información adicional al hacer clic.
Ver - https://support.appsflyer.com/hc/en-us/articles/115004480866-User-invite-attribution-
parameter | type | description |
---|---|---|
parameters | Dictionary<string, string> | |
gameObject | MonoBehaviour | Objeto de juego con la interfaz IAppsFlyerUserInvite |
Ejemplo:
AppsFlyer.generateUserInviteLink(params, this);
setSharingFilterForAllPartners Deprecated
void setSharingFilterForAllPartners()
Utilizado por los anunciantes para excluir a todas las redes y partners integrados de la obtención de datos.
Ejemplo:
AppsFlyer.setSharingFilterForAllPartners();
setSharingFilter Deprecated
void setSharingFilter(params string[] partners)
Utilizado por los anunciantes para establecer algunas (una o más) redes/partners integrados para excluir de la obtención de datos.
parameter | type | description |
---|---|---|
partners | params string[] partners | Partners para excluir de la obtención de datos |
Ejemplo:
AppsFlyer.setSharingFilter("googleadwords_int","snapchat_int","doubleclick_int");
setSharingFilterForPartners
void setSharingFilterForPartners(params string[] partners)
Utilizado por los anunciantes para establecer algunas (una o más) redes/partners integrados para excluir de la obtención de datos.
parameter | type | description |
---|---|---|
partners | params string[] partners | Partners para excluir de la obtención de datos |
Ejemplo:
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)
Permite enviar datos personalizados para fines de integración de partners.
parameter | type | description |
---|---|---|
partnerID | string | ID del partner (generalmente con el sufijo "_int"). |
partnerInfo | params string[] | Los datos del cliente dependen de la configuración de integración con el partner específico. |
Ejemplo:
Dictionary<string, string> partnerInfo = new Dictionary<string, string>();
partnerInfo.Add("puid", "1234567890");
AppsFlyer.setPartnerData("partner_test", partnerInfo);
API solo para Android
updateServerUninstallToken
void updateServerUninstallToken(string token)
Pasa manualmente el token del dispositivo de Firebase para la medición de desinstalaciones.
parameter | type | description |
---|---|---|
token | string | Token de Firebase FCM |
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.updateServerUninstallToken("token");
#endif
setImeiData
void setImeiData(string imei)
De manera predeterminada, el SDK no recopila el IMEI ni el ID de Android si la versión del sistema operativo es superior a KitKat (4.4) y el dispositivo contiene Google Play Services (en versiones del SDK 4.8.8 o anteriores, la aplicación específica requería GPS).
Usa esta API para enviar explícitamente el IMEI a AppsFlyer.
parameter | type | description |
---|---|---|
imei | string | IMEI del dispositivo |
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setImeiData("imei");
#endif
setAndroidIdData
void setAndroidIdData(string androidId)
De forma predeterminada, el SDK no recopila el IMEI y el ID de Android si la versión del sistema operativo es superior a KitKat (4.4) y el dispositivo contiene Google Play Services (en las versiones 4.8.8 del SDK y anteriores, la aplicación específica requería GPS).
Usa esta API para enviar explícitamente el ID de Android a AppsFlyer.
parameter | type | description |
---|---|---|
androidId | string | ID de Android del dispositivo |
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setAndroidIdData("androidId");
#endif
waitForCustomerUserId
void waitForCustomerUserId(bool wait)
Es posible retrasar la inicialización del SDK hasta que se configure el customerUserID.
Esta función garantiza que el SDK no comience a funcionar hasta que se haya provisto el customerUserID.
Si se utiliza esta API, todos los eventos in-app y cualquier otra llamada a la API del SDK se descartarán hasta que se suministre y se registre el customerUserID.
parameter | type | description |
---|---|---|
wait | bool | True si quieres que el SDK espere a customerUserID |
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.waitForCustomerUserId(true);
#endif
setCustomerIdAndStartSDK
void setCustomerIdAndStartSDK(string id)
Before calling this method, the method
waitForCustomerUserId
must be called
Utiliza esta API para proporcionar al SDK el ID de usuario del cliente relevante y activar el SDK para que comience su actividad normal.
parameter | type | description |
---|---|---|
id | string | ID de cliente para el cliente. |
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setCustomerIdStartSDK("id");
#endif
getOutOfStore
string getOutOfStore()
Obtener el valor actual de AF_STORE.
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
string af_store = AppsFlyer.getOutOfStore();
#endif
setOutOfStore
void setOutOfStore(string sourceName)
Configurar manualmente el valor de AF_STORE.
parameter | type | description |
---|---|---|
sourceName | string |
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setOutOfStore("sourceName");
#endif
setCollectAndroidID
void setCollectAndroidID(bool isCollect)
Exclusión opcional para no recopilar el ID de Android.
Si la aplicación NO contiene Google Play Services, el SDK recopila el ID de Android.
Sin embargo, las aplicaciones con Google Play Services deberían evitar la recopilación del ID de Android, ya que esto viola la política de Google Play.
parameter | type | description |
---|---|---|
isCollect | bool |
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setCollectAndroidID(true);
#endif
setCollectIMEI
void setCollectIMEI(bool isCollect)
Exclusión opcional para no recopilar el IMEI.
Si la aplicación NO contiene Google Play Services, el SDK recopila el IMEI del dispositivo.
Sin embargo, las aplicaciones con Google Play Services deberían evitar la recopilación del IMEI, ya que esto viola la política de Google Play.
parameter | type | description |
---|---|---|
isCollect | bool |
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setCollectIMEI(true);
#endif
setIsUpdate
void setIsUpdate(bool isUpdate)
Configurar manualmente que la aplicación estaba actualizada.
parameter | type | description |
---|---|---|
isUpdate | bool | true si se actualizó la aplicación |
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setIsUpdate(true);
#endif
setPreinstallAttribution
void setPreinstallAttribution(string mediaSource, string campaign, string siteId)
Especificar el nombre del fabricante o de la fuente de medios al que se atribuye la preinstalación.
parameter | type | description |
---|---|---|
mediaSource | string | Nombre del fabricante o fuente de medios para la atribución previa a la instalación. |
campaign | string | Nombre de la campaña para la atribución de preinstalación. |
siteId | string | ID de sitio para la atribución de preinstalación. |
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setPreinstallAttribution("mediaSource", "campaign", "siteId");
#endif
isPreInstalledApp
bool isPreInstalledApp()
Indicador booleano para la preinstalación por el fabricante.
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
if (AppsFlyer.isPreInstalledApp())
{
}
#endif
handlePushNotifications
void handlePushNotifications()
Cuando se llama a la API handlePushNotifications, las notificaciones push se registrarán.
Ejemplo:
AppsFlyer.handlePushNotifications();
getAttributionId
string getAttributionId()
Obtiene el ID de atribución de Facebook, si existe.
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
string attributionId = AppsFlyer.getAttributionId();
#endif
validateAndSendInAppPurchase-beta
void validateAndSendInAppPurchase(AFPurchaseDetailsAndroid details, 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.
parameter | type | description |
---|---|---|
details | AFPurchaseDetailsAndroid | Instance of AFPurchaseDetailsAndroid class |
additionalParameters | Dictionary<string, string> | Parámetros a enviar con la compra |
gameObject | MonoBehaviour | Objeto de juego para enviar las devoluciones de llamadas |
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
AFPurchaseDetailsAndroid details = new AFPurchaseDetailsAndroid(AFPurchaseType.Subscription,
"token", "productId", "price", "currency");
AppsFlyer.validateAndSendInAppPurchase(
details,
null,
this);
#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.
parameter | type | description |
---|---|---|
publicKey | string | Clave de licencia obtenida de Google Play Console. |
signature | string | data.INAPP_DATA_SIGNATURE. |
purchaseData | string | data.INAPP_PURCHASE_DATA |
price | string | Precio de compra |
currency | string | ID de sitio para la atribución de preinstalación. |
additionalParameters | Dictionary<string, string> | Parámetros a enviar con la compra |
gameObject | MonoBehaviour | Objeto de juego para enviar las devoluciones de llamadas |
Ejemplo:
#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.
parameter | type | description |
---|---|---|
isCollect | bool | true para permitir la recopilación del oaid |
Ejemplo:
#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)
parameter | type | description |
---|---|---|
disable | bool | true para deshabilitar |
Ejemplo:
#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.
parameter | type | description |
---|---|---|
disable | bool | true para la exclusión opcional |
Ejemplo:
#if UNITY_ANDROID && !UNITY_EDITOR
AppsFlyer.setDisableNetworkData(true);
#endif
API solo para iOS
setDisableCollectAppleAdSupport
void setDisableCollectAppleAdSupport(bool disable)
El SDK de AppsFlyer recopila de Apple el advertisingIdentifier
if the AdSupport.framework
está incluido en el SDK.
Puedes deshabilitar este comportamiento configurando la siguiente propiedad como true.
parameter | type | description |
---|---|---|
disable | bool |
Ejemplo:
#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.
parameter | type | description |
---|---|---|
pushPayload | Dictionary<string, string> | the push notification payload |
Ejemplo:
#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)
Configura este indicador en true para recopilar el nombre actual del dispositivo (por ejemplo, "Mi iPhone"). El valor predeterminado es false.
parameter | type | description |
---|---|---|
shouldCollectDeviceName | bool |
Ejemplo:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setShouldCollectDeviceName(true);
#endif
setDisableCollectIAd
void setDisableCollectIAd(bool disableCollectIAd)
Optar por la exclusión de las atribuciones de Apple Search Ads.
parameter | type | description |
---|---|---|
disableCollectIAd | bool |
Ejemplo:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setDisableCollectIAd(true);
#endif
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 |
---|---|---|
useReceiptValidationSandbox | bool | true si la compra in-app se realiza con entorno de pruebas |
Ejemplo:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setUseReceiptValidationSandbox(true);
#endif
setUseUninstallSandbox
void setUseUninstallSandbox(bool useUninstallSandbox)
Configura este indicador para probar la desinstalación en el entorno de Apple (producción o entorno de pruebas). El valor predeterminado es false.
parameter | type | description |
---|---|---|
useUninstallSandbox | bool | true si estás utilizando un certificado APN |
Ejemplo:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setUseUninstallSandbox(true);
#endif
validateAndSendInAppPurchase-beta-iOS
void validateAndSendInAppPurchase(AFSDKPurchaseDetailsIOS details, Dictionary<string, string> extraEventValues, MonoBehaviour gameObject)
Para enviar y validar las compras in-app, llama a este método desde el método processPurchase.
parameter | type | description |
---|---|---|
details | AFSDKPurchaseDetailsIOS | Instance of AFSDKPurchaseDetailsIOS class. |
extraEventValues | Dictionary<string, string> | El parámetro adicional que deseas recibir en los reportes raw |
gameObject | MonoBehaviour | the game object for the |
Ejemplo:
#if UNITY_IOS && !UNITY_EDITOR
AFSDKPurchaseDetailsIOS details = AFSDKPurchaseDetailsIOS.Init("productId", "price", "currency",
"transactionId");
AppsFlyer.validateAndSendInAppPurchase(
details,
null,
this);
#endif
validateAndSendInAppPurchase
void validateAndSendInAppPurchase(string productIdentifier, string price, string currency, string tranactionId, Dictionary<string, string> additionalParameters, MonoBehaviour gameObject)
Para enviar y validar las compras in-app, llama a este método desde el método processPurchase.
parameter | type | description |
---|---|---|
productIdentifier | string | El identificador del producto |
price | string | El precio del producto |
currency | string | La divisa del producto |
tranactionId | string | El ID de transacción de compra |
additionalParameters | Dictionary<string, string> | El parámetro adicional que deseas recibir en los reportes raw |
gameObject | MonoBehaviour | El objeto de juego para las devoluciones de llamadas |
Ejemplo:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.validateAndSendInAppPurchase(
"productIdentifier",
"price",
"currency",
"tranactionId",
null,
this);
#endif
registerUninstall
void registerUninstall(byte[] deviceToken)
Registra para desinstalación: debes registrar para la notificación remota y proporcionar a AppsFlyer el token push del dispositivo.
parameter | type | description |
---|---|---|
deviceToken | byte[] | Token de APN |
Ejemplo:
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.
parameter | type | description |
---|---|---|
url | string | La URL a pasar a tu AppDelegate |
sourceApplication | string | La sourceApplication que se pasará a tu AppDelegate |
annotation | string | La anotación que se pasará a tu delegado de aplicación |
Ejemplo:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.handleOpenUrl(string url, string sourceApplication, string annotation);
#endif
waitForATTUserAuthorizationWithTimeoutInterval
void waitForATTUserAuthorizationWithTimeoutInterval(int timeoutInterval)
Consulta aquí para más información.
parameter | type | description |
---|---|---|
timeoutInterval | int | Tiempo para esperar a IDFA |
Ejemplo:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.waitForATTUserAuthorizationWithTimeoutInterval(60);
#endif
disableSKAdNetwork
bools disableSKAdNetwork(bool isDisabled)
parameter | type | description |
---|---|---|
isDisabled | bool | True para deshabilitar SKAdNetwork |
Ejemplo:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.disableSKAdNetwork(true);
#endif
setLanguage
setCurrentDeviceLanguage(string language)
parameter | type | description |
---|---|---|
language | String | El idioma a establecer |
Ejemplo:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.setCurrentDeviceLanguage("english");
#endif
disableIDFVCollection
disableIDFVCollection(bool isDisabled)
parameter | type | description |
---|---|---|
isDisabled | bool | True to disable IDFV collection |
Ejemplo:
#if UNITY_IOS && !UNITY_EDITOR
AppsFlyer.disableIDFVCollection(true);
#endif
IAppsFlyerConversionData
onConversionDataSuccess
public void onConversionDataSuccess(string conversionData)
ConversionData contiene información sobre la instalación.
Orgánica/no orgánica, etc. Ver aquí para más información.
parameter | type | description |
---|---|---|
conversionData | string | Cadena JSON de los datos de conversión devueltos |
Ejemplo:
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)
parameter | type | description |
---|---|---|
error | string | Una cadena que describe el error |
Ejemplo:
public void onConversionDataFail(string error)
{
AppsFlyer.AFLog("onConversionDataFail", error);
}
onAppOpenAttribution
public void onAppOpenAttribution(string attributionData)
attributionData contiene información sobre OneLink, enlace profundo.
parameter | type | description |
---|---|---|
attributionData | string | Cadena JSON de los datos devueltos del enlace profundo |
Ejemplo:
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)
Cualquier error ocurrido durante la solicitud de atribución.
parameter | type | description |
---|---|---|
error | string | Una cadena que describe el error |
Ejemplo:
public void onAppOpenAttributionFailure(string error)
{
AppsFlyer.AFLog("onAppOpenAttributionFailure", error);
}
IAppsFlyerUserInvite
onInviteLinkGenerated
public void onInviteLinkGenerated(string link)
La devolución de llamada de "éxito" para la generación de URL de OneLink.
parameter | type | description |
---|---|---|
link | string | Enlace generado |
Ejemplo:
public void onInviteLinkGenerated(string link)
{
}
onInviteLinkGeneratedFailure
public void onInviteLinkGeneratedFailure(string error)
La devolución de llamada de "error" para la generación de URL de OneLink.
parameter | type | description |
---|---|---|
error | string | Una cadena que describe el error |
Ejemplo:
public void onInviteLinkGeneratedFailure(string error)
{
AppsFlyer.AFLog("onInviteLinkGeneratedFailure", error);
}
onOpenStoreLinkGenerated
public void onOpenStoreLinkGenerated(string link)
(solo iOS) iOS te permite utilizar el componente StoreKit para abrir
el App Store mientras permaneces en el contexto de tu aplicación.
Más detalles aquí
parameter | type | description |
---|---|---|
attributionData | string | Cadena JSON de los datos devueltos del enlace profundo |
Ejemplo:
public void onOpenStoreLinkGenerated(string link)
{
}
IAppsFlyerValidateReceipt
didFinishValidateReceipt
public void didFinishValidateReceipt(string result)
Devolución de llamada para la API validateAndSendInAppPurchase.
Para Android: la devolución de llamada devolverá "Validar éxito".
Para iOS: la devolución de llamada devolverá una cadena JSON de la API de Apple verifyReceipt.
parameter | type | description |
---|---|---|
result | string | Validar resultado |
Ejemplo:
public void didFinishValidateReceipt(string link)
{
}
IAppsFlyerValidateAndLog
onValidateAndLogComplete
public void didFinishValidateReceipt(string result)
The success callback for validateAndSendInAppPurchase API.
The callback will return a JSON string which can be converted to dictionary.
parameter | type | description |
---|---|---|
result | string | Validar resultado |
Ejemplo:
public void onValidateAndLogComplete(string result)
{
AppsFlyer.AFLog("onValidateAndLogComplete", result);
Dictionary<string, object> validateAndLogDataDictionary = AppsFlyer.CallbackStringToDictionary(result);
}
onValidateAndLogFailure
public void onValidateAndLogFailure(string error)
The error callback for validating receipts.
The callback will return a JSON string which can be converted to dictionary.
parameter | type | description |
---|---|---|
error | string | Una cadena que describe el error |
Ejemplo:
public void onValidateAndLogFailure(string error)
{
AppsFlyer.AFLog("onValidateAndLogFailure", error);
}
Panel de Eventos
onRequestResponse
public static event EventHandler OnRequestResponse
La devolución de llamada para Sesiones.
statusCode | errorDescription |
---|---|
200 | null |
10 | "Event timeout. Check 'minTimeBetweenSessions' param" ("Tiempo de espera del evento agotado. Comprueba el parámetro 'minTimeBetweenSessions'") |
11 | "Skipping event because 'isStopTracking' enabled" ("Se omite el evento porque 'isStopTracking' está activado") |
40 | Network error: Error description comes from Android (Error de red: la descripción del error viene de Android) |
41 | "No dev key" ("No hay clave de desarrollador") |
50 | "Status code failure" + actual response code from the server ("Fallo del código de estado" + código de respuesta real del servidor) |
Ejemplo:
AppsFlyer.OnRequestResponse += (sender, args) =>
{
var af_args = args as AppsFlyerRequestEventArgs;
AppsFlyer.AFLog("AppsFlyerOnRequestResponse", "status code" + af_args.statusCode);
};
onInAppResponse
public static event EventHandler OnInAppResponse
La devolución de llamada para eventos in-app.
statusCode | errorDescription |
---|---|
200 | null |
10 | "Event timeout. Check 'minTimeBetweenSessions' param" ("Tiempo de espera del evento agotado. Comprueba el parámetro 'minTimeBetweenSessions'") |
11 | "Skipping event because 'isStopTracking' enabled" ("Se omite el evento porque 'isStopTracking' está activado") |
40 | Network error: Error description comes from Android (Error de red: la descripción del error viene de Android) |
41 | "No dev key" ("No hay clave de desarrollador") |
50 | "Status code failure" + actual response code from the server ("Fallo del código de estado" + código de respuesta real del servidor) |
Ejemplo:
AppsFlyer.OnInAppResponse += (sender, args) =>
{
var af_args = args as AppsFlyerRequestEventArgs;
AppsFlyer.AFLog("OnRequestResponse", "status code" + af_args.statusCode);
};
onDeepLinkReceived
public static event EventHandler OnDeepLinkReceived
La devolución de llamada para la API de enlaces profundos unificados.
Ejemplo:
// 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
};
Actualizado hace 16 días