# Integración con AppsFlyer

<Aside type="caution" icon="setting" title="Se necesita asistencia del desarrollador">
 Necesitará la ayuda de su equipo de desarrollo para configurar la integración. Por favor, comparta esta guía con ellos.
</Aside>

## Resumen de la integración

[AppsFlyer](https://www.appsflyer.com/) es una plataforma de atribución móvil y análisis de marketing que le ayuda a analizar la adquisición y el engagement de los usuarios. Proporciona datos completos sobre el comportamiento del usuario dentro de la aplicación y le permite rastrear las fuentes de adquisición de usuarios. Utilizando la información obtenida de AppsFlyer, puede crear campañas de marketing eficaces en Pushwoosh.

Una vez configurada la integración, AppsFlyer enviará la siguiente información a Pushwoosh:

* El comportamiento del usuario en la aplicación como Eventos y sus atributos;
* Fuentes de adquisición de usuarios como valores de la Etiqueta (Tag) _Acquisition Source_.
### Casos de uso

Utilizando estos datos, puede construir segmentos de usuarios y realizar campañas precisamente dirigidas y personalizadas en Pushwoosh.
A continuación se presentan dos ejemplos de cómo aprovechar los datos de AppsFlyer para crear recorridos de cliente (customer journeys) eficaces en Pushwoosh.

**1. Cree campañas altamente dirigidas en Pushwoosh utilizando eventos rastreados por AppsFlyer.**

Supongamos que tiene una aplicación de noticias. Configuró AppsFlyer para rastrear el evento _SubscribedToNews_, que se activa cada vez que un usuario se suscribe a un canal de noticias. Este evento tiene el atributo de categoría que indica el tipo de noticias al que se suscribe el usuario: _politics_, _business_ o _sports_.

Pushwoosh recibe la información sobre este evento con los valores de sus atributos. Puede crear tres segmentos de usuarios basados en tres valores posibles:

<img src="/integrations-appsflyer-integration-1.webp" alt="Segmentos de usuarios basados en atributos de categoría de noticias"/>

Ahora puede crear campañas dirigidas a usuarios que están interesados en un tipo particular de noticias:

<img src="/integrations-appsflyer-integration-2.webp" alt="Campañas dirigidas a usuarios interesados en categorías de noticias específicas"/>

**2. Personalice los mensajes basándose en los datos de comportamiento del usuario de AppsFlyer.**

En este ejemplo, utilizaremos una aplicación de compras en línea. Supongamos que AppsFlyer rastrea el evento _AddToWishlist_ que se activa cada vez que un usuario añade un artículo a su lista de deseos. Este evento tiene el atributo de artículo que indica el nombre del artículo añadido a la lista de deseos.

AppsFlyer envía los datos del evento _AddToWishlist_ a Pushwoosh, donde puede personalizar los mensajes dependiendo de las elecciones de los usuarios. Por ejemplo, puede crear un preset de push que ofrezca un descuento en un artículo que un usuario ha añadido a su lista de deseos. En lugar del nombre del artículo, añada un [marcador de posición de Contenido Dinámico](/es/developer/guides/personalization/dynamic-content/#personalizing-messages-sent-via-api-with-dynamic-content) con el atributo _item_:

<img src="/integrations-appsflyer-integration-3.webp" alt="Marcador de posición de contenido dinámico en un preset de push de Pushwoosh"/>

Si un usuario añade un artículo a su lista de deseos, recibirá un push con información sobre él. Por ejemplo, aquellos que seleccionen el iPhone 14 Pro Max verán este mensaje:

<img src="/integrations-appsflyer-integration-4.webp" alt="Vista previa de la notificación push para la oferta del artículo iPhone 14 Pro Max" width="375"/>

## Configuración de la integración

<Aside type="note">
El proceso de integración es idéntico para las plataformas Android e iOS.
</Aside>

1. Integre el SDK de Pushwoosh en su aplicación si aún no lo ha hecho. Para obtener instrucciones más detalladas, [lea la guía](/es/developer/pushwoosh-sdk/pushwoosh-sdk-overview).

<Aside type="caution">
Para un funcionamiento correcto, se requiere la versión 6.5.7 o posterior del SDK de Pushwoosh para iOS y la versión 6.6.16 o posterior del SDK de Pushwoosh para Android.
</Aside>

2. Para asegurarse de que se envíen los datos correctos a AppsFlyer, integre este fragmento de código en su código. Asegúrese de que se ejecute después de que se inicialicen tanto el SDK de Pushwoosh como el SDK de AppsFlyer.

<Tabs>
<TabItem label="Java">
```
String pwhwid = Pushwoosh.getInstance().getHwid();
String pwuserid = Pushwoosh.getInstance().getUserId();
Map<String, Object> customData = new HashMap<String, Object>();
customData.put("pushwoosh_hwid", pwhwid);
customData.put("pushwoosh_user_id", pwuserid);
AppsFlyerLib.getInstance().setAdditionalData(customData);
```
</TabItem>

<TabItem label="Objective-C">
```
NSString *pwhwid = [[Pushwoosh sharedInstance] getHWID];
NSString *pwuserid = [[Pushwoosh sharedInstance] getUserId];
NSDictionary *customData = [[NSDictionary alloc] initWithObjectsAndKeys:pwuserid, @"pushwoosh_user_id", pwhwid, @"pushwoosh_hwid", nil];
[[AppsFlyerLib shared] setAdditionalData:customData];
```
</TabItem>
</Tabs>

<Aside type="danger">
Cuando utilice valores personalizados de UserID de Pushwoosh para identificar y dirigirse a los usuarios, asegúrese de ejecutar el código después de llamar al método **setUserId()** en el SDK de Pushwoosh con el valor personalizado.

Rastree cuándo cambia el UserID de Pushwoosh según la lógica de su aplicación móvil y envíe los valores actualizados a AppsFlyer puntualmente. Esto es importante para el mapeo correcto de los datos enviados con los usuarios en su base de datos de Pushwoosh.
</Aside>

3. Configure la integración de Pushwoosh en AppsFlyer. Para ello, en su [cuenta de AppsFlyer](https://hq1.appsflyer.com/auth/login), vaya a **Collaborate** > **Partner Marketplace**. En la lista de Socios, localice y elija Pushwoosh.

<img src="/integrations-appsflyer-integration-5.webp" alt="Localizando Pushwoosh en AppsFlyer"/>

4. Haga clic en **Set up integration**. A continuación, será dirigido a la página de configuración de la integración. Allí, active el interruptor **Activate partner**.

<img src="/integrations-appsflyer-integration-6.webp" alt="Activando el interruptor Activate partner en AppsFlyer"/>

<Aside type="note">
Para las aplicaciones de iOS, el Modo de Privacidad Avanzada está activado por defecto, lo que permite controlar la disponibilidad de los datos de atribución a nivel de usuario a través de la plataforma de AppsFlyer. Aunque AppsFlyer no envía este tipo de datos a Pushwoosh, mantener activado el interruptor de Privacidad Avanzada puede interferir con la transmisión de datos.

Para asegurarse de que Pushwoosh reciba todos los datos, recomendamos desactivar el Modo de Privacidad Avanzada en **App Settings**. Hacerlo no comprometerá la privacidad de los datos del usuario. Pushwoosh se dedica a gestionar los datos de forma segura y responsable, empleando protocolos de seguridad estándar de la industria para proteger la confidencialidad.
</Aside>

<img src="/integrations-appsflyer-integration-7.webp" alt="Desactivando el Modo de Privacidad Avanzada en AppsFlyer"/>

5. En la sección **General settings**, introduzca sus credenciales de Pushwoosh:

* **API Access Token**. Para obtener el token, en su cuenta de Pushwoosh vaya a **Settings > API Access** y copie el código. Puede obtener más información sobre el API Access Token [en esta guía](/es/developer/api-reference/api-access-token).
* **Application Code** (XXXXX-XXXXX) que puede encontrar debajo del nombre de su aplicación en su cuenta de Pushwoosh.

<img src="/integrations-appsflyer-integration-8.webp" alt="Añadiendo credenciales de Pushwoosh en la configuración general de AppsFlyer"/>

6. En la sección **Default postback**, seleccione **All media sources, including organic**.

<img src="/integrations-appsflyer-integration-9.webp" alt="Configurando la sección Default postback"/>

7. En la sección **In-app event settings**, introduzca su **Application Code** y **API Access Token** de Pushwoosh.

<img src="/integrations-appsflyer-integration-10.webp" alt="Sección de configuración de eventos in-app con Application Code y API token"/>

8. Active el interruptor **In-app event postback** y configure los eventos y datos que se incluirán en los postbacks enviados a Pushwoosh.

<img src="/integrations-appsflyer-integration-11.webp" alt="Configuración del interruptor de postback de eventos in-app en AppsFlyer"/>

Elija uno o más eventos de AppsFlyer para enviar a Pushwoosh desde el menú desplegable y complete los parámetros necesarios.

| Parámetro                       | Descripción                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **the mapped to partner event** | Aunque este campo es obligatorio, no se preocupe por lo que escriba porque no cambiará cómo se nombran los eventos. Pushwoosh seguirá recibiendo los eventos con los mismos nombres que aparecen en AppsFlyer.                                                                                                                                                                                                                                                                                                                         |
| **for users from**               | En este campo, seleccione si los postbacks se envían exclusivamente para los usuarios atribuidos a este socio o para todas las fuentes de medios, incluidas las orgánicas.                                                                                                                                                                                                                                                                                                                                                   |
| **including**                   | <p>Elija cómo se comparten los datos del evento con Pushwoosh:</p><ul><li><strong>No values & no revenue:</strong> Solo enviar el evento en sí sin ningún parámetro (valores o ingresos).</li><li><strong>Values & no revenue:</strong> Enviar todos los parámetros excepto el valor de ingresos.</li><li><strong>Values & revenue:</strong> Enviar todos los parámetros del evento, incluido el valor de ingresos (si existe en el evento).<br/>Para recibir eventos con atributos adicionales enviados a Pushwoosh, seleccione Values and Revenue.</li></ul> |

9. Una vez configurada la integración, haga clic en **Save**.

<Aside type="note">
Antes de lanzar sus campañas, asegúrese de probar la integración. A menudo se producen errores durante la configuración, por lo que una prueba rápida ayuda a evitar el desperdicio de recursos en campañas con datos faltantes o incorrectos.
</Aside>

## Seguimiento de clics en correos electrónicos con AppsFlyer ESP 2.0

Para utilizar el seguimiento de clics en correos electrónicos y preservar los Universal Links / App Links al enviar correos electrónicos a través de Pushwoosh, puede configurar la [integración de correo electrónico AppsFlyer ESP 2.0](/es/product/integrations/appsflyer-esp2-email-integration).