2016-08-02 94 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

谢谢费尔南多。我尝试了你的代码并简化了我的内容,但仍然没有数据流过电子商务。 : - / –

相关问题