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.
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
- SDK AppsFlyer iOS version 4.9.0
- SDK AppsFlyer Android version 4.9.0
Iterable ne prend pas en charge les liens d’app Android. Toutefois, le deep linking via le schéma d’URI est toujours pris en charge. Aucune action particulière n'est requise de la part d'Iterable pour prendre en charge le deep linking sur Android.
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 :
- Allez dans les templates OneLink et trouvez un OneLink configuré avec des liens universels.
- Ajoutez /.well-known/apple-app-site-association à la fin de l'URL OneLink.
- 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.
- Définissez les règles de réécriture des liens. Pour plus d'informations, veuillez cliquer ici.
- 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 :
- Allez dans les templates OneLink et trouvez un OneLink configuré avec des liens d’app.
- Ajoutez /.well-known/assetlinks.json à la fin de l'URL OneLink.
- 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.
- 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 :
- Assurez-vous de posséder le SDK 4.9.0 ou +.
- 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
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 :
- Assurez-vous de posséder le SDK 4.9.0 ou +.
- 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 :
- Assurez-vous de posséder le SDK 4.9.0 ou +.
- 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 shared].resolveDeepLinkURLs = @[@"example.com",@"click.example.com"];
AppsFlyerLib.shared().resolveDeepLinkURLs = ["example.com", "click.example.com"]
- Ajoutez le code suivant pour que le SDK puisse résoudre le domaine d'enregistrement des clics :
Ajoutez ce code dans AppDelegate.m
- (NSDictionary *)allHTTPHeaderFieldsForResolveDeepLinkURL:(NSURL *)URL { if ([URL.host isEqual: @"click.example.com"]) { return [NSDictionary dictionary]; } else { return nil; } }
Ajoutez ce code dans AppDelgate.swift
func allHTTPHeaderFields(forResolveDeepLinkURL URL: URL!) -> [String : String]! { if (URL.host == "click.example.com") { /// Change User-Agent return [:] } else { return nil; } }
Envoyer le premier e-mail
- Créez une URL OneLink sur la page de gestion des liens (ou manuellement).
- Lors de la création de l'URL OneLink, veillez à encoder toutes les valeurs des paramètres.
- 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.
- Placez l'URL de OneLink dans l'e-mail que vous créez dans Iterable. Exemple :
À 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.<a href="greatapp.onelink.me/abcd/1234567">Download my great app!</a>
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.