Tôi đã cố gắng triển khai Theo dõi thương mại điện tử nâng cao, nhưng bất kể bảng điều khiển web Thương mại điện tử trong Google Analytcs vẫn còn trống, tức là không có dữ liệu nào được gửi (rõ ràng). Tất cả dữ liệu khác, Theo dõi màn hình và sự kiện hoạt động như mong đợi.Google Analytcs Theo dõi thương mại điện tử nâng cao cho vấn đề Android
Tôi đang làm theo hướng dẫn chính thức trên installing google analytics và trên implementing Enhanced Ecommerce tracking. Dưới đây là các thiết lập của tôi:
trong lớp 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;
}
}
các 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>
trong lớp BaseActivity tôi có phương pháp trackEcommerce() mà tôi sử dụng trong hoạt động thích hợp/Fragments:
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());
}
Câu hỏi hiển nhiên, bạn có thể thấy điều gì đó tôi là doi không ng sai/một số ý tưởng về những gì tôi cần phải thay đổi?