8

Geliştirilmiş E-ticaret İzleme'yi uygulamaya çalışıyorum, ancak Google Analytics'in web panelinde E-Ticaret Görünümü ne yaparsam yapayım boş kalsın, yani hiçbir veri gönderilmiyor (görünüşte). Diğer tüm veriler, Ekran ve Etkinlik izleme beklendiği gibi çalışır.Google Analytcs Android sorunu için Geliştirilmiş E-ticaret İzleme

installing google analytics ve implementing Enhanced Ecommerce tracking numaralı resmi kılavuzları izliyorum. İşte benim ayarları şunlardır: MyApplication sınıfında

:

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 sınıfta ben uygun Faaliyetleri kullanmak trackEcommerce() yöntemine sahip/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()); 
} 

Açık olan soru, sen benim bir şey görebiliyor musun? ng yanlış/neleri değiştirmem gerektiğiyle ilgili bazı fikirler?

cevap

1

E-ticaret İzleme için global izleyici kullanmak yerine ayrı bir ecommerce_tracker izleyici kullanmalısınız. 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> 

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

Ayrıca günlük çıkışlar olduğunu görmek için deneyin. Günlükleri etkinleştirmek için GA https://developers.google.com/android/reference/com/google/android/gms/analytics/Logger