我有一个用户必须注册的Android应用。在发送注册时,我想从PlayStore
(utm_source等)发送参数,以了解来自哪个广告系列的用户。
所以我的想法是使用自己的BroadcastReceiver
来安装INSTALL_REFERRER
参数到文件。当用户注册时,我将读取文件并发送内容。
所以我做了接收器:
public class CampaignBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String refferer = intent.getExtras().getString("referrer");
try {
FileOutputStream fos = context.openFileOutput("campaign", Context.MODE_PRIVATE);
fos.write(refferer.getBytes());
fos.close();
} catch (FileNotFoundException e) {
} catch (IOException e) {
}
new CampaignTrackingReceiver().onReceive(context, intent);
}
而且,在AndroidManifest.xml中我使用:
<service android:name="com.google.analytics.tracking.android.CampaignTrackingService"/>
<receiver android:name=".receiver.CampaignBroadcastReceiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
当我使用谷歌的测试场景时,它可以工作,并且我的BroadcastReceiver中的onReceive方法被调用。
./adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n
mypackage/mypackage.receiver.CampaignBroadcastReceiver --es "referrer"
"utm_source%3Dtest%26utm_medium%3Dbanner%26utm_term%3Dmailstuff"
但是,当我从PlayStore
尝试时,没有任何东西被调用。
有人知道如何从应用中的PlayStore
抓取广告系列参数吗?
答案 0 :(得分:3)