диплинк что это такое
Deep Linking для мобильных приложений
На WWDC 2015 инженеры компании Apple заявили, что пересмотрели подход к Deep Linking, в прошлом году компания Google анонсировала App Index — как новый взгляд на глубинные ссылки, в начале 2015 года в мире мобильной разработки заговорили о контекстных Deep Links. Что это за инструмент и как с ним работать применительно к iOS — расскажу в этой статье.
Что это?
Один из способов увеличения конверсии при продвижении IT-продукта — уменьшение барьеров для достижения пользователями искомой цели. В мобильной разработке эта проблема еще актуальней. При использовании e-mail, push или sms-рассылок с информацией о промо-акциях упрощение доступа к функционалу приложения просто необходимо. В такой ситуации просто запуск приложения из внешнего источника — не решение, ведь промо-акция — это конкретное спец.предложение в конкретном разделе. Чтобы после запуска приложения пользователю не пришлось по нему бродить, искать и раздражаться, нужен дополнительный инструмент, предопределяющий навигацию. И такой инструмент есть.
Deep Linking (глубинное связывание) — технология, благодаря которой пользователь может перемещаться между приложениями в заранее определенные разделы.
Как это работает?
Представим, что пиццерия решила провести рекламную кампанию, в рамках которой предлагает всем желающим купить пиццу «Маргарита» с 50% скидкой. У пиццерии есть веб-сайт и мобильное приложение (последнее, конечно, предпочтительнее для работы с клиентом по маркетинговым соображениям, да и операции с банковской картой в приложении гораздо удобнее, чем в браузере). Компания делает sms-рассылку по своей клиентской базе с информацией о спец.предложении и дает ссылку на нужный раздел сайта. Если на смартфоне клиента установлено приложение пиццерии, то при переходе по ссылке сервер сайта отправит клиента сразу в нужный раздел аппа для оформления заказа (это и есть механизм Deep Linking), если приложения на смартфоне нет, клиенту предложат установить его в сторе и затем повторно перейти по ссылке в sms (или продолжить пользоваться веб-версией).
В концепции всемирного Web механизм Deep Linking был заложен в HTTP и URL, как возможность перемещения между любыми документами в сети, а не только корневыми страницами. В мобильных операционных системах данный механизм реализуется разными способами.
Как это сделать в iOS
Принцип работы Deep Linking заключается в следующем: пользователь инициирует переход по URL, ресурс, находящийся по этой URL, определяет операционную систему и соответствующим образом осуществляет переход в приложение в заранее определенный раздел.
Классическая реализация в iOS
Общепринятая реализация состоит из следующих этапов:
1. Перевод запроса в URL-схему, её исполнение с возможностью обработки отсутствия схемы.
2. Обработка схемы и навигация внутри приложения к заданному разделу/экрану.
URL-схема (URL scheme) — часть URL до ://, ответственная за схему взаимодействия с ресурсом, на который ведет сама ссылка, в большинстве случаев имеется ввиду протокол.
Создание, выполнение и обработка результата выполнения URL-схемы
Для правильной конвертации HTTP-запроса в URL-схему необходимо хранить на сервере таблицу соответствия и/или заданное правило перевода.
Способов правильно выполнить URL-схему и обработать результат существует несколько. Все зависит от того, из какой среды URL-схема выполняется. Если это происходит в iOS приложении, то существуют стандартные способы проверить, зарегистрирована ли URL-схема в системе:
Если же схема выполняется из веб-среды, то оптимально использовать JS-скрипт, который либо запустит приложение, либо отправит на нужный ресурс.
Если через 500 мс не выполнится переход по схеме “myapp://» (ранее сгенерированная схема), то будет осуществлен переход на “fallback.html”.
Данный скрипт необходимо встроить в ресурс, ответственный за переход.
На GitHub есть несколько более или менее удачных реализаций подобных решений.
Обработка полученной URL-схемы и навигация внутри приложения
Эта часть реализации механизма Deep Linking относится исключительно к приложению, которое должно обработать запрос пользователя и перевести его в нужный раздел.
Для этого, в первую очередь, необходимо зарегистрировать собственную URL-схему, которая будет проассоциирована с приложением.
В настройках основного таргета проекта в разделе Info необходимо добавить в пункте URL Types —URL тип вашей схемы (рис 2.)
В поле Identifier необходимо указать bundleID приложения, а в поле URL Schemes — схему, с которой будет связано ваше приложение. Дальше необходимо реализовать механизм навигации в приложении. Для этого надо обработать возможную передачу в приложение URL. Передать её можно многими способами, мы рассмотрим непосредственное исполнение схемы в системе.
Для того чтобы обработать запуск приложения через URL, надо в AppDelegate приложения в методе:
Здесь необходимо использовать параметр url для дальнейшей навигации. Навигация в приложении — выбор исключительно личный, но я рекомендовал бы использовать шаблон Router. Во-первых, это не нарушает принцип Single Responsibility, во-вторых, позволит инкапсулировать и в дальнейшем эту навигацию использовать из любого места. Роутер должен принимать в себя URL (как ключ) и выдавать ViewController или же эту навигацию осуществлять.
Сторонние решения
Из сторонних решений можно рассмотреть Mobile Deeplinking (AppURL, AppLinks, UrbanAirShip и т.д.), данные фреймворки являются полноценными решениями для реализации всех компонент технологии Deep Linking. Содержат отдельные библиотеки со своими обработчиками внешних URL и механизмом навигации в приложении. Соответственно, подобные решения требуют интеграции своих SDK в проект.
Новый взгляд на Deep Linking
Что нам предлагает Google в технологии глубокого связывания.
Совсем недавно Google стартовал новое направление App Indexing. Конечно, по большей части оно нацелено на Android-разработку и реализовано максимально удобно именно для нее, но и iOS осталась не забыта, правда в ограниченой beta-версии.
Итак:
Помимо работоспособного Deep Linking появилось еще и индексирование приложения в поисковой системе Google. В результате поиска во всемирной сети будут отображаться ссылки на разделы приложения.
Для реализации необходимо:
1. Зарегистрировать еще одну URL-схему в проекте в формате:
gsd-
где, “scheme” — ваша схема, зарегистрированная выше.
2. Подключить фреймворк GoogleAppIndexing (можно через CocoaPods)
3. В вышеуказанных методах вашего приложения обработать переход следующим образом:
Это поможет связать ваше приложение c Google App Indexing и создаст панель для возврата в поиск.
4. Необходимо настроить ваш сайт, на который совершается переход. Для этого в хедер сайта надо добавить:
Также можно дать доступ GoogleBot к вашему сайту для полноценного индексирования.
Все эти способы основаны на работе с URL-схемами. Она давно известна и практикуется. Известны и проблемы, которые могут возникнуть с ними. К примеру, совершенно не определенно поведение, если два разных приложения зарегистрируют одну схему. Также надо обработать альтернативное поведение, если ваше приложение не установлено. В подобных ситуациях вся ответственность ложится на разработчика и ошибки реализации, к сожалению, становятся общей практикой.
Как избежать подобных ситуаций?
И вновь Apple нас не разочаровывает — начиная с iOS 9 добавлена поддержка HTTP и HTTPS с прямым переходом в приложение.
В июне 2015 года на WWDC “парни из Купертино” рассказали нам о новом подходе к реализации такого удобного механизма промоутинга мобильного приложения.
Назвали они его Seamless Linking, что можно перевести как “бесшовные ссылки”. Данный механизм позволяет использовать те же самые веб URL, что и при переходе по разделам вашего сайта, кроме того, связь между приложением и веб ресурсом происходит через Bundle ID приложения, что дает этой связи уникальность, также вы можете указать те разделы сайта, которые представлены в вашем мобильном приложении, и Deep Linking будет работать только для них. Ну круто же.
Как это работает?
Ссылка обрабатывается в системе и из нее извлекается домен (или хост) и непосредственно путь, через который вы можете управлять навигацией в приложении:
https://n-pizza.com/margarita_new
n-pizza и является в данном случае доменом. Домен должен быть проассоциирован с приложением посредством специального файла, защищенного SSL-сертификатом, который хранится на сервере сайта. Называться он должен apple-app-site-association и содержать специальную JSON структуру.
Далее созданный JSON необходимо подписать тем сертификатом, который используется на вашем веб-ресурсе, либо сгенерировать новый (допустимо использовать WildCard сертификат) подписать им JSON и добавить его на сервер. Сертификат, которым подписывается приложение в данном случае не используется.
Важно понимать, что для каждого домена должен быть уникальный apple-app-site-association файл
В приложении необходимо установить ассоциации с доменами, которые вы поддерживаете в пункте “Associated Domains”, в настройках проекта. А универсальные ссылки необходимо обрабатывать в методе AppDelegate:
Где, тип активности для универсальных ссылок будет:
Декомпозировать URL можно будет с помощью нативных средств, таких как: класс или сторонних фреймворков, как Bolts от Facebook. Далее навигация должна происходить по уже известной схеме, изложенной выше.
В результате пользователь, переходя по ссылке, или оказывается на том ресурсе, куда эта ссылка вела, или в приложении. Огромный плюс этого решения в том, что URL-схемы не используются. Но не меньший минус, что решение только для iOS и только с 9 версии.
Контекстные Deep Linking
Все, что написано выше, прекрасно работает и дает необходимый эффект проникновения в приложение, только если приложение уже установлено. Если задуматься, то реальная польза будет для крупных компаний, чьи приложения установлены у большинства пользователей смартфонов, а их не больше 40-50 штук.
Если же приложение не установлено, а таких большинство в AppStore или Google Play, то пользователь окажется на странице сайта, либо в магазине приложений, что тоже не очень хорошо, т.к. после установки и запуска приложения будет показан главный экран. Любой из сценариев равносилен не работающему Deep Linking.
Для достижения полного эффекта работы Deep Linking существуют контекстные глубокие ссылки. Суть их работы заключается в том, что условие перехода в приложение (параметры в URL-схеме), по которому строится дальнейшая навигация, и идентификатор устройства сохраняются на серверной стороне. После установки и запуска приложения, это условие запрашивается и строится навигация. Для пользователя все выглядит аккуратно и бесшовно.
Можно реализовать данный подход совместно с любым вышеуказанным методом. Или воспользоваться готовым решением, встроив SDK.
Диплинк что это такое
Наш сервис был первым, кто принёс в Россию функцию диплинков для социальных сетей — мы работаем с 2018 года.
Среди SMM-менеджеров и таргетологов сложилось противоречивое мнение: кто-то говорит, что диплинки помогают делать рекламу эффективнее, а кто-то наоборот говорит что они не нужны и только все усложняют.
В этой статье коротко и понятно объясняем, что такое диплинки, когда их использовать и чем они могут быть полезны.
Что вообще такое диплинк?
Диплинк — это специальная ссылка, в которой закодирована нужная социальная сеть и страница, которую нужно открыть.
Это такой «навигатор» для телефона, чтобы он понимал какое приложение открывать.
Когда вы вставляете в рекламу обычную ссылку, например на профиль Instagram, она открывается в браузере и пользователю не всегда удобно изучать контент — например, нельзя посмотреть хайлайтсы или написать в Директ.
Когда в рекламе вы используете диплинк, страница открывается у пользователя напрямую в приложении — это повышает удобство и конверсию.
Говорят, что Instagram уже сделал кнопку «Перейти в приложение». Получается, диплинк не нужен?
С одной стороны, нам уже несколько лет говорят, что Инста решила проблему и сервис больше не нужен.
С другой, все эти годы мы продолжаем успешно работать и видим, что использование диплинков реально улучшает результаты РК.
Как это работает? Давайте разбираться.
Дело в том, что у Instagram постоянно выходят разные версии приложения, каждое из которых требует свой собственный «ключик», чтобы ссылка открылась корректно.
Тогда клик с рекламы, за который вы заплатили деньги, вместо того чтобы открыть профиль в приложении, перебросит пользователя на App Store чтобы скачать обновление:
Получается, что вы платите Фейсбуку не за переход на вашу страницу, а за то чтобы человек скачал обновление.
Тут теряются конверсии и, как следствие, результаты рекламы становятся хуже.
Насколько это повышает эффективность?
Сложно посчитать точный процент.
Если говорить примерно, то количество подписок вырастет примерно на 15-30% при том же бюджете.
Говорят, что диплинки это дорого. Что на это скажете?
Все зависит от показателей вашей рекламы.
У нас есть агентство, которое ведет таргетированную рекламу. По нашему опыту, средняя стоимость целевого клика в Facebook в 2021 году составляет 6-11 руб.
Стоимость перехода по диплинку на самом маленьком тарифе — 9 копеек, на самом большом — 5 копеек.
Это менее 0.5% от стоимости перехода, однако эффективность растёт кратно больше.
Минимальный пакет из 5000 кликов можно купить за 490 рублей. Если вы ведёте реально много рекламных кампаний, вы можете купить безлимитные тарифы и снизить стоимость клика ещё сильнее.
А правда, что за диплинк можно получить бан кабинета?
Периодически мы получаем обращения пользователей о том, что кабинет получил блокировку.
Мы тщательно разбираем каждое такое обращение и можем заявить, что процент таких блокировок очень маленький.
Обычно блокировка происходит по другим причинам — например при нарушении правил рекламы, диплинк в данном случае выступает «сопутствующим» фактором.
Если вы ведёте белый трафик, следите за качеством креативов и не нарушаете правил — вам не о чем переживать, риск блокировки минимальный.
Если вы не хотите рисковать, мы сделали функцию привязки доменов — вы можете купить отдельный домен (99 руб.) и привязать его к сервису. На этом домене будут работать только ваши диплинки, таким образом шанс блокировки уменьшится практически до нуля.
А кроме Инсты можно как-то еще диплинки использовать?
Наш сервис позволяет создавать диплинки для 9 различных сервисов: Instagram, Facebook, YouTube, Twitter, Telegram, VK, AppStore, Google Play, TikTok.
Во все эти социальные сети вы можете переводить трафик напрямую при помощи наших диплинков.
Подробнее со списком сервисов можно ознакомиться при создании диплинка.
Очень интересно, хочу попробовать, но все еще не уверен.
С первого дня существования сервиса мы даём бесплатно 500 кликов на любой диплинк без ограничений по качеству. Мы не стали отказываться от пробного доступа, он действует до сих пор.
Вы можете создать диплинк для любой социальной сети, запустить на него трафик и посмотреть на эффективность.
500 бесплатных кликов хватит, чтобы открутить 2-6 тыс. руб. рекламного бюджета и замерить показатели. Если увидите, что эффективность рекламы выросла, а кабинет не забанили — в любой момент можете оплатить полный доступ.
Попробуйте, это бесплатно:
Диплинки для таргета в Instagram
Сервис, который переводит клики напрямую в приложение вместо браузера
Увеличьте эффективность своей рекламной кампании минимум на 20%
Диплинки: топ 5 сервисов по созданию ссылок
Что такое диплинки
Диплинки — это ссылки, ведущие в мобильное приложение. Они уменьшают количество барьеров на пути пользователя к конечной цели, поскольку являются прямыми.
Без диплинка пользователь, перешедший по обычной ссылке, сначала попадает на мобильную версию сайта, потом ему нужно скачать приложение или авторизоваться в нем, потом попасть на нужную страницу — весь процесс перехода по ссылке растягивается на несколько шагов, из-за чего теряется около 50% трафика.
Сами по себе эти ссылки часто во многих браузерах, приложениях не открываются из-за того, что не соответствуют критериям стандартных ссылок.
Соответственно, для того чтобы диплинки всегда выполняли свою задачу — быстро давали доступ пользователю к конечной цели, при помощи диплинк-сервисов создаются диплинки, соответствующие критериям стандартных ссылок, — они всегда открываются, короткие и красивые. Многие сервисы позволяют так же создавать целые микролендинги, мультиссылки с кнопками и даже электронные визитки.
В статье мы и рассмотрим 5 наиболее популярных и удобных сервисов для создания глубинных ссылок.
1. Jusl
Jusl — бесплатный самый простой сервис по созданию ссылок. Преимущество его в том, что работает буквально в один клик: отправил ссылку — получил красивый диплинк или микролендинг (с автопереходом). Личного кабинета нет, а это, в какой-то степени, минус.
Позволяет создать диплинки для Инстаграм, Телеграм, Viber, Вк, WatsApp, Tik-Tok, да и вообще для любого мессенджера, приложения, даже для сайта. Очень лаконичный сервис, больше о нем и добавить нечего.
2. BMBE
BMBE тоже неплохой сервис диплинков, но платный и позволяет создать ссылки только на 7 источников: Инстаграм, Тик-Ток, Вк, Фейсбук, Телеграм, Ютуб. Оплата за клики, где первые 500 кликов — бесплатные.
3. Deeplinkr
Deeplinkr — практически аналог предыдущего с той разницей, что поддерживает гораздо большее количество социальных сетей и мессенджеров. Так же требует оплату за клики, и так же предоставляет бесплатный тариф в 500 кликов в месяц.
4. Instaplus
Instaplus — это сервис для работы исключительно с Инстаграмом, предоставляющий совершенно различные услуги, в том числе и услуги по созданию диплинков. Бесплатных тарифов нет, но есть тестовый период — 5 дней; цены складываются из того, сколько аккаунтов вы продвигаете с помощью сервиса в целом (минимально от 299 рублей в месяц).
5. JuslBot
JuslBot — этот сервис диплинков работает полностью в боте в Телеграме. По сути, чат-бот — это и есть личный кабинет, где можно работать над своими ссылками — редактировать их и так далее. Предоставляет сервис как бесплатный тариф, так и платные тарифы: минимум 90 рублей в месяц (не за клики).
Поддерживает все социальные сети и мессенджеры, сайты, даже можно сделать диплинк на почту или на номер телефона.
Вот, мы и рассмотрели 5 самых популярных и простых сервисов по созданию диплинков. Вы можете испытать любой из них или одновременно все, ведь есть возможность попробовать это бесплатно!
Как настраивать диплинки: инструкция для 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.