Всё о диплинкинге в мобильных приложениях
Zhiyi Huang, Backend Developer, Adjust, 21 февр. 2020 г..
Диплинкинг в мобильных приложениях представляет собой технологию, которая запускает приложение и открывает в нем определенную страницу, как только пользователь кликает по ссылке на веб-странице или в другом приложении. Применение диплинков — верный способ улучшить пользовательский опыт и увеличить показатели конверсии. Поэтому сегодня мы поговорим о создании диплинков и приведем некоторые полезные сведения на эту тему.
Зачем вообще нужен диплинкинг?
Представьте: вы выпустили музыкальное приложение. Выходит новая песня, и вы тратите уйму денег на запуск кампании на популярном веб-сайте. В кампании используется небольшой фрагмент этой песни, и вам, скорее всего, хотелось бы, чтобы пользователи слушали трек целиком в вашем приложении, а не на вышеупомянутом веб-сайте, где, к тому же, видно только обложку альбома.
Или еще пример: вы решили вернуть неактивных пользователей с помощью кампании по продажам. Пользователи будут перенаправляться на страницу для покупки товара в один клик: им самим не нужно будет искать позицию или вводить код купона вручную. Именно благодаря диплинкингу запуск таких кампаний становится возможным.
Диплинкинг в мобильных приложениях делает работу с ними намного удобнее для пользователя, что позволяет значительно увеличить показатели конверсии и коэффициент удержания. Хотите узнать больше? Ознакомьтесь с публикацией в нашем блоге о результатах использования диплинков в ходе кампаний.
В чем смысл диплинкинга?
Как уже упоминалось, диплинкинг упрощает переход пользователей с веб-сайта в приложение. Рекламодатели тоже в плюсе: добиться конверсии при таком подходе намного легче.
Пример: вам необходимо привлечь покупателей в приложение электронной коммерции, поэтому вы хотите запустить кампанию по продвижению рождественских подарков. Для этого вы создаете отдельную категорию «Подарки на Рождество» с предпросмотром товаров в наличии, но при этом вам бы хотелось, чтобы покупатели просматривали товары в приложении, а не на веб-сайте. Вот тут в дело вступает диплинкинг. Если на устройстве пользователя установлено необходимое приложение, то оно откроется при нажатии на ссылку и (в некоторых случаях) сразу перенаправит на страницу с товаром.
Главная задача диплинкинга — удержание пользователей. Диплинки удерживают пользователей в приложении. Они также прекрасно работают для повторного вовлечения пользователей и являются важнейшей составляющей кампаний по ретаргетингу. В целом это универсальный способ распределения пользователей по вашей экосистеме и формирования более приятного пользовательского опыта, что в конечном счете может благотворно повлиять на показатели продаж, конверсии и коэффициенты удержания.
Два типа диплинков
Существует два вида диплинков: обычные и отложенные.
Обычные
Обычные диплинки просто направляют пользователей в приложение (если оно уже установлено). Если же приложение не установлено, то конечной точки достичь невозможно, и при нажатии на ссылку выводится сообщение об ошибке.
Обычные диплинки полезны в кампаниях по ретаргетингу, когда мобильному маркетологу необходимо определить и вернуть только тех пользователей, у которых уже установлено приложение.
Отложенные
Принцип работы отложенных диплинков несколько сложнее, чем у обычных. Если у пользователя не установлено приложение, эти линки направляют его в 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.
Наша служба поддержки с радостью ответит на любые ваши вопросы.
Хотите ежемесячно получать свежие данные о приложении? Подпишитесь на нашу рассылку.