mir*_*irt 3 android google-analytics android-intent
问题是我无法在接收器中获得推荐人uri.在清单文件中,我有类似的东西:
<receiver
android:name="app.InstallReceiver"
android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
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"
Run Code Online (Sandbox Code Playgroud)
在InstallReceiver类中:
@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
Run Code Online (Sandbox Code Playgroud)
所以问题是完整的推荐人和我的意图有什么不对.
您的intent广播引荐来源值未正确设置.该值将由shell调用一次转义,并由adbAndroid shell执行broadcast命令再转义一次.尝试发送这样的请求:
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'"
Run Code Online (Sandbox Code Playgroud)
注意双重转义 - 一次用单引号'和一次用双引号"
| 归档时间: |
|
| 查看次数: |
1475 次 |
| 最近记录: |