2016-08-30 2 views
5

전자 상거래 Android 애플리케이션에서 작업 중이며 GTM v5 (Firebase SDK에 포함)를 통해 Google 애널리틱스에서 향상된 전자 상거래 이벤트를 추적하고 싶습니다.firebase 번들을 사용하여 GTM v5를 통해 향상된 전자 상거래 태그

"impressions"이벤트를 보내려면 이전 Datalayer를 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))); 

다음 그래서

는 지금 :

이미 Google 웹 로그 분석 대시 보드에 표시되지 않는 값, 트리거 및 태그하지만 히트 내 GTM 컨테이너를 구성한
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); 
    } 

.

Firebase에서 이벤트에 대한 복잡한 번들을 허용하지 않기 때문에 문제가 발생한다고 생각합니다. 심지어 올바른지, ArrayList가있는 번들이 Firebase 이벤트 로거에 의해 영향을받지 않습니다.

귀하의 의견은 무엇입니까? 이런 종류의 문제를 만난 적이 있습니까?

+0

당신이 GTM의 V5 및 전자 상거래에 대해 뭔가를 찾으셨습니까? –

답변

2

해당 페이지에 https://support.google.com/tagmanager/answer/7003315?hl=en

전자 상거래 배열 따르면 데이터의 배열 (예를 들어, Google 웹 로그 분석 향상된 전자 상거래)를 필요로 전자 상거래 태그에 대한 지원은 나중에 사용할 수 있습니다.

그리고 릴리스 노트는 주제에 더 이상의 진행되면서 통지 : https://support.google.com/tagmanager/answer/4620708?hl=en&ref_topic=6003219

+0

이 출시 노트 커버겠습니까? - 2019 년 9 월 6 일 Firebase SDK를 사용하는 Android 및 iOS 앱에서 유니버설 애널리틱스 속성에 향상된 전자 상거래 데이터를 보낼 수있는 기능이 출시되었습니다. – sdhaus

관련 문제