Блог Всё о диплинкинге в мобильных приложениях

Всё о диплинкинге в мобильных приложениях

Диплинкинг в мобильных приложениях представляет собой технологию, которая запускает приложение и открывает в нем определенную страницу, как только пользователь кликает по ссылке на веб-странице или в другом приложении. Применение диплинков — верный способ улучшить пользовательский опыт и увеличить показатели конверсии. Поэтому сегодня мы поговорим о создании диплинков и приведем некоторые полезные сведения на эту тему.

Зачем вообще нужен диплинкинг?

Представьте: вы выпустили музыкальное приложение. Выходит новая песня, и вы тратите уйму денег на запуск кампании на популярном веб-сайте. В кампании используется небольшой фрагмент этой песни, и вам, скорее всего, хотелось бы, чтобы пользователи слушали трек целиком в вашем приложении, а не на вышеупомянутом веб-сайте, где, к тому же, видно только обложку альбома.

Или еще пример: вы решили вернуть неактивных пользователей с помощью кампании по продажам. Пользователи будут перенаправляться на страницу для покупки товара в один клик: им самим не нужно будет искать позицию или вводить код купона вручную. Именно благодаря диплинкингу запуск таких кампаний становится возможным.

Диплинкинг в мобильных приложениях делает работу с ними намного удобнее для пользователя, что позволяет значительно увеличить показатели конверсии и коэффициент удержания. Хотите узнать больше? Ознакомьтесь с публикацией в нашем блоге о результатах использования диплинков в ходе кампаний.

В чем смысл диплинкинга?

Как уже упоминалось, диплинкинг упрощает переход пользователей с веб-сайта в приложение. Рекламодатели тоже в плюсе: добиться конверсии при таком подходе намного легче.

Пример: вам необходимо привлечь покупателей в приложение электронной коммерции, поэтому вы хотите запустить кампанию по продвижению рождественских подарков. Для этого вы создаете отдельную категорию «Подарки на Рождество» с предпросмотром товаров в наличии, но при этом вам бы хотелось, чтобы покупатели просматривали товары в приложении, а не на веб-сайте. Вот тут в дело вступает диплинкинг. Если на устройстве пользователя установлено необходимое приложение, то оно откроется при нажатии на ссылку и (в некоторых случаях) сразу перенаправит на страницу с товаром.

Главная задача диплинкинга — удержание пользователей. Диплинки удерживают пользователей в приложении. Они также прекрасно работают для повторного вовлечения пользователей и являются важнейшей составляющей кампаний по ретаргетингу. В целом это универсальный способ распределения пользователей по вашей экосистеме и формирования более приятного пользовательского опыта, что в конечном счете может благотворно повлиять на показатели продаж, конверсии и коэффициенты удержания.

Два типа диплинков

Существует два вида диплинков: обычные и отложенные.

Обычные

Обычные диплинки просто направляют пользователей в приложение (если оно уже установлено). Если же приложение не установлено, то конечной точки достичь невозможно, и при нажатии на ссылку выводится сообщение об ошибке.

Обычные диплинки полезны в кампаниях по ретаргетингу, когда мобильному маркетологу необходимо определить и вернуть только тех пользователей, у которых уже установлено приложение.

Отложенные

Принцип работы отложенных диплинков несколько сложнее, чем у обычных. Если у пользователя не установлено приложение, эти линки направляют его в App или Play Store (либо, например, на веб-сайт приложения с дополнительной информацией) для установки, а затем открывают страницу приложения, на которую изначально направлялся пользователь.

Пример: пользователь, нажав на рекламу обуви, должен открыть приложение электронной коммерции, но оно у него не установлено, поэтому сперва его направляют в магазин приложений. После установки и открытия приложения пользователь попадает на страницу с товаром.

Работа с отложенными диплинками возможна лишь при использовании соответствующих программных решений, например от Adjust. Они создаются при помощи интеграции SDK. Для получения дополнительной информации по этой теме нажмите сюда при использовании Android и сюда при использовании iOS.

Контекстный диплинкинг?

Вероятно, вы уже слышали о контекстном диплинкинге. В теории у таких ссылок есть дополнительные преимущества в виде возможности хранить больше информации, что позволяет маркетологам использовать контент самыми разными способами.

Контекстные диплинки — это обычные или отложенные диплинки с дополнительными параметрами, которые можно добавить по желанию маркетологов. Сами по себе такие ссылки не существуют.

Как создать диплинк

Начнем с основ — с создания диплинка. Сам по себе процесс не представляет сложности, но может обрасти проблемами во время споров между разработчиками и маркетологами, так как в приложение необходимо вставить ссылки, которые направляли бы пользователей на нужные страницы.

Помимо этого, создание диплинков вручную занимает много времени, а также повышает вероятность возникновения проблем, связанных с человеческим фактором. Как и любой другой URL-адрес, диплинк не сработает, если в нем есть хотя бы одна опечатка, а от таких ошибок не застрахован ни один специалист. Решение для автоматического создания диплинков сэкономит время и ресурсы, которые можно будет потратить на фактическую оптимизацию кампаний и стратегии.

Чтобы свести к минимуму ошибки, связанные с человеческим фактором, и повысить надежность процесса, вам необходим простой в обращении инструмент, автоматизирующий работу со ссылками. Узнайте больше о Генераторе диплинков Adjust: этот инструмент позволяет маркетологам создавать диплинки как через ссылки для приложений (Android), так и через универсальные ссылки (iOS), и упрощает процесс их внедрения.

Диплинкинг на основе схем (на базе Android и iOS), а также Универсальные ссылки iOS 9+ полностью задокументированы, а основной принцип их работы схож: связать URL-ссылку (ссылки на основе схем имеют вид youapp://; универсальные ссылки — https://yourdomain.com/) с вашим приложением. При нажатии на ссылку система откроет приложение (если оно установлено).

Но не все так просто. Вы, скорее всего, задаетесь вопросом: что будет при нажатии на диплинк, если приложение не установлено. К сожалению, в этом случае появится либо сообщение об ошибке, либо вовсе ничего не произойдет. Узнать, присутствует ваше приложение на устройстве или нет, прямо на веб-странице невозможно, однако существует несколько способов, позволяющих запросить данные приложения (если оно установлено) или направить пользователей в App Store, на веб-сайт или в любую другую точку (если приложения на устройстве нет).

Как уже отмечалось, принцип работы мобильного диплинкинга на основе схем на базе Android и iOS, а также Универсальные ссылки iOS 9+ полностью задокументированы. Рассмотрим их работу на конкретных примерах.

Внедрение диплинков на Android

Представим, что ваш диплинк на Android имеет вид yourapp://path/, а идентификатор приложения — com.yourapp.example.

Решение с JavaScript

Проверенный и довольно распространенный способ решения этой проблемы — использование встроенного фрейма для загрузки диплинка с последующей активацией отложенного JavaScript, перенаправляющего пользователя в магазин:

При таком раскладе браузер первым делом попытается загрузить yourapp://path/.

  • Если приложение установлено, то оно откроется, а последующий JavaScript не запустится.
  • Если приложение не установлено, то при загрузке yourapp://path/ ничего не произойдет. Спустя 2 секунды JavaScript перенаправит пользователя на страницу в Play Store, где можно установить приложение.

Однако у этого кода есть небольшая проблема: когда при открытом приложении пользователь переключается на браузер, JavaScript может продолжить перенаправлять пользователя обратно в Play Store. Так что в этом случае потребуется оптимизация в виде определения времени, в течение которого пользователь переключается на браузер, чтобы точно понимать, нужно ли перенаправлять его в магазин или нет:

Решение с Intent

Согласно Документации Chrome, приведенный выше код не работает в Chrome для Android начиная с 25-й версии браузера. К счастью, у Google есть решение — Intent URL. Когда пользователь нажимает на ссылку intent://path/#Intent;scheme=yourapp;package=com.yourapp.example;end, происходит следующее:

  • если приложение установлено, Chrome его откроет.
  • если приложение не установлено, Chrome откроет Play Store.

Какое решение для диплинкинга лучше использовать?

Мы рекомендуем остановиться на решении с Intent, так как его проще внедрить в приложение, а для пользователей такие ссылки удобнее. Однако для него требуется поддержка браузера. Кроме того, Android настолько несистематизорован, что в настоящий момент существует множество старых версий ОС и браузеров. Android WebView, используемый в огромном количестве приложений, по умолчанию не поддерживает Intent URL. Таблица ниже показывает, какие решения следует использовать с популярными браузерами Android:

Браузер JavaScript Intent
Chrome 24 или ранние версии
Chrome 25 или поздние версии
Firefox
Браузер Android
Внутренний браузер Facebook
Внутренний браузер Twitter
Другие браузеры

Внедрение диплинков на iOS

Представим, что ваш диплинк имеет вид yourapp://path/, а идентификатор приложения в App Store — 12345678.

Решение с JavaScript

На iOS есть решение с JavaScript (почти такое же, как и для Android):

html <script>

window.location.replace("yourapp://path/"); setTimeout(function () {

window.location.replace("https://itunes.apple.com/app/id12345678"); }, 2000)

;</script>

  • если приложение установлено, то первый код переадресации откроет приложение и последующий скрипт не запустится.
  • если приложение не установлено, то после первого кода переадресации ничего не произойдет, в App Store пользователя перенаправит функция планирования вызова.

Как уже говорилось, этот скрипт отлично работает в Safari на iOS 8 и в более ранних версиях, но с новыми браузерами могут возникнуть проблемы. Ниже приведена таблица.

Браузер JavaScript
iOS 8 или Safari ранней версии
iOS Chrome
Внутренний браузер iOS 8 Facebook √*
Внутренний браузер iOS 8 Twitter
iOS 9 и выше

* работает частично в зависимости от версии Facebook

Решение с универсальными ссылками

В iOS 9 Apple добавила поддержку универсальных ссылок. Они функционируют по тем же принципам, что и Intent от Android, но требуют более тонкой настройки. После запуска iOS 9.2 решение с JavaScript перестало работать, т. к. Apple сделала окно командной строки нережимным.

Чтобы запустить универсальные ссылки, потребуется получить сертификат SSL домена (например, https://yourdomain.com/), связанного с вашим приложением, и настроить обслуживание специального файла JSON с адресом https://yourdomain.com/apple-app-site-association, к примеру:

Этот файл сообщает вашему устройству, какой путь является диплинком для каждого приложения.

Далее в XCode необходимо ввести applinks:yourdomain.com в разрешении на com.apple.developer.associated-domains :

Один домен можно связать с несколькими приложениями и наоборот.

Далее для перемещения вручную нужно применить UIApplicationDelegate (а именно application:continueUserActivity:restorationHandler:), чтобы приложение могло принимать ссылку и обрабатывать ее соответствующим образом.

Представим, что вы хотите связать https://yourdomain.com/dress/ с приложением, настроив "paths":[ "/dress/"] в файле JSON. Когда пользователь нажмет на ссылку https://yourdomain.com/dress/1 в Safari, то

  • если приложение установлено, оно откроется, а https://yourdomain.com/dress/1 перейдет в UIApplicationDelegate. Там же можно обработать данные о пользователе, чтобы понять, какой вид лучше открыть.
  • если приложение не установлено, Safari откроет https://yourdomain.com/dress/1, после чего можно будет продемонстрировать товар на веб-сайте или перенаправить пользователя в App Store

Универсальная ссылка — идеальное решение для iOS. Но, к сожалению, и у них есть определенные ограничения.

  • Универсальные ссылки работают только в Safari или Chrome
  • Перенаправление с другого сайта при помощи универсальной ссылки возможно, только если пользователь совершит клик в Safari или Chrome. Например, если в приложении почты есть ссылка https://anotherDomain.com/, ведущая на универсальную ссылку https://yourDomain.com/dress/1, перенаправления на приложение не произойдет. Но если на ссылку https://anotherDomain.com нажать из Safari, то она сработает.
  • Универсальные ссылки не работают, если копировать ссылки прямо в адресную строку.
  • Универсальные ссылки не работают, если перенаправление задано при помощи JavaScript.
  • Универсальные ссылки не работают, если открыть ссылку внутри приложения при помощи программы (например, openUrl).

Добро пожаловать в мир диплинкинга!

Мобильный диплинкинг непрост: для каждого сценария требуется отдельное решение. Adjust поможет вам выявить основные сценарии и разработать наиболее подходящие стратегии для эффективной работы с такими ссылками.

Мы подготовили для вас немало дополнительной информации по диплинкам. Прежде всего рекомендуем вам ознакомиться с нашим руководством по диплинкингу. Оно в деталях объясняет принципы работы диплинков в Adjust и то, чем они отличаются от других подобных решений. Несколько полезных публикаций найдется и в блоге, например руководство по особенностям универсальных ссылок, а также общий обзор их достоинств. Возможно, вас также заинтересует наша документация по теме, и статья о том, как легко внедрить универсальные ссылки через Adjust.

Наша служба поддержки с радостью ответит на любые ваши вопросы.

Хотите получать новости от Adjust?