1. Пользователь, не имеющий установленного приложения, кликает на ссылку.
2. Для пользователя открывается экран установки приложения в Google Play Store.
3. Пользователь устанавливает приложение.
4. После установки приложение автоматически открывается и переходит на экран, который требует deep link.
В Android и Google Play нет поддержки deferred deep link из коробки. Один из способов реализации – использование referrer ссылки. Referrer используется для измерения рекламных кампаний (хранит информацию из каких источников пришли и установили приложение новые пользователи).
По сути referrer – это просто параметр в Google Play URL:
https://play.google.com/store/apps/details?id=ru.itsobes&referrer=itsobes%3A%2F%2FAndroidSobes%2F7.
Эта ссылка открывает Google Play и переходит на экран гипотетического приложения с
applicationId=ru.itsobes
. Параметр referrer URL Encoded и в декодированном состоянии выглядит так: itsobes://AndroidSobes/7
.Для получения значения referrer после установки приложения нужно добавить receiver с
intent-filter
, который обрабатывает action="com.android.vending.INSTALL_REFERRER"
. Пример на скриншоте. Когда пользователь устанавливает приложение, вызывается метод onReceive()
и referrer ссылка передается в extras
объекта Intent
. После получения deep link как referrer ссылки в ресивере нужно стартовать активити и перейти на шаг, описанный в этом посте.