Недостающие данные на странице расширенной аналитики электронной коммерции Android
Я измеряю эффективность проверки моего Android-приложения с помощью Google-Analytics SDK. Я создал Wrapper, который я использую для отправки хитов (и это работает) и исключений (это работает также). Я просто не могу заставить его работать с данными электронной коммерции.
Чтобы отправить данные электронной торговли, я создаю продукт и productAction.
Product product = new Product()
.setId(ID)
.setCategory(category)
.setBrand(brandID)
.setCustomDimension(1, typology)
.setCustomDimension(2, currency)
.setPrice(getTotal())
.setQuantity(1);
// Add the step number and additional info about the checkout to the action.
ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE)
.setCheckoutStep(4)
.setCheckoutOptions("Perform payment");
а потом
sendEcommerceCheckoutStep(product, productAction, "performPayment", getApplicationContext())
тело указанного метода
public void sendEcommerceCheckoutStep(Product product, ProductAction productAction, String checkoutStepName, Context context) {
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder()
.addProduct(product)
.setProductAction(productAction)
.addImpression(product, checkoutStepName);
mTracker.setScreenName(checkoutStepName);
mTracker.send(builder.build());
mTracker.setScreenName(null);
}
Теперь я ожидаю, что данные будут проходить через аналитику (и я проверял журналы adb), но я не вижу их в веб-интерфейсе аналитики.
Вот что я вижу в веб-интерфейсе аналитики:
Как вы можете видеть, единственный столбец, который получил данные, это "Тариф до детализации". Но как я могу получить показатель "корзина к деталям", если у меня нет данных ни в одном другом столбце?
Это был экран "производительность продукта". Это "Производительность списка товаров":
все остальные столбцы также равны 0. Почему в нем перечислены действия "добавить в корзину", а другие нет?
1 ответ
Следующий код работает над моим приложением. Я следовал официальному руководству по транзакциям.
Я нашел несколько различий с твоим. Например, имя отображаемого имени, я не устанавливаю его на нуль позже, я не устанавливаю шаг оформления заказа, я не устанавливаю нестандартные размеры и показы.
Не стесняйтесь попробовать это:
public void trackPurchase(@NonNull TrackingPurchase trackingPurchase) {
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder();
for (TrackingProduct trackingProduct : trackingPurchase.getTrackingProducts()) {
builder.addProduct(this.createProduct(trackingProduct));
}
builder.setProductAction(this.createProductAction(trackingPurchase));
googleAnalyticsTracker.setScreenName("transaction");
googleAnalyticsTracker.set("&cu", "USD");
googleAnalyticsTracker.send(builder.build());
}
@NonNull
private Product createProduct(@NonNull TrackingProduct trackingProduct) {
return new Product()
.setId(trackingProduct.getSku())
.setName(trackingProduct.getName())
.setCategory(trackingProduct.getCategory())
.setPrice(trackingProduct.getPrice())
.setQuantity(trackingProduct.getQuantity());
}
@NonNull
private ProductAction createProductAction(@NonNull TrackingPurchase trackingPurchase) {
return new ProductAction(ProductAction.ACTION_PURCHASE)
.setTransactionId(trackingPurchase.getSaleId())
.setTransactionAffiliation("Android App")
.setTransactionRevenue(trackingPurchase.getRevenue())
.setTransactionTax(0)
.setTransactionShipping(trackingPurchase.getShippingCost())
.setTransactionCouponCode(trackingPurchase.getCouponCode());
}
TrackingPurchase
это класс, который просто содержит различные TrackingProduct
которые являются данными для отслеживания.
Я могу увидеть это, проверив здесь:
Например, вы увидите доход и топ-продавцов.