Я хочу поймать намерение INSTALL_REFERRER в моем собственном приемнике. я реализовал приемникINSTALL_REFERRER не получен до запуска приложения
public class InstallReferrerReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("Broadcast", "RECEIVED!");
}
}
и добавить в манифесте
<receiver
android:name=".receiver.InstallReferrerReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER"/>
</intent-filter>
</receiver>
Когда я хочу проверить приемник, я установить мое приложение (не запускать) и отправить трансляции через ADB
am broadcast -a com.android.vending.INSTALL_REFERRER --es "referrer" "utm_medium=partner&utm_campaign=partner_name"
Но не видно никаких журналов. После ланча он работает правильно и получает намерения.
От "Тестирование Google Play Измерение кампании"
Чтобы транслировать INSTALL_REFERRER намерение приложения:
- Убедитесь, что ваше приложение не запущено.
- Откройте терминал и выполните следующую команду: ...
Но мой приемник не получает намерения, прежде чем я запустить приложение в первый раз. Это правильное поведение? Когда я получаю это намерение, если я устанавливаю приложение с рынка с параметрами referrer?
Благодаря
Спасибо, теперь все ясно – Dehimb
Я не могу в это поверить. Разве это не сделает «INSTALL_REFERRER» совершенно бесполезным? Передача всегда запускается при установке перед первым запуском, чтобы ее никогда нельзя было получить ?! – Nils
Что вы подразумеваете под этим? Каково поведение этой трансляции? _факт, который передается в эфир, не связан с тем, что он не принят_. Это может быть липкая трансляция, полученная сразу же после запуска процесса, явно инициированного пользователем – Drew