Интеграция Iterable с AppsFlyer

Краткий обзор. Интегрируйте ссылки атрибуции на основе OneLink с системой Iterable для перенаправления по диплинкам из электронных писем. В интеграции используется поддержка Iterable универсальных ссылок в дополнение к фирменным доменам регистрации кликов. 

iterable-af-logo.png

Введение

ESP (поставщики услуг электронной почты) могут быть отличными источниками сегментированного пользовательского трафика.

Одна из проблем ESP — запись кликов при сохранении функциональности диплинков. ESP упаковывают URL-адрес диплинка, используя свои собственные домены регистрации кликов. Эта процедура иногда прерывает процесс универсальных ссылок iOS.

Iterable поддерживает универсальные ссылки в дополнение к доменам записи кликов, и с помощью этого решения можно по-прежнему выполнять перенаправление по диплинкам и запись кликов.

Необходимые условия

iOS Android
  • SDK AppsFlyer для iOS версии 4.9.0

Настройка Iterable

Шаг 1: Настройка брендинга ссылок в Iterable

Создайте специальный домен для записи кликов и задайте субдомен (например, click.example.com). Это можно сделать, купив выделенный домен или используя свой собственный домен.

Дополнительные сведения о настройке домена записи кликов с помощью Iterable см. здесь.

Шаг 2: Загрузка SSL-сертификата в Iterable

Ваш домен регистрации кликов должен содержать сертификат SSL вашего домена. Сертификат SSL должен быть установлен в вашем аккаунте Iterable. Инструкции по установке сертификатов SSL можно найти здесь.

Шаг 2: Предоставьте Iterable файл AASA (iOS) и ссылки на ресурсы (Android)

AASA для iOS

Чтобы Iterable поддерживал универсальные ссылки iOS, ему необходим файл AASA. Ознакомьтесь со следующими инструкциями.

Когда вы устанавливаете OneLink с помощью универсальных ссылок, у вас уже есть файл AASA, связанный с OneLink. Для получения AASA:

  1. Перейдите к шаблонам OneLink и найдите OneLink, в котором настроены универсальные ссылки.
  2. Добавьте /.well-known/apple-app-site-association в конец URL OneLink.
  3. Вставьте OneLink в адресную строку браузера и нажмите клавишу ввода. Например: <OneLinkSubdomain>.onelink.me/.well-known/apple-app-site-association. После этого файл AASA будет загружен на ваш компьютер. Открыть его можно с помощью любого простого текстового редактора.
  4. Определите правила перезаписи ссылок. Подробные сведения см. здесь.
  5. Отправьте этот файл AASA в Iterable. Для получения дополнительной информации и ознакомления с содержимым этого файла см. данное руководство.

Asset Links для Android

Когда вы настраиваете OneLink с помощью App Links, у вас уже есть файл Asset Links, связанный с OneLink. Для получения файла Asset Links:

  1. Перейдите к шаблонам OneLink и найдите OneLink, в котором настроены App Links.
  2. Добавьте /.well-known/assetlinks.json в конец URL-адреса OneLink.
  3. Вставьте OneLink в адресную строку браузера и нажмите Enter. Например:<OneLinkSubdomain>.onelink.me/.well-known/assetlinks.json. После этого файл Asset Links будет загружен на ваш компьютер. Открыть его можно с помощью любого простого текстового редактора.
  4. Отправьте этот файл Asset Links в Iterable. Для получения дополнительной информации и ознакомления с содержимым этого файла см. данное руководство.

Настройка приложения

Чтобы настроить приложения для поддержки App Links и универсальных ссылок iOS, см. следующее.

Шаг 1 для Android: Настройка приложения для поддержки App Links

Шаг 1: Добавление домена кликов к активности в манифесте Android

В манифесте Android добавьте хост домена кликов и любой префикс в тег activity для активности, на которую должен вести диплинк.

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

Шаг 2: Настройка приложения для разрешения доменов кликов

SDK необходимо разрешить ссылку OneLink в рамках домена кликов, чтобы получить информацию о кампании. Сведения возвращаются в методе onAppOpenAttribution.

Для разрешения доменов кликов:

  1. Убедитесь, что версия SDK не ниже 4.9.0.
  2. Перечислите домены кликов в API SDK setResolveDeepLinkURLs. Этот API необходимо вызывать до инициализации SDK. Дополнительные сведения см. в документации по SDK здесь.
    AppsFlyerLib.getInstance().setResolveDeepLinkURLs("click.example.com");

Шаг 1 для iOS: Настройка приложения для поддержки универсальных ссылок

В этом разделе рассматривается настройка приложения для поддержки универсальных ссылок.

Шаг 1: Ассоциирование доменов кликов в Xcode

  1. Нажмите на свой проект в Xcode.
  2. Нажмите Capabilities. configure-xcode-deeplinking-domain.png
  3. Включите параметр Associated Domain (Связанный домен).
  4. Нажмите на знак + и добавьте свой домен. Например, applinks:click.example.com.

См. следующее, чтобы настроить SDK для разрешения диплинков.

Шаг 2 для Android: разрешение диплинков

SDK необходимо разрешить ссылку OneLink в рамках домена кликов, чтобы получить информацию о кампании. Сведения возвращаются в методе onAppOpenAttribution.

Для разрешения доменов кликов:

  1. Убедитесь, что версия SDK не ниже 4.9.0.
  2. Перечислите домены кликов в свойстве SDK resolveDeepLinkURLs. Это свойство должно быть установлено перед инициализацией SDK. Дополнительные сведения см. в документации по SDK здесь.
    AppsFlyerLib.getInstance().setResolveDeepLinkURLs("clickdomain.com", "myclickdomain.com", "anotherclickdomain.com");
    

Шаг 2 для iOS: разрешение диплинков

SDK необходимо разрешить ссылку OneLink в рамках домена кликов, чтобы получить информацию о кампании. Сведения возвращаются в методе onAppOpenAttribution.

Для разрешения доменов кликов:

  1. Убедитесь, что версия SDK не ниже 4.9.0.
  2. Перечислите домены кликов в свойстве SDK resolveDeepLinkURLs. Это свойство должно быть установлено перед инициализацией SDK. Дополнительные сведения см. в документации по SDK здесь.
    Objective-C Swift
    [AppsFlyerLib shared].resolveDeepLinkURLs = @[@"example.com",@"click.example.com"];
  3. Добавьте следующий код, чтобы SDK мог разрешить домен регистрации кликов:
    Objective-C Swift

    Добавьте этот код в AppDelegate.m

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

Отправка первого письма

  1. Создайте URL-адрес OneLink на странице управления ссылками (или вручную).
  2. При создании URL OneLink убедитесь, что в URL все значения параметров закодированы.
  3. Настоятельно рекомендуется использовать следующие параметры:
    • pid (медиа-источник) — используйте медиа-источник, который означает данное использование, например, Email.
    • c (кампания) — название кампании, которую вы хотите измерить.
    • af_dp — схема URI диплинка, куда вы хотите перенаправлять своих пользователей.
    • af_web_dp — куда перенаправлять пользователей, переходящих по ссылке на компьютере.
    • af_ios_url — куда перенаправлять пользователей, у которых нет приложения, перешедших по ссылке на устройстве iOS.
    • af_android_url — куда перенаправлять пользователей, у которых нет приложения, по ссылке на устройстве Android.
  4. Поместите URL-адрес OneLink в электронное письмо, созданное в Iterable. Пример:
    <a href="greatapp.onelink.me/abcd/1234567">Download my great app!</a>
    На этом этапе Iterable упаковывает приведенную выше ссылку с помощью домена кликов, который вы задали на предыдущих шагах. Любой клик по домену кликов перенаправляет на ссылку атрибуции OneLink. Если приложение установлено на устройство пользователя, то домен кликов перенаправляет по диплинку в приложение.

Пример

В этом примере параметры URL не закодированы просто для удобства чтения:

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

Тестирование ссылок

После выполнения всех описанных выше действий, создания соответствующего URL OneLink и размещения его в электронном письме отправьте себе тестовое письмо.

Чего следует ожидать?

Если приложение установлено, оно должно быть вызвано. Если реализованы соответствующие API для диплинкинга в AppsFlyer SDK, то вы должны перейти по диплинку на соответствующий контент.
Кроме того, клик должен появиться как на дэшборде AppsFlyer, атрибутированный к указанному медиа-источнику и кампании, так и в данных Iterable.