# Integração com o AppsFlyer

<Aside type="caution" icon="setting" title="É necessária a ajuda de um desenvolvedor">
 Você precisará da ajuda da sua equipe de desenvolvimento para configurar a integração. Por favor, compartilhe este guia com eles.
</Aside>

## Visão geral da integração

[AppsFlyer](https://www.appsflyer.com/) é uma plataforma de atribuição móvel e análise de marketing que ajuda a analisar a aquisição e o engajamento de usuários. Ela fornece dados abrangentes sobre o comportamento do usuário dentro do aplicativo e permite rastrear as fontes de aquisição de usuários. Usando as informações obtidas do AppsFlyer, você pode criar campanhas de marketing eficazes no Pushwoosh.

Uma vez que a integração esteja configurada, o AppsFlyer enviará as seguintes informações para o Pushwoosh:

* O comportamento do usuário no aplicativo como Eventos e seus atributos;
* Fontes de aquisição de usuários como os valores da Tag _Acquisition Source_.
### Casos de uso

Usando esses dados, você pode criar segmentos de usuários e fazer campanhas precisamente direcionadas e personalizadas no Pushwoosh.
Abaixo estão dois exemplos de como aproveitar os dados do AppsFlyer para criar jornadas de cliente eficazes no Pushwoosh.

**1. Crie campanhas altamente direcionadas no Pushwoosh usando eventos rastreados pelo AppsFlyer.**

Digamos que você tenha um aplicativo de notícias. Você configurou o AppsFlyer para rastrear o evento _SubscribedToNews_, que é disparado toda vez que um usuário se inscreve em um canal de notícias. Este evento tem o atributo de categoria que indica o tipo de notícia à qual o usuário se inscreve: _politics_, _business_ ou _sports_.

O Pushwoosh recebe a informação sobre este evento com os valores de seus atributos. Você pode criar três segmentos de usuários com base em três valores possíveis:

<img src="/integrations-appsflyer-integration-1.webp" alt="Segmentos de usuários baseados em atributos de categoria de notícias"/>

Agora você pode criar campanhas direcionadas a usuários que estão interessados em um tipo específico de notícia:

<img src="/integrations-appsflyer-integration-2.webp" alt="Campanhas direcionadas para usuários interessados em categorias de notícias específicas"/>

**2. Personalize as mensagens com base nos dados de comportamento do usuário do AppsFlyer.**

Neste exemplo, usaremos um aplicativo de compras online. Digamos que o AppsFlyer rastreie o evento _AddToWishlist_ que é disparado sempre que um usuário adiciona um item à sua lista de desejos. Este evento tem o atributo item que indica o nome do item adicionado à lista de desejos.

O AppsFlyer envia os dados do evento _AddToWishlist_ para o Pushwoosh, onde você pode personalizar as mensagens dependendo das escolhas dos usuários. Por exemplo, você pode criar um preset de push oferecendo um desconto em um item que um usuário adicionou à sua lista de desejos. Em vez do nome do item, adicione um [placeholder de Conteúdo Dinâmico](/pt/developer/guides/personalization/dynamic-content/#personalizing-messages-sent-via-api-with-dynamic-content) com o atributo _item_:

<img src="/integrations-appsflyer-integration-3.webp" alt="Placeholder de conteúdo dinâmico no preset de push do Pushwoosh"/>

Se um usuário adicionar um item à sua lista de desejos, ele receberá um push contendo informações sobre ele. Por exemplo, aqueles que selecionarem o iPhone 14 Pro Max verão esta mensagem:

<img src="/integrations-appsflyer-integration-4.webp" alt="Pré-visualização da notificação push para a oferta do item iPhone 14 Pro Max" width="375"/>

## Configurando a integração

<Aside type="note">
O processo de integração é idêntico para as plataformas Android e iOS.
</Aside>

1. Integre o SDK do Pushwoosh em seu aplicativo, se ainda não o fez. Para instruções mais detalhadas, [leia o guia](/pt/developer/pushwoosh-sdk/pushwoosh-sdk-overview).

<Aside type="caution">
Para o funcionamento correto, são necessárias as versões 6.5.7 ou posterior do SDK do Pushwoosh para iOS e 6.6.16 ou posterior do SDK do Pushwoosh para Android.
</Aside>

2. Para garantir que os dados corretos sejam enviados para o AppsFlyer, integre este trecho de código em seu código. Certifique-se de que ele seja executado após a inicialização do SDK do Pushwoosh e do SDK do 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">
Ao usar valores personalizados de UserID do Pushwoosh para identificar e direcionar usuários, certifique-se de executar o código após chamar o método **setUserId()** no SDK do Pushwoosh com o valor personalizado.

Rastreie quando o UserID do Pushwoosh muda de acordo com a lógica em seu aplicativo móvel e envie os valores atualizados para o AppsFlyer prontamente. Isso é importante para o mapeamento correto dos dados enviados com os usuários em seu banco de dados do Pushwoosh.
</Aside>

3. Configure a integração do Pushwoosh no AppsFlyer. Para isso, em sua [conta do AppsFlyer](https://hq1.appsflyer.com/auth/login), vá para **Collaborate** > **Partner Marketplace**. Na lista de parceiros, localize e escolha o Pushwoosh.

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

4. Clique em **Set up integration**. Você será direcionado para a página de configuração da integração. Lá, ative o seletor **Activate partner**.

<img src="/integrations-appsflyer-integration-6.webp" alt="Ativando o seletor Activate partner no AppsFlyer"/>

<Aside type="note">
Para aplicativos iOS, o Modo de Privacidade Avançada está ativado por padrão, o que permite controlar a disponibilidade de dados de atribuição em nível de usuário através da plataforma AppsFlyer. Embora o AppsFlyer não envie este tipo de dados para o Pushwoosh, manter o seletor de Privacidade Avançada ativado pode interferir na transmissão de dados.

Para garantir que o Pushwoosh receba todos os dados, recomendamos desativar o Modo de Privacidade Avançada em **App Settings**. Fazer isso não comprometerá a privacidade dos dados do usuário. O Pushwoosh se dedica a gerenciar os dados de forma segura e responsável, empregando protocolos de segurança padrão da indústria para proteger a confidencialidade.
</Aside>

<img src="/integrations-appsflyer-integration-7.webp" alt="Desativando o Modo de Privacidade Avançada no AppsFlyer"/>

5. Na seção **General settings**, insira suas credenciais do Pushwoosh:

* **API Access Token**. Para obter o token, em sua conta do Pushwoosh, vá para **Settings > API Access** e copie o código. Você pode saber mais sobre o API Access Token [neste guia](/pt/developer/api-reference/api-access-token).
* **Application Code** (XXXXX-XXXXX) que você pode encontrar abaixo do nome do seu aplicativo em sua conta do Pushwoosh.

<img src="/integrations-appsflyer-integration-8.webp" alt="Adicionando credenciais do Pushwoosh nas configurações gerais do AppsFlyer"/>

6. Na seção **Default postback**, selecione **All media sources, including organic**.

<img src="/integrations-appsflyer-integration-9.webp" alt="Configurando a seção Default postback"/>

7. Na seção **In-app event settings**, insira seu **Application Code** e **API Access Token** do Pushwoosh.

<img src="/integrations-appsflyer-integration-10.webp" alt="Seção de configurações de eventos no aplicativo com Application Code e token de API"/>

8. Ative o seletor **In-app event postback** e configure os eventos e dados a serem incluídos nos postbacks enviados para o Pushwoosh.

<img src="/integrations-appsflyer-integration-11.webp" alt="Configuração do seletor de postback de eventos no aplicativo no AppsFlyer"/>

Escolha um ou mais eventos do AppsFlyer para enviar ao Pushwoosh a partir do menu suspenso e preencha os parâmetros necessários.

| Parâmetro                       | Descrição                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **the mapped to partner event** | Embora este campo seja obrigatório, não se preocupe com o que você digita, pois isso não mudará como os eventos são nomeados. O Pushwoosh ainda receberá os eventos com os mesmos nomes que aparecem no AppsFlyer.                                                                                                                                                                                                                                                                                                                         |
| **for users from**               | Neste campo, selecione se os postbacks são enviados exclusivamente para usuários atribuídos a este parceiro ou para todas as fontes de mídia, incluindo orgânicas.                                                                                                                                                                                                                                                                                                                                                                                  |
| **including**                   | <p>Escolha como os dados do evento são compartilhados com o Pushwoosh:</p><ul><li><strong>No values & no revenue:</strong> Envie apenas o evento em si, sem quaisquer parâmetros (valores ou receita).</li><li><strong>Values & no revenue:</strong> Envie todos os parâmetros, exceto o valor da receita.</li><li><strong>Values & revenue:</strong> Envie todos os parâmetros do evento, incluindo o valor da receita (se existir no evento).<br/>Para receber eventos com atributos adicionais enviados para o Pushwoosh, selecione Values and Revenue.</li></ul> |

9. Uma vez que a integração esteja configurada, clique em **Save**.

<Aside type="note">
Antes de lançar suas campanhas, certifique-se de testar a integração. Erros ocorrem frequentemente durante a configuração, então um teste rápido ajuda a evitar o desperdício de recursos em campanhas com dados ausentes ou incorretos.
</Aside>

## Rastreamento de cliques de e-mail com o AppsFlyer ESP 2.0

Para usar o rastreamento de cliques de e-mail e preservar os Universal Links / App Links ao enviar e-mails através do Pushwoosh, você pode configurar a [integração de e-mail do AppsFlyer ESP 2.0](/pt/product/integrations/appsflyer-esp2-email-integration).