5

私は Android の e コマース アプリケーションに取り組んでおり、GTM v5 (Firebase SDK に含まれています) を介して Google アナリティクスで拡張 e コマース イベントを追跡したいと考えています。

そのために、「インプレッション」イベントを送信するために、古いデータレイヤーを、Firebase SDK を使用して GTM v5 で受け入れられるバンドル オブジェクトに変換しようとします。

したがって、次のデータレイヤー

DataLayer.mapOf(
                    "currencyCode", "EUR",                                  // Local currency is optional.
                    "impressions", DataLayer.listOf(
                            DataLayer.mapOf(
                                    "name", produitsDispo.get(0).name,             // Name or ID is required.
                                    "id", produitsDispo.get(0).sku,
                                    "price", produitsDispo.get(0).price,
                                    "brand", produitsDispo.get(0).brand,
                                    "category", produitsDispo.get(0).category,
                                    "variant", produitsDispo.get(0).variant,
                                    "list", produitsDispo.get(0).category,
                                    "position", 1),
                            DataLayer.mapOf(
                                    "name", produitsDispo.get(1).name,
                                    "id", produitsDispo.get(1).sku,
                                    "price", produitsDispo.get(1).price,
                                    "brand", produitsDispo.get(1).brand,
                                    "category", produitsDispo.get(1).category,
                                    "variant", produitsDispo.get(1).variant,
                                    "list", produitsDispo.get(1).category,
                                    "position", 2),
                            DataLayer.mapOf(
                                    "name", produitsDispo.get(2).name,
                                    "id", produitsDispo.get(2).sku,
                                    "price", produitsDispo.get(2).price,
                                    "brand", produitsDispo.get(2).brand,
                                    "category", produitsDispo.get(2).category,
                                    "variant", produitsDispo.get(2).variant,
                                    "list", produitsDispo.get(2).category,
                                    "position", 3)));

今でしょ :

Bundle myBundle = new Bundle();
myBundle.putString("currencyCode", "EUR");
myBundle.putParcelableArrayList("impressions", constructBundleImpressions(produitsDispo));
mFirebaseAnalytics.logEvent("ecommerce", myBundle);

  public ArrayList<Bundle> constructBundleImpressions(ArrayList<Item> produitsDispo){
    ArrayList<Bundle> bundleImpressions = new ArrayList<Bundle>();
    Bundle tempBundle = new Bundle();
    for (int i=0; i<produitsDispo.size();i++){
        tempBundle.clear();
        tempBundle.putString("name", produitsDispo.get(i).name);
        Log.d("AAAAA ; ", produitsDispo.get(i).name);
        tempBundle.putString("id", produitsDispo.get(i).sku);
        tempBundle.putString("price", produitsDispo.get(i).price.toString());
        tempBundle.putString("brand", produitsDispo.get(i).brand);
        tempBundle.putString("category", produitsDispo.get(i).category);
        tempBundle.putString("variant", produitsDispo.get(i).variant);
        tempBundle.putString("list", produitsDispo.get(i).category);
        tempBundle.putInt("position", i+1);
        bundleImpressions.add(tempBundle);
    }

GTM コンテナに値、トリガー、タグを設定しましたが、Google アナリティクス ダッシュボードにヒットが表示されません。

Firebase はイベントの複雑なバンドルを受け入れないため、問題が発生すると思います。それが正しいとしても、ArrayList を含むバンドルは Firebase イベント ロガーによって解釈されません。

それについてどう思いますか。この種の問題に遭遇したことがありますか?

4

1 に答える 1

2

そのページによると https://support.google.com/tagmanager/answer/7003315?hl=en

e コマース配列: データの配列を必要とする e コマース タグ (Google アナリティクス拡張 e コマースなど) のサポートは、後日提供される予定です。

また、リリース ノートでは、このトピックに関するこれ以上の進展がないことを通知しています: https://support.google.com/tagmanager/answer/4620708?hl=en&ref_topic=6003219

于 2016-12-07T15:24:25.860 に答える