广播 INSTALL_REFERRER 意图
Broadcasting an INSTALL_REFERRER Intent
问题是我无法在接收器中获取引荐来源网址。
在清单文件中我有类似的东西:
<receiver
android:name="app.InstallReceiver"
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 app/app.InstallReceiver --es "referrer" "utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign"
在 InstallReceiver class:
@Override
public void onReceive(Context context, Intent intent) {
Uri uri = intent.getData(); // getting uri is null
String referrer = intent.getStringExtra("referrer");
// referrer is only contains "utm_source=testSource" and no more
所以问题是完整的推荐人在哪里以及我的意图有什么问题。
您的 intent
广播引用值设置不正确。该值将通过 shell 调用 adb
转义一次,并通过 Android shell 执行广播命令再转义一次。尝试像这样发送请求:
adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n app/app.InstallReceiver --es referrer "'utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign'"
注意双重转义——一次用单引号 ' 一次用双引号 "
问题是我无法在接收器中获取引荐来源网址。 在清单文件中我有类似的东西:
<receiver
android:name="app.InstallReceiver"
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 app/app.InstallReceiver --es "referrer" "utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign"
在 InstallReceiver class:
@Override
public void onReceive(Context context, Intent intent) {
Uri uri = intent.getData(); // getting uri is null
String referrer = intent.getStringExtra("referrer");
// referrer is only contains "utm_source=testSource" and no more
所以问题是完整的推荐人在哪里以及我的意图有什么问题。
您的 intent
广播引用值设置不正确。该值将通过 shell 调用 adb
转义一次,并通过 Android shell 执行广播命令再转义一次。尝试像这样发送请求:
adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n app/app.InstallReceiver --es referrer "'utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign'"
注意双重转义——一次用单引号 ' 一次用双引号 "