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.

  1. 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.
c2991f6-CleanShot_2023-08-04_at_16.29.202x.webp
  1. 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:

  1. Abre Integrations -> AppsFlyer en el Adapty Dashboard.

  2. Activa el toggle para habilitar la integración.

  3. 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).

43a5cc6-apple_id.webp

3.2. Pega el Apple ID copiado en el campo iOS App ID del Adapty Dashboard.

61bff5a-appsflyer_iOS_app_id.webp

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.

  1. Tanto para iOS como para Android, abre el sitio de AppsFlyer e inicia sesión.
  2. Haz clic en Your account name -> Security Center en la esquina superior derecha del dashboard.
1c18c50-appsflyer_security_center.webp
  1. En la ventana Manage your account security, haz clic en el botón Manage your AppsFlyer API and S2S tokens.
  2. Si ya tienes un token S2S, ve al paso 12. Si no lo tienes, haz clic en el botón New token.
7934920-appsflyer_new_token.webp
  1. En la ventana New token, escribe el nombre del token. Este nombre es solo para tu referencia.

  2. Selecciona S2S en la lista Choose type.

  3. Haz clic en el botón Create new token para guardar el nuevo token.

  4. En la ventana Tokens, copia el token S2S.

  5. En el Adapty Dashboard, pega la clave S2S copiada en los campos Dev key for iOS y Dev key for Android.

a7d1c31-appsflyer_dev_keys.webp
  1. 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í.

1b0c777-CleanShot_2023-08-11_at_14.56.362x.webp

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ámetroTipoDescripción
appsflyer_idStringEl ID de AppsFlyer (recopilado a través del SDK).
eventNameStringEl nombre del evento de AppsFlyer (mapeado desde el evento de Adapty).
eventTimeStringFecha y hora del evento (UTC, formato YYYY-MM-DD HH:MM:SS).
eventValueStringCadena JSON con los detalles del evento (ver más abajo).
osStringVersión del sistema operativo.
bundleIdentifierStringEl bundle ID / nombre de paquete de la aplicación.
customer_user_idStringEl Customer User ID del usuario.
eventCurrencyStringCódigo de moneda (p. ej., “USD”).
ipStringDirección IP del usuario.
advertising_idStringSolo Android. Google Advertising ID.
idfaStringSolo iOS. ID para anunciantes.
idfvStringSolo iOS. ID para proveedores.
attStringSolo 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ámetroTipoDescripción
:------------------:-------:-------------------------------------------------------------
af_content_idStringEl ID del producto en el store.
af_order_idStringEl ID de transacción original.
store_countryStringCódigo de país del usuario en el store.
profile_countryStringCódigo de país basado en la IP del usuario.
af_content_typeStringSiempre in_app si hay ingresos presentes.
af_revenueStringImporte de ingresos con formato de 4 decimales.
af_currencyStringCódigo de moneda.
af_quantityStringSiempre 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í.