Dive into deeplinking

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

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

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

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

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

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

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

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

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

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

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

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

Обычные

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

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

Отложенные

Принцип работы отложенных диплинков несколько сложнее, чем у обычных. Если у пользователя не установлено приложение, эти линки направляют его в 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:

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

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

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

Решение с JavaScript

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

html

  • если приложение установлено, то первый код переадресации откроет приложение и последующий скрипт не запустится.
  • если приложение не установлено, то после первого кода переадресации ничего не произойдет, в 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.

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

Подпишитесь на нашу рассылку.

Продолжить чтение