AndroidGoogleПрямые ссылкиПрямые ссылки AndroidТехническая информация

Техническое руководство по прямым ссылкам в Android: ссылки приложений

By Октябрь 30, 2017 No Comments

Это третья часть технического руководства по прямым ссылкам в Android. В предыдущих публикациях мы рассмотрели схемы URI и намерения в Chrome а следующая публикация будет посвящена Google Play Referrer.

Прямые ссылки с помощью ссылок приложений Android

В недавно выпущенной версии Android Marshmallow (6.0) появился новый механизм непосредственного открытия приложений — ссылки приложений. Этот механизм воспроизводит функциональность универсальных ссылок в iOS 9, где при переходе по обычной ссылке HTTP/HTTPS немедленно открывается соответствующее приложение, если оно установлено. Вот логика переадресации в ссылках приложений.

  • Открыть приложение с намерением, если оно установлено.
  • Вернуться к веб-ссылке, если приложение не установлено.

Ссылка приложений Android — простой способ превратить существующие ссылки на веб-сайте в ссылки приложений. Пример: http://imbd.com/title/12345. Если сайт IMDB будет правильно настроен для ссылок приложений, то при переходе по ссылке IMDB будет сразу открываться приложение IMDB, если оно установлено на телефоне. Если приложение не установлено, в браузере откроется URL-адрес веб-страницы.

Android app links deep linking

Через несколько месяцев, когда Android 6.0 получит более широкое распространение, можно будет начать отказываться от стандартных механизмов с URI и намерениями Chrome. А пока необходимо поддерживать эти механизмы вместе с другими, чтобы гарантировать работу во всех случаях, поскольку экосистема Android неоднородна.

Требования для использования ссылок приложений Android

  • Должен быть действующий веб-сайт.
  • Устройство пользователя должно работать под управлением Android 6.0 или более поздних версий.

Настройка ссылок приложений Android

Настроить службу на использование ссылок приложений можно в два этапа.

  1. Настройте манифест для получения намерений.
  2. Зарегистрируйте веб-сайт в качестве ссылки приложения.

Шаг 1. Добавьте фильтры намерений в манифест

Это несложно. Грубо говоря, нужно сообщить системе Android, что по ссылке, ведущей на веб-сайт (-ы), нужно открывать приложение, а не веб-сайт.

Шаг 2. Настройте веб-сайт для поддержки ссылок приложений

Необходимо создать файл assetlinks.json следующего формата.

Примечание. Нам удалось добиться работоспособности ссылок приложений без изменения значения android_app по умолчанию.

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

$ keytool -list -v -keystore my-release-key.keystore

(Сведения о том, как найти программу keytool, см. в этом примере для Mac или Windows.)

Наконец, файл assetlinks.json должен быть размещен в каталоге /.well-known/assetlinks.json. Этот каталог мы создаем для всех интегрированных приложений Branch с помощью наших серверов узлов и экспресс-ссылок. Вот код, который мы использовали.

Обработка прямых ссылок в приложении

Чтобы обработать прямую ссылку в приложении, нужно просто получить строку данных намерения в действии, открытом при щелчке. Это можно сделать так.

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

Использование прямых ссылок на практике

На практике такой механизм был бы самым удобным, если бы все использовали Android версии 6.0 или более поздней, а у вас был бы действующий веб-сайт. Но такая ситуация не сложится еще несколько лет, поэтому нужно обрабатывать и другие сценарии.

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

Если у вас нет веб-сайта, но нужно использовать ссылки приложений, рекомендуем встроить представления Branch Deepviews в общую стратегию развития продукта. Это мобильные предварительные представления содержимого вашего приложения, они автоматически формируются нашей системой и размещаются в ней. Представления Deepview — удобная возможность просмотра содержимого пользователями, у которых не установлено вашего приложения. Это решение дополняет ссылки приложений Android.

Следите за дальнейшими публикациями, посвященными прямым ссылкам в Android.