Integração do Iterable com a AppsFlyer

Visão geral: Integre links de atribuição baseados no OneLink com o sistema Iterable para criar deep link de e-mails. A integração usa o suporte do Iterable para links universais além de domínios de gravação de cliques de marca. 

iterable-af-logo.png

Introdução

ESPs (Email Service Providers ou provedores de serviços de e-mail) podem ser excelentes fontes de tráfego segmentado de usuários.

Um dos problemas com ESPs é registrar cliques enquanto mantém a funcionalidade de deep linking intacta. Os ESPs agrupam os URLs do deep link com seu próprio domínio de gravação de cliques do ESP. Este procedimento às vezes interrompe o processo de Links Universais do iOS.

Com o Iterable, que é compatível com Links Universais além do seu domínio de gravação de cliques, é possível ainda executar deep linking e gravação de cliques.

Pré-requisitos

iOS Android
  • AppsFlyer iOS SDK versão 4.9.0

Configurando o Iterable

Etapa 1: Configurando a marca de link no Iterable

Crie um domínio de gravação de cliques dedicado e defina um subdomínio (por exemplo, click.exemplo.com)). Isso pode ser feito comprando um domínio designado ou usando seu próprio domínio.

Para obter mais informações sobre como definir um domínio de gravação de cliques com o Iterable, clique aqui.

Etapa 2: Fazendo upload do seu certificado SSL para Iterable

Seu domínio de gravação de cliques deve incluir o certificado SSL do seu domínio. O certificado SSL deve ser instalado na sua conta do Iterable. Instruções sobre como instalar seus certificados SSL podem ser encontradasaqui.

Etapa 2: Dê ao Iterable um arquivo AASA (iOS) e um arquivo Asset Links (Android)

AASA para iOS

Para que o Iterable seja compatível com links universais do iOS, ele precisa de um arquivo AASA. Veja as instruções a seguir.

Ao configurar o OneLink com Universal Links, você já tem um AASA associado ao OneLink. Para obter o AASA:

  1. Vá para Templates do OneLink e encontre um OneLink configurado com Universal Links.
  2. Adicione /.well-known/apple-app-site-association ao final do URL do OneLink.
  3. Cole o OneLink na barra de endereço do navegador e pressione Enter. Por exemplo: <OneLinkSubdomain>.onelink.me/.well-known/apple-app-site-association. Ao fazer isso, o arquivo AASA é baixado para o seu computador. Você pode abri-lo usando qualquer editor de texto simples.
  4. Defina regras de reescrita de links. Clique aqui para mais informações.
  5. Envie este arquivo AASA para o Iterable. Para obter mais informações e saber mais sobre o conteúdo deste arquivo, consulte o guia do Iterable.

Asset Links para Android

Ao configurar o OneLink com App Links, você já tem um arquivo Asset Links associado ao OneLink. Para obter o arquivo Asset Links:

  1. Acesse os templates do OneLink e encontre um OneLink configurado com App Links.
  2. Adicione /.well-known/assetlinks.json ao final do URL do OneLink.
  3. Cole o OneLink na barra de endereço do navegador e pressione Enter. Por exemplo:<OneLinkSubdomain>.onelink.me/.well-known/assetlinks.json. Ao fazer isso, o arquivo Asset Links é baixado para o seu computador. Você pode abri-lo usando qualquer editor de texto simples.
  4. Envie este arquivo do Asset Links para o Iterable. Para obter mais informações e saber mais sobre o conteúdo deste arquivo, consulte o guia do Iterable.

Configurando seu aplicativo

Veja o seguinte para configurar seus aplicativos para que eles sejam compatíveis com App Links e Universal links.

Etapa 1 para Android: Configurando seu aplicativo para que ele seja compatível com App Links

Etapa 1: Adicionando o domínio de clique à atividade no manifesto do Android

No manifesto do Android, adicione o host do domínio de clique e qualquer prefixo na tag de atividade da atividade à qual você deseja conectar um deep link.

<activity android:name=".DeepLinkActivity">
    <intent-filter  android:autoVerify="true">
        <action android:name="android.intent.action.VIEW" />
           <category android:name="android.intent.category.DEFAULT" />
           <category android:name="android.intent.category.BROWSABLE" />
           <data android:scheme="https"
               android:host="click.example.com"
               android:pathPrefix="/campaign" />
     </intent-filter>
</activity>

Etapa 2: Configurando o aplicativo para resolver domínios de cliques

O SDK precisa resolver o OneLink por trás do domínio de clique para obter os detalhes da campanha. Os detalhes são retornados no método onAppOpenAttribution.

Para resolver domínios de clique:

  1. Certifique-se de que sua versão do SDK seja pelo menos 4.9.0.
  2. Listar os domínios de clique na API do SDK setResolveDeepLinkURLs. Esta API precisa ser chamada antes da inicialização do SDK. Para mais informações, consulte a documentação do SDK aqui.
    AppsFlyerLib.getInstance().setResolveDeepLinkURLs("click.example.com");

Etapa 1 para iOS: Configurando seu aplicativo para que ele seja compatível com o Universal Links

Esta seção é sobre como configurar seu aplicativo para que ele seja compatível com Universal Links.

Etapa 1: Associando domínios de clique no Xcode

  1. No Xcode, clique no seu projeto.
  2. Clique em Recursos.configure-xcode-deeplinking-domain.png
  3. Ative Domínios Associados.
  4. Clique no sinal + e adicione seu domínio de clique. Por exemplo, applinks:click.example.com.

Veja o seguinte para configurar o SDK para resolver deep links.

Etapa 2 para Android: resolver deep links

O SDK precisa resolver o OneLink por trás do domínio de clique para obter os detalhes da campanha. Os detalhes são retornados no método onAppOpenAttribution.

Para resolver domínios de clique:

  1. Certifique-se de que sua versão do SDK seja pelo menos 4.9.0.
  2. Liste os domínios de clique na propriedade do SDK resolveDeepLinkURLs. Esta propriedade precisa ser definida antes da inicialização do SDK. Para mais informações, consulte a documentação do SDK aqui.
    AppsFlyerLib.getInstance().setResolveDeepLinkURLs("clickdomain.com", "myclickdomain.com", "anotherclickdomain.com");
    

Etapa 2 para iOS: resolver deep links

O SDK precisa resolver o OneLink por trás do domínio de clique para obter os detalhes da campanha. Os detalhes são retornados no método onAppOpenAttribution.

Para resolver domínios de clique:

  1. Certifique-se de que sua versão do SDK seja pelo menos 4.9.0.
  2. Liste os domínios de clique na propriedade do SDK resolveDeepLinkURLs. Esta propriedade precisa ser definida antes da inicialização do SDK. Para mais informações, consulte a documentação do SDK aqui.
    Objective-C Swift
    [AppsFlyerLib shared].resolveDeepLinkURLs = @[@"example.com",@"click.example.com"];
  3. Adicione o seguinte código para que o SDK possa resolver o domínio de gravação de cliques:
    Objective-C Swift

    Adicione este código em AppDelegate.m

    - (NSDictionary *)allHTTPHeaderFieldsForResolveDeepLinkURL:(NSURL *)URL {
        if ([URL.host  isEqual: @"click.example.com"]) {
            return [NSDictionary dictionary];
        }
        else {
            return nil;
        }
    }

Enviando seu primeiro e-mail

  1. Crie uma URL do OneLink na página Gerenciamento de links (ou manualmente).
  2. Ao criar o URL do OneLink, certifique-se de codificar o URL de todos os valores dos parâmetros.
  3. Os seguintes parâmetros são altamente recomendados para uso:
    • pid (fonte de mídia) - Use uma fonte de mídia que signifique esse uso, como E-mail.
    • c (campanha) – O nome da campanha que você deseja medir.
    • af_dp - O esquema de URI de deep link ao qual você deseja vincular seus usuários.
    • af_web_dp - Para onde redirecionar os usuários que clicam no link no desktop.
    • af_ios_url - Para onde redirecionar usuários que não têm o aplicativo e que clicam no link em um dispositivo iOS.
    • af_android_url - Para onde redirecionar usuários que não têm o aplicativo que clicam no link em um dispositivo Android.
  4. Coloque o URL do OneLink no e-mail que você cria no Iterable. Exemplo:
    <a href="greatapp.onelink.me/abcd/1234567">Download my great app!</a>
    Nesse estágio, o Iterable agrupa o link acima com o domínio de clique definido nas etapas anteriores. Qualquer clique no domínio de clique redireciona para o link de atribuição do OneLink. Se o aplicativo estiver instalado no dispositivo do usuário, há um deep link entre o domínio do clique e o aplicativo.

Exemplo

Os parâmetros de URL não são codificados em URL neste exemplo, apenas por uma questão de legibilidade:

https://greatapp.onelink.me/abcd?pid=Email&c=Spring_Newsletter&is_retargeting=true&
af_dp=testapp://path/to/content&af_web_dp=https://www.example.com/path/to/content&
af_ios_url=https://www.example.com/path/to/content&af_android_url=https://www.example.com/path/to/content

Testando seus links

Depois de seguir todas as etapas necessárias mencionadas acima, criar o URL OneLink apropriado e colocá-lo em um e-mail, envie um e-mail de teste para si mesmo.

O que você deve esperar?

Se você tiver o aplicativo instalado, ele deverá ser chamado. Se as APIs de deep linking relevantes do SDK da AppsFlyer forem implementadas, deve haver um deep link para o conteúdo relevante.
Além disso, um clique deve aparecer tanto no painel da AppsFlyer, atribuído à fonte de mídia e campanha fornecidas, quanto nos dados do Iterable.