gpt4 book ai didi

android - 针对 Android 问题的 Google Analytics 增强型电子商务跟踪

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:01:21 24 4
gpt4 key购买 nike

我一直在尝试实现增强型电子商务跟踪,但无论我做什么,Google Analytcs 网络面板中的电子商务 View 都保持为空,即没有发送任何数据(显然)。所有其他数据、屏幕和事件跟踪均按预期工作。

我正在关注 installing google analytics 上的官方指南和 implementing Enhanced Ecommerce tracking .这是我的设置:

在 MyApplication 类中:

public class MyApplication extends Application {

private Tracker mTracker;

//....

synchronized public Tracker getDefaultTracker() {
if (mTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
mTracker = analytics.newTracker(R.xml.global_tracker);
mTracker.set("&tid", GOOGLE_ANALYTICS_ID_VALUE);

}
return mTracker;
}
}

R.xml.global_tracker:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="ga_sessionTimeout">300</integer>
<bool name="ga_autoActivityTracking">false</bool>
<string name="ga_sampleFrequency">100.0</string>
<bool name="ga_reportUncaughtExceptions">true</bool>
<integer name="ga_dispatchPeriod">30</integer>
</resources>

在 BaseActivity 类中,我有在适当的 Activity/fragment 中使用的 trackEcommerce() 方法:

public void trackEcommerce(){

String screenName = "eCommerce";
String transactionID = "transactionID"; //some randomized value
Double transactionRevenue = 0.0; //value of the transaction

Tracker t = ((MyApplication) getApplication()).getDefaultTracker();

//send products
for (MyEcommerceItem item : myEcommerceItems) {
Product product = new Product()
.setId(item.getSku())
.setName(item.getTitle())
.setCategory(item.getType())
.setPrice(item.getPrice())
.setQuantity(item.getQuantity());

HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder().addProduct(product);
t.setScreenName(screenName);
t.send(builder.build());
}


//send transaction
ProductAction productAction = new ProductAction(ProductAction.ACTION_CHECKOUT)
.setTransactionId(transactionID)
.setTransactionRevenue(transactionRevenue);

HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder().setProductAction(productAction);
t.setScreenName(screenName);
t.send(builder.build());
}

显而易见的问题,你能看出我做错了什么/我需要改变什么的一些想法吗?

最佳答案

您应该使用单独的 ecommerce_tracker 跟踪器,而不是使用全局跟踪器进行电子商务跟踪。 https://developers.google.com/analytics/devguides/collection/android/v4/advanced#multiple-trackers

public class MyApplication extends Application {
private Tracker mDefaultTracker;
private Tracker mEcommerceTracker;

//....

synchronized public Tracker getDefaultTracker() {
if (mDefaultTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
mDefaultTracker = analytics.newTracker(R.xml.global_tracker);
mDefaultTracker.set("&tid", GOOGLE_ANALYTICS_ID_VALUE);

}
return mDefaultTracker;
}

synchronized public Tracker getEcommerceTracker() {
if (mEcommerceTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
mEcommerceTracker = analytics.newTracker(R.xml.ecommerce_tracker);

}
return mDefaultTracker;
}
}

R.xml.ecommerce_tracker

<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="ga_sessionTimeout">60</integer>
<!-- The following value should be replaced with correct property id. -->
<string name="ga_trackingId">UA-XXXXXX-Y</string>
</resources>

同时尝试查看日志输出是什么。这是从 GA 启用日志的方法 https://developers.google.com/android/reference/com/google/android/gms/analytics/Logger

关于android - 针对 Android 问题的 Google Analytics 增强型电子商务跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35735423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com