AppsFlyer
AppsFlyer es una plataforma líder de atribución móvil y análisis de marketing. Se trata de un servicio de terceros que recopila y organiza datos de campañas de marketing, lo que permite a las empresas ver el rendimiento de sus campañas en un solo lugar. Adapty proporciona un conjunto completo de datos que te permite rastrear eventos de suscripción de los stores en un solo lugar. Con Adapty, puedes ver fácilmente cómo se comportan tus suscriptores, conocer qué les gusta y usar esa información para comunicarte con ellos de forma dirigida y efectiva. Por eso, esta integración te permite rastrear eventos de suscripción en AppsFlyer y analizar con precisión cuántos ingresos generan tus campañas.
La integración entre Adapty y AppsFlyer funciona de dos maneras principales.
- Recibir datos de atribución de AppsFlyer Una vez que hayas configurado el envío de la atribución de AppsFlyer a Adapty en el código de tu app, Adapty comenzará a recibir datos de atribución de AppsFlyer. Puedes consultar y visualizar fácilmente estos datos en la página del perfil del usuario.
- Envío de eventos de suscripción a AppsFlyer Adapty puede enviar todos los eventos de suscripción configurados en tu integración a AppsFlyer. De este modo, podrás hacer seguimiento de estos eventos desde el dashboard de AppsFlyer. Esta integración es muy útil para evaluar la efectividad de tus campañas publicitarias.
Configuración
Conecta Adapty con AppsFlyer
Para configurar la integración con AppsFlyer:
-
Abre Integrations -> AppsFlyer en el Adapty Dashboard.
-
Activa el toggle para habilitar la integración.
-
El siguiente paso es introducir las credenciales. Para iOS, encuentra el App ID copiando el Apple ID en App Store Connect (para ello, abre la página de tu app en App Store Connect, ve a la página App Information en la sección General y busca Apple ID en la parte inferior izquierda de la pantalla).
3.2. Pega el Apple ID copiado en el campo iOS App ID del Adapty Dashboard.
Si usas AppsFlyer API 2, debes cambiar a API 3, ya que AppsFlyer deprecará la versión anterior próximamente. Para hacerlo, en la lista AppsFlyer S2S API, selecciona API 3.
- Tanto para iOS como para Android, abre el sitio de AppsFlyer e inicia sesión.
- Haz clic en Your account name -> Security Center en la esquina superior derecha del dashboard.
- En la ventana Manage your account security, haz clic en el botón Manage your AppsFlyer API and S2S tokens.
- Si ya tienes un token S2S, ve al paso 12. Si no lo tienes, haz clic en el botón New token.
-
En la ventana New token, escribe el nombre del token. Este nombre es solo para tu referencia.
-
Selecciona S2S en la lista Choose type.
-
Haz clic en el botón Create new token para guardar el nuevo token.
-
En la ventana Tokens, copia el token S2S.
-
En el Adapty Dashboard, pega la clave S2S copiada en los campos Dev key for iOS y Dev key for Android.
-
Haz clic en el botón Save para guardar los cambios.
AppsFlyer no tiene modo Sandbox para la integración server2server. Por eso necesitas una aplicación/cuenta diferente en AppsFlyer para el Sandbox Dev Key. Si quieres enviar eventos sandbox a la misma app, simplemente usa la misma clave para producción y sandbox. :::
Adapty mapea algunos eventos a los eventos estándar de AppsFlyer por defecto. Con esta configuración, AppsFlyer puede reenviar los eventos a cada red publicitaria que utilices sin configuración adicional. Otro aspecto importante es que AppsFlyer no admite eventos con más de 26 horas de antigüedad. Por eso, si tienes un evento que supera ese límite, Adapty lo enviará a AppsFlyer, pero la fecha y hora del evento se reemplazarán por la marca de tiempo actual.
Configurar eventos y etiquetas
Debajo de las credenciales encontrarás tres grupos de eventos que puedes enviar a AppsFlyer desde Adapty. Activa simplemente los que necesites. Consulta la lista completa de eventos que ofrece Adapty aquí.
Recomendamos usar los nombres de eventos predeterminados que ofrece Adapty, aunque puedes cambiarlos según tus necesidades.
Adapty enviará los eventos de suscripción a AppsFlyer mediante una integración server-to-server, lo que te permitirá ver todos los eventos de suscripción en tu dashboard de AppsFlyer y vincularlos a tus campañas de adquisición.
Conecta tu app con AppsFlyer
Una vez completados los pasos anteriores, llama al método updateAttribution para guardar los datos de atribución y usa Adapty.setIntegrationIdentifier() para establecer el identificador de integración.
Inicializa el SDK de AppsFlyer y espera el callback de su UID antes de identificar usuarios en Adapty. De lo contrario, el appsflyer_id quedará vinculado a un perfil anónimo temporal creado durante la activación y no siempre se transferirá al perfil identificado. Cuando esto ocurre, el reenvío de ingresos desde AppsFlyer falla silenciosamente.
Estructura del evento
Adapty envía los eventos seleccionados a AppsFlyer mediante una solicitud POST con cuerpo JSON a:
- API v2:
https://api2.appsflyer.com/inappevent/{app_id} - API v3:
https://api3.appsflyer.com/inappevent/{app_id}(recomendado)
Cada evento tiene la siguiente estructura:
{
"appsflyer_id": "1699887556000-6192770",
"eventName": "subscription_renewed",
"eventTime": "2024-03-01 12:00:00",
"eventValue": "{\"af_content_id\":\"yearly.premium.6999\",\"af_order_id\":\"GPA.3383-4699-1373-07113\",\"store_country\":\"US\",\"profile_country\":\"US\",\"af_content_type\":\"in_app\",\"af_revenue\":\"9.9900\",\"af_currency\":\"USD\",\"af_quantity\":\"1\"}",
"os": "17.0.1",
"bundleIdentifier": "com.example.app",
"customer_user_id": "user_12345",
"eventCurrency": "USD",
"ip": "192.168.100.1",
"advertising_id": "00000000-0000-0000-0000-000000000000",
"idfa": "00000000-0000-0000-0000-000000000000",
"idfv": "00000000-0000-0000-0000-000000000000",
"att": "3"
}
Donde:
| Parámetro | Tipo | Descripción |
|---|---|---|
appsflyer_id | String | El ID de AppsFlyer (recopilado a través del SDK). |
eventName | String | El nombre del evento de AppsFlyer (mapeado desde el evento de Adapty). |
eventTime | String | Fecha y hora del evento (UTC, formato YYYY-MM-DD HH:MM:SS). |
eventValue | String | Cadena JSON con los detalles del evento (ver más abajo). |
os | String | Versión del sistema operativo. |
bundleIdentifier | String | El bundle ID / nombre de paquete de la aplicación. |
customer_user_id | String | El Customer User ID del usuario. |
eventCurrency | String | Código de moneda (p. ej., “USD”). |
ip | String | Dirección IP del usuario. |
advertising_id | String | Solo Android. Google Advertising ID. |
idfa | String | Solo iOS. ID para anunciantes. |
idfv | String | Solo iOS. ID para proveedores. |
att | String | Solo iOS. Estado de App Tracking Transparency (p. ej., “3” para autorizado). |
El parámetro eventValue es una cadena codificada en JSON que contiene los siguientes campos: | ||
| Parámetro | Tipo | Descripción |
| :------------------ | :------- | :------------------------------------------------------------- |
af_content_id | String | El ID del producto en el store. |
af_order_id | String | El ID de transacción original. |
store_country | String | Código de país del usuario en el store. |
profile_country | String | Código de país basado en la IP del usuario. |
af_content_type | String | Siempre in_app si hay ingresos presentes. |
af_revenue | String | Importe de ingresos con formato de 4 decimales. |
af_currency | String | Código de moneda. |
af_quantity | String | Siempre 1 si hay ingresos presentes. |
Solución de problemas
Discrepancia de ingresos
Si hay una discrepancia de ingresos entre Adapty y AppsFlyer, puede deberse a que no todos tus usuarios usan la versión de la app que incluye el SDK de Adapty. Para garantizar la consistencia de los datos, puedes forzar a tus usuarios a actualizar a una versión de la app que tenga el SDK de Adapty.
Datos de integración faltantes
Si el envío de eventos falla, generalmente se debe a que faltan datos de integración. Para resolver este problema, verifica lo siguiente:
- Tu app tiene el SDK de AppsFlyer instalado.
- Estás llamando al método
getAppsFlyerUID.
Error de autenticación
Si recibes el error Failed to authenticate en la consola, puede deberse a un desajuste entre la versión de AppsFlyer y la versión de las credenciales.
Consulta la guía de migración o reemplaza las credenciales por las válidas desde aquí.