Как настраивать диплинки: инструкция для Firebase, AppsFlyer и Facebook
На связи Алексей Поддубный, iOS-разработчик AGIMA. Я расскажу, как в iOS работают диплинки, и разберу тонкости настройки популярных сервисов: где создавать ссылки с динамическими параметрами, как настраивать конфигурацию приложений и что делать после настройки. Инструкции основаны на оригинальных туториалах, которые мы перевели и адаптировали.
Диплинки, или глубинные ссылки, часто используют в рекламных кампаниях соцсетей. Они нужны чтобы вовлекать новых пользователей или интегрировать приложения с различными источниками трафика. Такая ссылка отправляет пользователя сразу на определенный раздел или товар, который он увидел в рекламной компании без перехода в браузер.
Что такое глубинные ссылки?
Человек листал ленту Facebook и увидел рекламу: доставка бургеров за 15 минут. Он кликает по ссылке и попадает в браузер на главную страницу. Рекламных предложений с «быстрыми» бургерами там нет, а без авторизации написать менеджеру нельзя. В результате страница закрывается, человек остается голодным и недовольным, а бизнес недополучил прибыль.
Чтобы дать пользователю желаемое «здесь и сейчас» нужна глубинная ссылка — Deep Link. Или Deferred Deep Linking — отложенная глубинная ссылка — если приложение не установлено. В отложенном варианте пользователь сначала попадает в App Store или Play Market для Android, а после установки — в нужный раздел приложения.
Как можно использовать диплинки
Интегрировать в рекламные кампании и привлекать новых пользователей.
Переносить пользователей из веба в мобайл: после установки приложения можно продолжить работу сразу с того места, на котором человек остановился.
Перенаправлять с электронной почты или SMS-сообщений в приложение на нужный раздел или товар.
Обмениваться данными между пользователями: люди могут делиться между собой приглашениями установить приложение или ссылками на конкретный товар. С помощью диплинков можно отследить поведение пользователей и оптимизировать будущие маркетинговые кампании.
Сервисы для интеграции диплинков
Есть много сервисов по внедрению диплинков. Мы чаще всего используем Firebase, AppsFlyer и Facebook поэтому будем сравнивать их. Справедливости ради, можно обойтись и без сторонних сервисов, но в этой статье такой подход мы рассматривать не будем.
Firebase
AppsFlyer (OneLink)
Сервис содержит модуль для интеграции диплинков, Crashlytics, Аналитику, Push-уведомления и другие популярные модули
Мощный и легкий в использовании инструмент для настройки диплинков, отслеживания установок и аналитики
Механизм для настройки рекламных диплинков внутри продуктов Facebook
Для чего использовать
Для рекламных диплинков ведущих на веб- и мобильные устройства
Для рекламных диплинков, ведущих на веб- и мобильные устройства
Используется только в рекламных кампаниях Facebook и Instagram (сторис, лента)
+ Ссылки могут участвовать в поисковой индексации
+ Можно создать ссылку с динамическими параметрами, например когда каждому пользователю нужно выдать по ссылке с уникальным параметром
+Можно добавлять UTM-параметры
+ Работает на всех платформах
+ Гибкая настройка диплинков, можно указать множество дополнительных параметров
+ Есть OneLink API для создания персонализированных ссылок и автоматизации процесса
+ Возможно создавать ссылки с динамическими параметрами
+ Deferred Deeplink без проблем работает в последних версиях iOS
+ Позволяет интегрировать в рекламу Facebook
+ Удобно тестировать через тестовые устройства
— Настраивается только для мобильных приложений на базе iOS / Android
— Нет API для генерации ссылок
— Нет возможности настраивать рекламные кампании в консоли Firebase
— Тестирование возможно только через установку приложения Facebook Messenger
— Из-за изменений в iOS 14 отложенный переход по глубинной ссылке больше не поддерживается
Удобство ЛК для отслеживания аналитики
Можно отслеживать количество кликов по ссылке после установки приложения
Система отслеживания аналитики с множеством параметров: географическое распределение пользователей, источники трафика, установки по дням, переходы по ссылкам, показы, открытия приложения, показатели конверсии, неорганические и органические установки
Отображает и разделяет количество органических и неорганических установок. Показывает время последней установки на каждой из платформ iOS / Android
Дальше разберем, как интегрировать диплинки через описанные фреймворки.
#1: Настройка через Firebase
Создание ссылки в консоли Firebase
В консоли Firebase откройте раздел «Динамические ссылки». Создайте базовый домен, который будет использоваться в диплинках.
2. Нажмите на New Dynamic Link и перейдите к созданию диплинка.
Сформируйте вид короткой ссылки и нажмите Next.
3. Укажите ссылку, которая будет открываться у пользователей веба и в мобильном приложении. Правая часть ссылки — та, из которой будем извлекать параметры.
4. В следующем пункте укажите «Open the deep link in your iOS App» и выберите приложение из выпадающего списка.
5. Если ссылка будет использоваться для обеих платформ, то укажите и Android-приложение.
6. Укажите метатеги, UTM-метки или другие дополнительные параметры, нажмите «Сохранить».
Все, диплинк готов к дальнейшему использованию.
Конфигурация приложения
Откройте проект в Xcode и перейдите во вкладку Signing & Capabilities, допишите префикс applinks и добавьте ваш домен в Associated Domains.
Чтобы проверить правильность настройки, установите приложение на телефон и перейдите по ссылке в виде https://your_dynamic_links_domain/apple-app-site-association. В нашем случае — https://tr4d1.page.link/apple-app-site-association. После нажатия на ссылку вы должны попасть в приложение.
Для получения и обработки диплинков добавьте Firebase SDK.
1. Добавьте и установите Firebase SDK через cocoapods выполнив pod install.
2. Импортируйте модуль Firebase в AppDelegate
3. В методе application:didFinishLaunchingWithOptions: вызовите FirebaseApp.configure() для инициализации SDK.
4. Реализуйте метод для открытия диплинков если приложение уже установлено у пользователя.
Настройка Deferred Deep Link для случаев когда приложение не было раньше установлено:
Метод для обработки диплинка:
Опишем синглтон для хранения диплинка
Опишем базовый контроллер
Таким образом, когда пользователь переходит по короткой ссылке вида https://tr4d1.page.link/subscription, в обработчик попадает внутренняя ссылка https://deeplinkexample/subscription. После ее успешной обработки получается enumDeepLinkType.subscription, который можно использовать для открытия соответствующего раздела приложения.
#2: Настройка через AppsFlyer (Onelink)
Создание шаблона OneLink
1. Перейдите по ссылке https://hq1.appsflyer.com/onelink/setup?onelinkId=new создайте базовый шаблон и укажите его название.
2. Укажите поддомен, который будет использоваться в диплинках.
3. Из выпадающего списка выберите название приложения. Если ссылка будет использоваться для обеих платформ, то укажите и Android-приложение.
4. Настройте поведение ссылки для случаев если приложение не установлено. Здесь по умолчанию открывается приложение в AppStore, и этот параметр изменять не нужно, — он уже сконфигурирован на открытие приложения в AppStore.
5. Выберите действия, которые необходимо выполнить если приложение установлено. Здесь нужно изменить на запуск приложения с использованием Universal Links указав Team Id и Bundle Id приложения.
6. Если на вебе нужно открывать другую ссылку, а не перенаправлять пользователей в магазины приложений, укажите веб-ссылку. После этого шага нажмите «Сохранить» и перейдите к созданию самого диплинка.
Создание ссылки OneLink
1. Сформируйте вид короткий ссылки
2. Укажите название кампании
3. Добавьте дополнительные параметры атрибуции. Они могут быть предустановленными, например af_ad (имя рекламы), af_channel (канал рекламы) или свои собственные. Все параметры будут доступны в приложении после переходу по ссылке и ее обработки.
4. После добавления параметров сохраните ссылку. Диплинк готов к использованию. Ссылка доступна в коротком и длинном варианте.
Конфигурация приложения
Откройте проект в Xcode и перейдите во вкладку Signing & Capabilities, добавьте ваш домен в Associated Domains, дописав префикс applinks: по аналогии с конфигурацией Firebase.
Для получения и обработки диплинков необходимо добавить AppsFlyer SDK.
1. Добавьте и установите AppSlyer SDK через cocoapods выполнив pod install
2. Импортируйте модуль AppsFlyer в AppDelegate
В методе application:didFinishLaunchingWithOptions: установите appsFlyerDevKey и appleAppID
3. Реализуйте методы для извлечения ссылки и передачи ее в обработчик AppsFlyer
4. Также реализуйте методы SDK AppsFlyer onConversionDataSuccess и onAppOpenAttribution для обработки диплинков
Переходя по короткой ссылке вида https://tr4d1.onelink.me/Jvu2/subscription, в обработчик попадает развернутая ссылка https://tr4d1.onelink.me/Jvu2?pid=subscription&c=subscription&custom_value=1&af_ad=subscription. Все параметры этой ссылки находятся в словаре. Извлекая параметры, можно выполнить соответствующие действия в приложении.
Оригинал инструкции для AppsFlyer https://support.appsflyer.com/hc/en-us/articles/207032066-AppsFlyer-SDK-Integration-iOS#core-apis-get-conversion-data
#3: Настройка через Facebook
Конфигурация приложения
Откройте проект в Xcode и перейдите в Info.plist. Здесь необходимо добавить данные вашего приложения из Facebook.
Для получения и обработки диплинков необходимо добавить Facebook SDK.
1. Добавьте и установите Facebook SDK через cocoapods выполнив pod install.
2. Импортируйте модуль Facebook в AppDelegate.
3. В Facebook для любого вида диплинков используется всего один метод:
Диплинки в Facebook работают только при переходе по ним из рекламы. Для их тестирования нужно настроить тестовую рекламную кампанию. Скачать Facebook Messenger и авторизоваться под той же учетной записью, в которой настраиваются диплинки. Затем найти в ленте запись вашей рекламной кампании и нажать на нее для перехода по диплинку.
Откладка диплинков
Для тестирования и дебаггинга глубинных отложенных диплинков нужно удалить приложение с телефона. Перейти по диплинку и попасть в AppStore на страницу приложения, но не скачивать его. После чего установить приложение через Xcode на девайс, установить брейкпоинты на методах извлечения диплинков соответствующих SDK и произвести отладку.
Для отладки обычных отложенных диплинков, когда приложение уже установлено и выполняется просто переход по ссылке, нужно предварительно установить приложение через Xcode, но не запускать его. Это делается с помощью нажатия Option+Cmd+R. Откроется окно, в котором нужно поставить галочку Wait for the executable to be launched.
В данном случае Xcode установит приложение, но будет ждать на открытие его пользователем. Далее так же установите брейкпоинты на нужных методах и перейдите по диплинку.
Рекомендации
Детально тестируйте каждую ссылку на открытие нужного раздела или продукта в приложении перед отправкой новой версии приложения с AppStore. Это экономит время на более быстрый старт будущих рекламных кампаний.
При добавлении каждого SDK или новой ссылки проверьте поведение ссылки при установленном приложении и, если оно отсутствует.
Интегрируйте сразу несколько SKD в одно приложение, например Facebook, Firebase и AppsFlyer. Тогда нужно смотреть чтобы добавление нового, не сломало работоспособность предыдущего. В таком случае хорошо иметь один обработчик, который будет вызываться каждым SDK.
Что такое диплинк в рекламе
Для того, чтобы запускать рекламу на Instagram-профиль, вам нужно перевести его в бизнес-аккаунт и привязать к Странице на Facebook. Есть множество инструкций, как это сделать, которые можно найти в интернете
Создаем рекламную кампанию в Facebook
Заходим в рекламный Кабинет Facebook (Ads Manager) и создаем рекламную кампанию:
1) Выбираем цель «Трафик»
2) Указываем любое название (напр. «Трафик»)
3) Жмем «Продолжить»
Настраиваем рекламную кампанию (Аудитория)
На появившейся странице доходим до раздела «Аудитория»
• Места: указываем нужный район/город/страну (можно выбрать несколько точек)
• Возраст: От и До
• Пол: М/Ж/МЖ
Настраиваем рекламную кампанию (Интересы)
В разделе «Детальный таргетинг» жмем на кнопку «Просмотр», видим такие вкладки:
• Демографические интересы (образование/ семейное положение/финансы и тд)
• Интересы
• Поведение (регулярно путешествует, покупательское поведение и тд)
В этом разделе стоит покапаться подольше, можно найти очень интересные пункты.
Места размещения
Далее выбираем места размещения(плейсменты).
Выбираем пункт «Редактировать плейсменты» и указываем, где именно будет показываться Ваша реклама.
Обычно для рекламы Инстаграм-профиля выбирают «Лента Instagram» и «Instagram Stories». Остальные галочки нужно убрать.
Бюджет на рекламу
В этом пункте вы можете настроить сколько будет тратиться денег на рекламу, в день/неделю.
Различные стратегии по оптимизации расхода бюджета.
Также можно указать желаемую цену за клик и Facebook постарается придерживаться этого ограничения.
Формат объявления
Выбираем нужный формат объявления.
Не все форматы доступны в рекламе в Instagram.
Выбирайте либо «Одно изображение или видео» или «Кольцевая галерея», если фотографий или видео несколько в одном объявлении.
Текст объявления
В тексте объявления напишите почему люди должны перейти по рекламе.
Если вы блогер, напишите, почему именно на вас нужно подписаться. (Пример: Научу тебя худеть без диет и упражнений. Блог о стройной жизни!)
В тексте можно использовать эмоджи
Ссылка и диплинк
Самый важный пункт! Обычно малоопытные пользователи в поле для ввода ссылки вставляют ссылку на свой аккаунт в Instagram — это неправильно!
Не все пользователи помнят свои пароли, а если и помнят, им не хочется делать лишних телодвижений, чтобы просто подписаться.
С диплинками клиенту не нужно проходить процедуру ввода логина и пароля от Инстаграма, в следствие чего диплинки повышают шансы, что клиенты будут подписываться и предотвращают слив рекламного бюджета.
Заказываем диплинк
Зарегистрируйтесь на сайте deeplink.bmbe.ru.
Вы попадете в кабинет на мастер создания диплинков.
Укажите ссылку на профиль Instagram, для которого вы настраиваете рекламу.
Система сразу выдаст вам ссылку на ваш диплинк! Скопируйте его и установите в рекламу в кабинете Facebook!
Вставляем диплинк
Заходим обратно в рекламный Кабинет Facebook и вставляем наш ссылку-диплинк в графу «URL сайта».
Далее выбираем «Призыв к действию» (надпись на кнопке объявления).
Жмем внизу «Подтвердить» и сохраняем наше объявление.
Объявление ушло на проверку модераторов Facebook, и если вы не рекламируете что-то запрещенное, то скором времени рекламу одобрят и она автоматически начнет показываться людям.
Диплинки для таргета в Instagram
Сервис, который переводит клики напрямую в приложение вместо браузера
Увеличьте эффективность своей рекламной кампании минимум на 20%
Маркетинговая платформа для эффективного ведения бизнеса в Instagram
Как я перестал бояться и полюбил диплинкинг: ликбез по «глубинному связыванию»
Гид от Шани Розенфельдера, руководитель контент-отдела в компании AppsFlyer.
Для чего мы используем ссылки при работе с мобильными устройствами? Для привлечения пользователей к какому-либо продукту, для проведения промокампаний в Facebook, перенаправления в магазин приложений с сайтов или из электронной почты — вариантов много.
Метод диплинкинга, deep linking (англ. «глубинное связывание») — важный элемент любой маркетинговой кампании, которая проводится на мобильных устройствах. С его помощью получается создать удобный процесс переходов по типу приложение-сайт-приложение на смартфоне и обеспечить наилучший пользовательский опыт, несмотря на фрагментированность экосистемы. Проще говоря,
диплинкинг позволяет уменьшить количество барьеров на пути юзера к конечной цели, которую хочет ему дать разработчик.
Но не все понимают, как правильно использовать его в работе, а типы ссылок часто из-за этого путаются, затрудняя маршрутизацию между «точками» A и В в мобильном устройстве. Поэтому мы решили разобраться, что к чему: от понятий «универсальные ссылки» до разницы между методами «привязки» и «приписывания».
Всё, что нужно знать о рекламе в мобильных играх
Аналитический обзор Gameloft: рекламные форматы, портрет аудитории, надёжные бенчмарки.
Что такое глубинное связывание. Просто веб-ссылка, которая является URL-адресом
Любая веб-ссылка представляет собой цифровой адрес, имя или путь к файлу в интернете. А вот диплинк — это веб-ссылка или специальный URL-адрес, которые перенаправляют пользователей на какое-то место на сайте или в приложении.
Ключевое понятие
Диплинк — маршрут пользователя к конкретным местам на веб-сайте или нативному приложению по ссылке. А вот версия термина mobile deep link говорит о том, что эта ссылка будет содержать в себе всю необходимую информацию о входе в приложение и в конкретное место в нём, а не только сам запуск установленной программы.
Таким образом, диплинкинг связан с URL-адресами и URI (англ. «универсальный идентификатор ресурсов»), которые представляют собой строку символов, используемых для идентификации имени ресурса в сети.
Приложения, которые установлены на устройстве, могут напрямую открываться через уникальную зарегистрированную схему, называемую схема URI. Можно провести аналогию между реальной почтой и веб-адресом в сети — схема URI будет работать только в том случае, если её обслуживают инженеры-«почтальоны» и номер ящика зарегистрирован в базе адресов (в данном случае — в магазине приложений).
Принцип диплинкинга

Если приложение установлено, то ссылка сразу же перебрасывает пользователя в нужное место в нём, а если нет — то сперва предлагает установить приложение.
Диплинк или не диплинк — вот в чём вопрос
| Диплинк? | Пример ссылки | Описание | ||
|---|---|---|---|---|
| Нет | https://cossa.ru | Это ссылка, которая отправляет на главную страницу ресурса, не давая пользователю проникнуть глубже в содержание сайта. | ||
| Да | https://cossa.ru/trends | А вот это уже диплинк, потому что она позволяет попасть пользователю не на основную страницу, а чуть глубже. | ||
| Да (как бы) | cossa:// | Это схема URI для iOS, запускающая приложение Соssa. Люди часто называют это диплинк, но она будет таковой, если только перенаправит пользователя в приложение откуда-либо, но сама по себе она аналогична домену высшего уровня. | ||
| Да | cossa://ip/trends/179466// | Диплинк в чистом виде, которая отправляет на конкретную статью в приложении Cossa. |
Устраняем путаницу с понятием универсальных ссылок
Что общего между диплинк и Apple Universal Links (для iOS) / Android App Links (для Android)?
Apple Universal Links (AUL) и Android App Links (AAL) на деле являются не совсем ссылками, а скорее механизмами, которые применяются к некоторым ссылкам, контролирующим процесс «переправки» пользователей в приложение.
В определённых сценариях они превращают обычные старые ссылки в диплинки внутри приложений. Инструменты от Apple и Google становятся стандартами, которые можно применять к любой ссылке, а разработчики должны применять их в своей работе.
Тем не менее эти ссылки имеют свои ограничения, о которых важно знать — особенно в отношении Apple Universal Links. Самым важным будет то, что AUL не перенаправляет пользователей, а служит системой, применяемой к ссылкам для открытия приложений, поэтому с её помощью будет сложно отследить клики.
Поскольку приложение открывается сразу с помощью Apple Universal Links, то перенаправление через веб-страницу для подсчёта кликов на сервере будет недоступно. Чтобы обойти это ограничение, команде программистов придётся настраивать сервер и вручную подсчитывать каждый клик в приложении.
Более простым решением будет использовать методы распределения и диплинкинг, который поддерживается Apple Universal Links и поэтому будет автоматически выполнять этот тип отслеживания за вас.
Более наглядно на диаграмме.

Метод распределения и диплинкинг: 1–2 нокаутирующих удара
Несмотря на то, что вы уже слышали о методе распределения и диплинкинге, важно подчеркнуть, что глубинное связывание — это одно из свойств распределения (атрибуции), а не наоборот. Эффективный маркетинг будет возможен, если только вы будете учитывать в своей работе следующие правила:
Для того чтобы использовать метод диплинкинга наиболее эффективно, можно создавать контекстные глубокие ссылки. Их особенность заключается в том, что информация об условиях «переправки» в приложение, последующая навигация и идентификатор устройства хранятся на стороне сервера.
Благодаря этому у пользователя всё выглядит бесшовно, аккуратно и происходит оперативно.
Создаём диплинки
В концепции Всемирной паутины механизмы диплинка были встроены в протоколы HTTP и принципы построения URL в качестве способа переходов между любыми документами, а не только между корневыми страницами. Привычная для веб-браузеров функция переходов с помощью произвольно расставленных диплинков не будет применима в случае с нативными приложениями на смартфоне.
Создавать диплинки можно как в «ручном» режиме, так и с помощью специализированных сайтов и сервисов. Например, AppsFlyer, Branch, Firebase, Yozio, Adjust.
Небольшой словарь
Deep linking — способ, благодаря которому юзер может перемещаться между приложениями в заранее определённые разделы.
Tech stack — технический стек, набор инструментов, которые используются при работе над проектами и включающие в себя языки программирования, фреймворки, системы управления базами данных, компиляторы и так далее.
URI sheme — cхема использования единообразных идентификаторов ресурсов.
С полным гидом вы можете познакомиться в англоязычной версии статьи.










