使用自己的BroadcastReceiver进行广告系列衡量

use*_*233 8 android measurement google-play

我有一个用户必须注册的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);
}
Run Code Online (Sandbox Code Playgroud)

并且,在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>
Run Code Online (Sandbox Code Playgroud)

当我使用谷歌的测试场景时,它可以工作,并调用我的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"
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试它时,PlayStore没有任何东西被称为.

有人知道如何从PlayStore应用程序中抓取广告系列参数吗?

Ben*_*nny 3

我不知道解决方法,但 Google 已经知道这个问题。

Google Play 广告系列衡量目前不支持从网络 Play 商店发起的网络到设备安装。

已知的问题