8

拡張 e コマース トラッキングを実装しようとしていますが、何をしても Google アナリティクス Web パネルの e コマース ビューは空のままです。つまり、データが送信されません (どうやら)。他のすべてのデータ、スクリーン トラッキング、イベント トラッキングは期待どおりに機能します。

Google アナリティクスのインストール拡張 e コマース トラッキングの実装に関する公式ガイドに従っています。ここに私の設定があります:

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

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 クラスには、適切なアクティビティ/フラグメントで使用する trackEcommerce() メソッドがあります。

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

明らかな質問は、私が間違っていることや、何を変更する必要があるかについてのアイデアがわかりますか?

4

1 に答える 1

1

e コマース トラッキングにグローバル トラッカーを使用する代わりに、別の ecommerce_tracker トラッカーを使用する必要があります。 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;
   }
}

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>

また、ログ出力が何であるかを確認してください。GA https://developers.google.com/android/reference/com/google/android/gms/analytics/Loggerからログを有効にする方法は次のとおりです。

于 2016-03-02T09:28:39.093 に答える