从应用程序发送INSTALL_REFERRER广播

时间:2014-09-23 14:15:13

标签: android google-analytics android-broadcast

我想模仿google play com.android.vending.INSTALL_REFERRER广播。

我的应用程序安装另一个应用程序,安装完成后我想发送广播INSTALL_REFERRER,如google play,因此安装的应用程序会将广告系列数据发送到谷歌分析。

我按照所有谷歌分析教程, 并查看了这个实现:https://github.com/giago/referraltester

从ADB shell发送广播时,一切正常,分析接收器接收数据并将其发送给Google分析,从应用程序发送它似乎无法正常工作。

这是我从我的应用程序广播INSTALL_REFERRER时得到的结果:

主题[GAThread,5,main]:未找到广告系列数据。

发送广播的应用:

Intent i = new Intent("com.android.vending.INSTALL_REFERRER");
        i.setPackage("com.dev.refferer2");
        i.putExtra("referrer",
            "utm_source=apps&utm_medium=apps&utm_term=apps&utm_content=apps&utm_campaign=apps");
        sendBroadcast(i);

接收广播的应用: Manifest.xml:

<service android:name="com.google.android.gms.analytics.CampaignTrackingService" />
<receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
    android:exported="true">
    <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER" />
    </intent-filter>
</receiver>

应用:

 synchronized Tracker getTracker(TrackerName trackerId) {
    if (!mTrackers.containsKey(trackerId)) {

        GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
        Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(R.xml.global_tracker)
                : (trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(R.xml.global_tracker)
                : analytics.newTracker(R.xml.global_tracker);

        mTrackers.put(trackerId, t);

    }
    return mTrackers.get(trackerId);
}

MyActivity:

    Tracker t = ((App) getApplication()).getTracker(App.TrackerName.APP_TRACKER);
    t.setScreenName("MyActivity");
    t.send(new HitBuilders.AppViewBuilder().build());

请帮我解决这个问题。 是甚至可能还是我在这里浪费时间?

谢谢! :)

0 个答案:

没有答案