2016-08-02 89 views
9

我使用google-analytics SDK測量了我的Android應用簽出性能。我創建了一個Wrapper,用於發送匹配(以及它的工作原理)和異常(它也可以)。我無法使它與電子商務數據一起工作。安卓數據缺失增強型電子商務分析頁面

爲了發送電子商務數據I創建產品和和ProductAction

Product product = new Product() 
      .setId(ID) 
      .setCategory(category) 
      .setBrand(brandID) 
      .setCustomDimension(1, typology) 
      .setCustomDimension(2, currency) 
      .setPrice(getTotal()) 
      .setQuantity(1); 
    // Add the step number and additional info about the checkout to the action. 
    ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE) 
      .setCheckoutStep(4) 
      .setCheckoutOptions("Perform payment"); 

然後

sendEcommerceCheckoutStep(product, productAction, "performPayment", getApplicationContext())

的主體,所述方法是

public void sendEcommerceCheckoutStep(Product product, ProductAction productAction, String checkoutStepName, Context context) { 
     HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() 
       .addProduct(product) 
       .setProductAction(productAction) 
       .addImpression(product, checkoutStepName); 

     mTracker.setScreenName(checkoutStepName); 
     mTracker.send(builder.build()); 
     mTracker.setScreenName(null); 
    } 

現在,我希望數據能夠通過分析(而且它確實如此, ecked adb日誌),但我無法在分析Web界面中看到它。

這是我看到的分析web界面:

Google Analytics view of e-commerce

正如你可以看到哪些得到了數據的唯一列是「車到查看細節率」之一。但是,如果我沒有任何其他專欄中的數據,我怎麼能有一個購物車到詳細率?

這是「產品性能」屏幕。這是「產品列表效果」:

produce list performance

所有其他列均爲0爲好。爲什麼會列出「添加到購物車」操作,而不是其他操作?

+0

使用事件而不是設置每個產品的屏幕名稱 – HourGlass

+0

在我看來,爲了使用電子商務的產品和ProductActions,我應該使用ScreenViewBuilder:https://developers.google.com/analytics/devguides/collection/android/v4/enhanced-ecommerce –

+0

好吧,我明白你的意思了。 我試圖與 HitBuilders.EventBuilder助洗劑=新HitBuilders.EventBuilder() .addProduct(產品) .setProductAction(productAction) 。addImpression(product,checkoutStepName); 但我仍然沒有在分析的電子商務選項卡中找到任何東西。 –

回答

1

以下代碼正在處理我的應用程序。我跟着official transaction guide

我發現你的一些差異。例如。屏幕名稱的名稱,稍後我不會將其設置爲空,我不會設置結帳步驟,我不會設置自定義維度和展示次數。

隨意嘗試:

public void trackPurchase(@NonNull TrackingPurchase trackingPurchase) { 
    HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder(); 

    for (TrackingProduct trackingProduct : trackingPurchase.getTrackingProducts()) { 
     builder.addProduct(this.createProduct(trackingProduct)); 
    } 
    builder.setProductAction(this.createProductAction(trackingPurchase)); 

    googleAnalyticsTracker.setScreenName("transaction"); 
    googleAnalyticsTracker.set("&cu", "USD"); 
    googleAnalyticsTracker.send(builder.build()); 
} 

@NonNull 
private Product createProduct(@NonNull TrackingProduct trackingProduct) { 
    return new Product() 
      .setId(trackingProduct.getSku()) 
      .setName(trackingProduct.getName()) 
      .setCategory(trackingProduct.getCategory()) 
      .setPrice(trackingProduct.getPrice()) 
      .setQuantity(trackingProduct.getQuantity()); 
} 

@NonNull 
private ProductAction createProductAction(@NonNull TrackingPurchase trackingPurchase) { 
    return new ProductAction(ProductAction.ACTION_PURCHASE) 
      .setTransactionId(trackingPurchase.getSaleId()) 
      .setTransactionAffiliation("Android App") 
      .setTransactionRevenue(trackingPurchase.getRevenue()) 
      .setTransactionTax(0) 
      .setTransactionShipping(trackingPurchase.getShippingCost()) 
      .setTransactionCouponCode(trackingPurchase.getCouponCode()); 
} 

TrackingPurchase是,僅僅包含了各種TrackingProduct將被跟蹤的數據類。

我可以看到通過檢查這裏這個追蹤:

Google Analytics Ecommerce

例如,你會看到收入和暢銷。

+0

謝謝費爾南多。我嘗試了你的代碼並簡化了我的內容,但仍然沒有數據流過電子商務。 : - / –

相關問題