Как получить "реферер" из намерения, когда пользователь нажимает на реферальную ссылку и открывает предустановленное приложение из 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.

Другие вопросы по тегам