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

Техническое руководство по прямым ссылкам в Android: Реферер Google Play

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

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

Использование реферера Google Play для прямых ссылок

Одна из методик прямых ссылок предназначена для ситуации, когда приложение не установлено. При этом разработчик может передать настраиваемый параметр через магазин приложений Google Play. Этот параметр будет получен вашим приложением, когда пользователь впервые откроет его. Эта методика дает возможность узнавать, откуда появился новый пользователь, если управлять этим параметром нужным образом. Можно создавать настраиваемые целевые страницы или использовать прямые ссылки в процессе установки.

Google Play Referrer Google Deep Linking

Требования для реферера установок Android

  • Приложение не должно быть установлено.
  • Невозможно использовать с намерениями Chrome, поскольку требуется структуризация URL-адресов Play Store.

Настройка реферера установок Android

Чтобы ваше приложение получало реферер установки Android, необходимо зарегистрировать ваше приложение для получения: com.android.vending.INSTALL_REFERRERbroadcast. Вставьте следующий код между тегами <application /> в вашем манифесте.

В этом случае io.branch.testbed.InstallListener — имя настраиваемого класса, который будет получать вещание. Это простой подкласс BroadcastReceiver. Вот шаблон кода, который потребуется для этого класса.

Обработка в приложении

После настройки BroadcastReceiver согласно приведенному выше описанию остается обработать намерение, что совсем несложно. Этот механизм очень близок к обработке намерений схемы URI, но он работает в пределах вызова onReceive. Вот пример.

Использование реферера Google Play на практике

Для правильного использования этой методики у вас должна быть возможность управлять ссылкой на Google Play, с которой работает пользователь. Предположим, что пакет нашего приложения называется io.branch.testbed. В этом случае Google Play можно открыть по любой из следующих ссылок.

  1. market://details?id=io.branch.testbed
  2. https://play.google.com/store/apps/details?id=io.branch.testbed

Чтобы присоединить реферер, нужно просто добавить &referrer=specialparam к любой из этих ссылок. Для этого вам потребуется контроль над самой ссылкой. Примечание. Как вы могли заметить при чтении раздела, посвященного намерениям Chrome, раздела, посвященного намерениям Chrome, у вас нет контроля над ссылками Play Store, то есть вы не сможете использовать этот метод.

Чтобы управлять параметром referrer, рекомендуем встроить его в код JS на стороне клиента (описание см. в методе URI). Вот фрагмент кода, показывающий, как добавить реферер к ссылке на магазин приложений в функции, выполняемой после попытки открыть приложение.

Заключение

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