Как получить "реферер" из намерения, когда пользователь нажимает на реферальную ссылку и открывает предустановленное приложение из playstore
Пользователь уже установил приложение по ссылке и установил приложение.
Когда пользователь снова нажимает на ту же ссылку реферера, он переходит в PlayStore с открытой опцией. В документах Google Analytics Campaign говорится referring traffic sources or marketing campaigns may be attributed to user activity in subsequent sessions
в разделе Общая кампания и атрибуция источника трафика
Когда пользователь запускает приложение, выбрав опцию "Открыть" в PlayStore, я попытался поймать реферера из намерения в соответствии с документом, приведенным ниже,
Intent intent = this.getIntent();
Uri uri = intent.getData();
Сам URI является нулевым. Как узнать, открывает ли пользователь приложение из PlayStore впервые.
1 ответ
Вам необходимо зарегистрировать приемник трансляции для "com.android.vending.INSTALL_REFERRER". Play Store передаст данные кампании получателю один раз после установки приложения и предоставит рефералу дополнительную информацию о намерениях. Если вы пытаетесь получить приемник от основной деятельности, его там не будет.
Аналитика обеспечивает реализацию для получателя и сопутствующего сервиса. Добавьте следующее в ваш ApplicationManifest.xml, чтобы зарегистрировать предоставленный получатель и сервис:
<service android:name="com.google.android.gms.analytics.CampaignTrackingService" />
<receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
Вы можете смоделировать трансляцию с помощью инструмента adb:
adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n your.app.package.name/com.google.android.gms.analytics.CampaignTrackingReceiver --es referrer "'utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign'"
Обратите внимание на двойные кавычки вокруг URL. Двойная кавычка необходима для правильного экранирования URL для оболочки Android.