Referencia de API

La lista de métodos disponibles para este plugin se describe a continuación.


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.

parametertypedescription
dev_keystringLa 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_idstringEl ID de Apple de tu aplicación.
gameObject (opcional)MonoBehaviourEl 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.

parametertypedescription
isSDKStoppedboolTrue 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.

parametertypedescription
shouldEnableboolTrue 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.

parametertypedescription
pathsstring[]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.

parametertypedescription
idstringID 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.

parametertypedescription
oneLinkIdstringID 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.

parametertypedescription
customDataDictionary<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.

parametertypedescription
urlsparams 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.

parametertypedescription
domainsparams 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.

parametertypedescription
currencyCodestringCó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.

parametertypedescription
deepLinkTimeoutlongin 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.

parametertypedescription
shouldCollectTcfDatabooltrue 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.

parametertypedescription
appsFlyerConsentAppsFlyerConsentInstance 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.

parametertypedescription
latitudedoubleLatitud del usuario
longitudedoubleLongitud 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.

parametertypedescription
shouldAnonymizeUserboolTrue 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.

parametertypedescription
secondsintTiempo entre sesiones (el valor predeterminado es 5 segundos)

Ejemplo:

AppsFlyer.setMinTimeBetweenSessions(4);

setHost

void setHost(string hostPrefixName, string hostName)

Configura un host personalizado

parametertypedescription
hostPrefixNamestring
hostNamestring

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

parametertypedescription
cryptMethodEmailCryptTypeNinguno o sha256
emailsparams 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.

parametertypedescription
phoneNumberstring

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.

parametertypedescription
objectNamestringObjeto 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.

parametertypedescription
appIDstring
campaignstring
userParamsDictionary<string, string>
gameObjectMonoBehaviourObjeto 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);

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.

parametertypedescription
appIDstringApp ID
campaignstringcampaign
paramsDictionary<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-

parametertypedescription
parametersDictionary<string, string>
gameObjectMonoBehaviourObjeto 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.

parametertypedescription
partnersparams string[] partnersPartners 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.

parametertypedescription
partnersparams string[] partnersPartners 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.

parametertypedescription
partnerIDstringID del partner (generalmente con el sufijo "_int").
partnerInfoparams 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.

parametertypedescription
tokenstringToken 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.

parametertypedescription
imeistringIMEI 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.

parametertypedescription
androidIdstringID 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.

parametertypedescription
waitboolTrue 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.

parametertypedescription
idstringID 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.

parametertypedescription
sourceNamestring

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.

parametertypedescription
isCollectbool

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.

parametertypedescription
isCollectbool

Ejemplo:

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

setIsUpdate

void setIsUpdate(bool isUpdate)

Configurar manualmente que la aplicación estaba actualizada.

parametertypedescription
isUpdatebooltrue 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.

parametertypedescription
mediaSourcestringNombre del fabricante o fuente de medios para la atribución previa a la instalación.
campaignstringNombre de la campaña para la atribución de preinstalación.
siteIdstringID 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

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

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

parametertypedescription
publicKeystringClave de licencia obtenida de Google Play Console.
signaturestringdata.INAPP_DATA_SIGNATURE.
purchaseDatastringdata.INAPP_PURCHASE_DATA
pricestringPrecio de compra
currencystringID de sitio para la atribución de preinstalación.
additionalParametersDictionary<string, string>Parámetros a enviar con la compra
gameObjectMonoBehaviourObjeto 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.
parametertypedescription
isCollectbooltrue 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)
parametertypedescription
disablebooltrue 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.
parametertypedescription
disablebooltrue 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.

parametertypedescription
disablebool

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.

parametertypedescription
pushPayloadDictionary<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.

parametertypedescription
shouldCollectDeviceNamebool

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.

parametertypedescription
disableCollectIAdbool

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.

parametertypedescription
useReceiptValidationSandboxbooltrue 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.

parametertypedescription
useUninstallSandboxbooltrue si estás utilizando un certificado APN

Ejemplo:

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

validateAndSendInAppPurchase

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

Para enviar y validar las compras in-app, llama a este método desde el método processPurchase.

parametertypedescription
productIdentifierstringEl identificador del producto
pricestringEl precio del producto
currencystringLa divisa del producto
tranactionIdstringEl ID de transacción de compra
additionalParametersDictionary<string, string>El parámetro adicional que deseas recibir en los reportes raw
gameObjectMonoBehaviourEl 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.

parametertypedescription
deviceTokenbyte[]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.
parametertypedescription
urlstringLa URL a pasar a tu AppDelegate
sourceApplicationstringLa sourceApplication que se pasará a tu AppDelegate
annotationstringLa 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.

parametertypedescription
timeoutIntervalintTiempo para esperar a IDFA

Ejemplo:

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

disableSKAdNetwork

bools disableSKAdNetwork(bool isDisabled)

parametertypedescription
isDisabledboolTrue para deshabilitar SKAdNetwork

Ejemplo:

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

setLanguage

setCurrentDeviceLanguage(string language)

parametertypedescription
languageStringEl idioma a establecer

Ejemplo:

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

disableIDFVCollection

disableIDFVCollection(bool isDisabled)

parametertypedescription
isDisabledboolTrue 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.

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

parametertypedescription
errorstringUna 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.

parametertypedescription
attributionDatastringCadena 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.

parametertypedescription
errorstringUna 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.

parametertypedescription
linkstringEnlace 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.

parametertypedescription
errorstringUna 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í

parametertypedescription
attributionDatastringCadena 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.

parametertypedescription
resultstringValidar resultado

Ejemplo:

   public void didFinishValidateReceipt(string link)
    {

    }

didFinishValidateReceiptWithError

public void didFinishValidateReceiptWithError(string error)

La devolución de llamada de error para validar los recibos.

parametertypedescription
errorstringUna cadena que describe el error

Ejemplo:

    public void didFinishValidateReceiptWithError(string error)
    {
      
    }

Panel de Eventos

onRequestResponse

public static event EventHandler OnRequestResponse

La devolución de llamada para Sesiones.

statusCodeerrorDescription
200null
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")
40Network 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.

statusCodeerrorDescription
200null
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")
40Network 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
    };