Intégration d'Iterable avec AppsFlyer

En bref : Intégrer les liens d'attribution basés sur OneLink au système Iterable pour utiliser le deep linking à partir des e-mails. L'intégration utilise le support d'Iterable pour les liens universels en plus des domaines de suivi de clics personnalisés. 

iterable-af-logo.png

Introduction

Les ESP (fournisseurs de services d'e-mails) peuvent être d'excellentes sources de trafic segmenté.

L'un des problèmes des ESP est d'enregistrer les clics tout en conservant la fonctionnalité du deep linking. Les ESP encapsulent les URL de deep linking avec leur propre domaine d'enregistrement des clics. Cette procédure peut parfois perturber le processus des liens universels sur iOS.

Avec Iterable, qui prend en charge les liens universels en plus de leur domaine d'enregistrement de clics, il est toujours possible d'effectuer du deep linking et de l'enregistrement de clics.

Conditions préalables

iOS Android
  • SDK AppsFlyer iOS version 4.9.0

Mise en place d'Iterable

Étape 1 : Mise en place du marquage des liens dans Iterable

Créez un domaine dédié à l'enregistrement des clics et définissez un sous-domaine (par exemple, click.exemple.com). Vous pouvez acheter un domaine désigné ou utiliser votre propre domaine.

Pour plus d'informations sur la création d'un domaine d'enregistrement de clics avec Iterable, voir ici.

Étape 2 : Téléchargement de votre certificat SSL sur Iterable

Votre domaine d'enregistrement des clics doit inclure le certificat SSL de votre domaine. Le certificat SSL doit être installé dans votre compte Iterable. Les instructions relatives à l'installation de vos certificats SSL sont disponibles ici.

Étape 2 : Fournir à Iterable un fichier AASA (iOS) et un fichier Asset Links (Android).

AASA pour iOS

Pour qu'Iterable prenne en charge les liens universels iOS, un fichier AASA est nécessaire. Consultez les instructions suivantes.

Lorsque vous configurez OneLink avec des liens universels, vous avez déjà une AASA associée à OneLink. Pour obtenir l'AASA :

  1. Allez dans les templates OneLink et trouvez un OneLink configuré avec des liens universels.
  2. Ajoutez /.well-known/apple-app-site-association à la fin de l'URL OneLink.
  3. Collez le OneLink dans la barre d'adresse du navigateur et appuyez sur Entrée. Par exemple : <OneLinkSubdomain>.onelink.me/.well-known/apple-app-site-association. Le fichier AASA est alors téléchargé sur votre ordinateur. Vous pouvez l'ouvrir à l'aide d'un simple éditeur de texte.
  4. Définissez les règles de réécriture des liens. Pour plus d'informations, veuillez cliquer ici.
  5. Envoyez ce fichier AASA à Iterable. Pour plus d'informations et pour en savoir plus sur le contenu de ce fichier, voir ce guide.

Asset Links pour Android

Lorsque vous configurez OneLink avec des liens d'app, un fichier Asset Links est déjà associé à OneLink. Pour obtenir le fichier Asset Links :

  1. Allez dans les templates OneLink et trouvez un OneLink configuré avec des liens d’app.
  2. Ajoutez /.well-known/assetlinks.json à la fin de l'URL OneLink.
  3. Collez le OneLink dans la barre d'adresse du navigateur et appuyez sur Entrée. Par exemple :<OneLinkSubdomain>.onelink.me/.well-known/assetlinks.json. Le fichier Asset Links est alors téléchargé sur votre ordinateur. Vous pouvez l'ouvrir à l'aide d'un simple éditeur de texte.
  4. Envoyez ce fichier Asset Links à Iterable. Pour plus d'informations et pour en savoir plus sur le contenu de ce fichier, voir ce guide Iterable.

Configuration de votre app

Pour configurer vos applications de manière à ce qu'elles prennent en charge les liens d’app et les liens universels, veuillez vous reporter à ce qui suit.

Étape 1 pour Android : Configurer votre application pour qu'elle prenne en charge les liens d’app

Étape 1 : Ajouter le domaine de clic à l'activité dans le manifeste Android

Dans le manifeste Android, ajoutez l'hôte du domaine de clic et son préfixe dans la balise d'activité de l'activité que vous souhaitez deep linker.

<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>

Étape 2 : Configurer l'application pour les domaines de clics

Le SDK doit résoudre le OneLink derrière le domaine de clic pour obtenir les détails de la campagne. Les détails sont renvoyés dans la méthode onAppOpenAttribution.

Pour résoudre les domaine de clics :

  1. Assurez-vous de posséder le SDK 4.9.0 ou +.
  2. Liste des domaines de clics dans le SDK d'API setResolveDeepLinkURLs. Cette API doit être appelée avant l'initialisation du SDK. Pour plus d'informations, voir la documentation du SDK ici.
    AppsFlyerLib.getInstance().setResolveDeepLinkURLs("click.example.com");

Étape 1 pour iOS : Configurer votre application pour qu'elle prenne en charge les liens universels

Cette section explique comment configurer votre app pour qu'elle prenne en charge les liens universels.

Étape 1 : Associer des domaines de clics dans Xcode

  1. Dans Xcode, cliquez sur votre projet.
  2. Cliquez sur Capacités.configure-xcode-deeplinking-domain.png
  3. Activez les Domaines associés.
  4. Cliquez sur le signe + et ajoutez votre domaine de clics. Par exemple, applinks:click.example.com.

Pour configurer le SDK afin de résoudre les deep links, veuillez suivre les étapes ci-dessous.

Étape 2 pour Android : résoudre les deep links

Le SDK doit résoudre le OneLink derrière le domaine de clic pour obtenir les détails de la campagne. Les détails sont renvoyés dans la méthode onAppOpenAttribution.

Pour résoudre les domaine de clics :

  1. Assurez-vous de posséder le SDK 4.9.0 ou +.
  2. Dressez la liste des domaines de clics dans la propriété SDK resolveDeepLinkURLs. Cette propriété doit être définie avant l'initialisation du SDK. Pour plus d'informations, voir la documentation du SDK ici.
    AppsFlyerLib.getInstance().setResolveDeepLinkURLs("clickdomain.com", "myclickdomain.com", "anotherclickdomain.com");
    

Étape 2 pour iOS : résoudre les deep links

Le SDK doit résoudre le OneLink derrière le domaine de clic pour obtenir les détails de la campagne. Les détails sont renvoyés dans la méthode onAppOpenAttribution.

Pour résoudre les domaine de clics :

  1. Assurez-vous de posséder le SDK 4.9.0 ou +.
  2. Dressez la liste des domaines de clics dans la propriété SDK resolveDeepLinkURLs. Cette propriété doit être définie avant l'initialisation du SDK. Pour plus d'informations, voir la documentation du SDK ici.
    Objective-C Swift
    [AppsFlyerLib shared].resolveDeepLinkURLs = @[@"example.com",@"click.example.com"];
  3. Ajoutez le code suivant pour que le SDK puisse résoudre le domaine d'enregistrement des clics :
    Objective-C Swift

    Ajoutez ce code dans AppDelegate.m

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

Envoyer le premier e-mail

  1. Créez une URL OneLink sur la page de gestion des liens (ou manuellement).
  2. Lors de la création de l'URL OneLink, veillez à encoder toutes les valeurs des paramètres.
  3. Nous vous recommandons d'utiliser les paramètres suivants :
    • pid (source média) - Utilisez une source média qui indique cette utilisation, par exemple e-mail.
    • c (campagne) - Le nom de la campagne que vous souhaitez mesurer.
    • af_dp - Le schéma d'URI de deep linking vers lequel vos utilisateurs seront deep linkés.
    • af_web_dp - Où rediriger les utilisateurs qui cliquent sur le lien sur le bureau.
    • af_ios_url - Où rediriger les utilisateurs qui n'ont pas l'application en cliquant sur le lien depuis un appareil iOS.
    • af_android_url - Où rediriger les utilisateurs qui n'ont pas l'application en cliquant sur le lien sur un appareil Android.
  4. Placez l'URL de OneLink dans l'e-mail que vous créez dans Iterable. Exemple :
    <a href="greatapp.onelink.me/abcd/1234567">Download my great app!</a>
    À ce stade, Iterable enveloppe le lien ci-dessus avec le domaine de clic que vous avez défini dans les étapes précédentes. Tout clic sur le domaine de clics redirige vers le lien d'attribution OneLink. Si l'application est installée sur l'appareil de l'utilisateur, le domaine de clics envoie le deep link dans l'app.

Exemple

Par souci de lisibilité, les paramètres d'URL ne sont pas encodés dans cet exemple :

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

Tester vos liens

Après avoir suivi toutes les étapes mentionnées ci-dessus, créé l'URL OneLink et l'avoir placée dans un e-mail, envoyez-vous un e-mail de test.

Que va-t-il se passer ?

Si l'application est bien installée, elle devrait être appelée. Si les API de deep linking pertinentes du SDK AppsFlyer sont mises en œuvre, vous devriez être redirigé vers le contenu correspondant.
Un clic doit apparaître à la fois dans le tableau de bord d'AppsFlyer, attribué à la source média et à la campagne fournies, et dans les données d’Iterable.