2016-08-02 44 views
9

Android uygulama ödeme performansımı google analytics SDK'yı kullanarak ölçüyorum. Hit (ve çalışır) ve istisnalar göndermek için kullandığım bir Wrapper yarattım (aynı zamanda çalışır). Sadece e-ticaret verileriyle çalışamıyorum.Android geliştirilmiş e-ticaret analizi sayfasında eksik veri

ı bir ürün ve vücut yöntemi şimdi

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); 
    } 

bahsedilen

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"); 

ve

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

bir productAction oluşturmak e-ticaret veri göndermek için, Verilerin analitikler üzerinden akmasını beklerim (ve adb günlüklerini kontrol etti) ancak analitik web arayüzünde göremiyorum.

Bu benim analitik web arayüzü gördükleri şeydir:

Google Analytics view of e-commerce

veri var sadece sütun "Sepeti-Ayrıntı Oranı" biridir görebileceğiniz gibi. Ancak, başka bir sütunda herhangi bir veri yoksa, nasıl bir sepet detayı alabilirim?

Bu, "ürün performansı" ekranıydı. Bu "Ürün listesi performansı" dir:

produce list performance

tüm diğer sütunları da 0 bulunmaktadır. Neden "sepete ekle" eylemlerini listeliyordu, diğerlerini değil?

+0

her ürün için ekran adı ayarlamak yerine olayı kullan – HourGlass

+0

Bana öyle geliyor - E-ticaret için Ürün ve Ürün Tanımlamaları kullanmak için - ScreenViewBuilder kullanmalıyım: https://developers.google.com/analytics/devguides/collection/android/v4/enhanced-ecommerce –

+0

Tamam, ne demek istediğini anlıyorum. I HitBuilders.EventBuilder oluşturucu = Yeni HitBuilders.EventBuilder denenmiş() .addProduct (ürün) .setProductAction (productAction) .addImpression (ürün, checkoutStepName); ancak yine de analitiklerin e-ticaret sekmesinde hiçbir şey alamıyorum. –

cevap

1

Aşağıdaki kod benim uygulamam üzerinde çalışıyor. official transaction guide'u takip ettim.

Sizinkilerle birkaç fark buldum. Örneğin. ekran adının adı, daha sonra null olarak ayarlamıyorum, ödeme adımını ayarlamıyorum, özel boyutlar veya gösterimler ayarlamıyorum.

denemek için çekinmeyin:

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 sadece izlenecek verilerdir çeşitli TrackingProduct içeren bir sınıftır.

Bu burada kontrol ederek takip görebilirsiniz: Örneğin, gelir ve üst satıcıları göreceksiniz

Google Analytics Ecommerce

.

+0

Teşekkür ederim Fernando. Kodunuzu denedim ve basitleştirdim, ancak - hala - e-ticaret yoluyla veri akışı yok. : - / –