如何使用 Cordova 实施营销活动跟踪?

How do I implement Campaign tracking with Cordova?

我正在尝试在我的 cordova 应用程序中实施活动跟踪,但我没有成功。

我以前使用过 danwilson 插件,效果很好,但它不支持活动,正如我在这里看到的:

https://github.com/danwilson/google-analytics-plugin/issues/68

所以我将我的插件更改为这个分支:

https://github.com/Anu2g/google-analytics-plugin

其中有活动跟踪。

我目前正在 Android 中进行测试,我已将其添加到我的清单中

    <!-- Used for Google Play Store Campaign Measurement-->
<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>

如图

https://developers.google.com/analytics/devguides/collection/android/v4/campaigns

我的 UniversalAnalyticsPlugin.java

中有活动功能
private void trackView(String screenname, String deepLinkUrl, CallbackContext callbackContext) {
    if (! trackerStarted ) {
        callbackContext.error("Tracker not started");
        return;
    }

    addCustomDimensionsToTracker(tracker);

    if (null != screenname && screenname.length() > 0) {
        tracker.setScreenName(screenname);
        tracker.send(new HitBuilders
                .ScreenViewBuilder()
                .setCampaignParamsFromUrl(deepLinkUrl)
                .build()
                );
        callbackContext.success("Track Screen: " + screenname);
    } else {
        callbackContext.error("Expected one non-empty string argument.");
    }
}

我尝试使用 Google 测试指南使其工作:

https://developers.google.com/analytics/solutions/testing-play-campaigns

我启动

adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n com.my.app/com.google.android.gms.analytics.CampaignTrackingReceiver --es "referrer" "utm_source%3DtestSource%26utm_medium%3DtestMedium%26utm_term%3DtestTerm%26utm_content%3DtestContent%26utm_campaign%3DtestCampaign"

在我的 cmd 中,它 returns

    Broadcasting: Intent { act=com.android.vending.INSTALL_REFERRER cmp=com.my.app/com.google.android.gms.analytics.CampaignTrackingReceiver (has extras) }
Broadcast completed: result=0

看起来工作正常。然后我打开我的 logcat,我打开编译的应用程序,它记录 Thread[GAThread,5,main]: No campaign data found.

正如我在插件文档中看到的那样,我必须这样做:

To track a Screen (PageView) w/ campaign detilas:

window.analytics.trackView('Screen Title', 'my-scheme://content/1111?utm_source=google&utm_campaign=my-campaign')

但我不明白如何接收带有参数的真实 URL,而不是硬编码的。

有哪位在Cordova中成功实现过Campaign跟踪的可以赐教吗?

提前致谢

经过一些研究,以及作者对插件的一些修改,答案再明显不过了:

在插件的最新版本中:https://github.com/danwilson/google-analytics-plugin作者为活动添加了一个未记录的功能,并且无需任何修改即可运行。它在清单中添加标签,并在活动 link 启动到 Google Play 时起作用。

一点:也显示未找到活动数据,但它有效,即使响应不是 Google 所说的

祝你好运