我有一个 Android 应用程序,用户必须在其中注册。在发送注册时,我想从PlayStore
(utm_source 等)发送参数以了解来自哪个活动用户。
所以我的想法是为 INSTALL_REFERRER 使用自己BroadcastReceiver
的,我将参数保存到文件中。当用户注册时,我将读取文件并发送内容。
所以我做了接收器:
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
应用内获取广告系列参数吗?