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

时间:2013-08-01 08:42:46

标签: android google-play measurement

我有一个用户必须注册的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抓取广告系列参数吗?

1 个答案:

答案 0 :(得分:3)

我不知道一种解决方法,但谷歌知道这个问题。

  

Google Play Campaign Measurement目前不支持   从网络Play商店发起的网络到设备安装。

Known Issues