Я работаю над Android-приложением для электронной коммерции и хочу отслеживать расширенные события электронной коммерции в Google Analytics через GTM v5 (входит в состав Firebase SDK).
Для этого, чтобы отправить событие «впечатления», я пытаюсь преобразовать старый уровень данных в объект пакета, принятый GTM v5 с Firebase SDK.
Итак, следующий слой данных
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 Analytics.
Я думаю, что эта проблема возникает из-за того, что Firebase не принимает сложный пакет для событий, поэтому, даже если это правильно, пакет с ArrayList не интерпретируется регистратором событий Firebase.
Каково ваше мнение об этом? Вы когда-нибудь сталкивались с такой проблемой?