// Products can be instrumented as an array of items that can be added to prescribed ecommerce events. //Measure a purchase by logging a purchase event with one or more items defined with the relevant fields. // A pair of jeggings (product1) Bundle itemJeggings = new Bundle(); itemJeggings.putString(FirebaseAnalytics.Param.ITEM_ID, "SKU_123"); //Item ID (context-specific) (String). itemJeggings.putString(FirebaseAnalytics.Param.ITEM_NAME, "jeggings"); //Item Name (context-specific) (String). itemJeggings.putString(FirebaseAnalytics.Param.ITEM_CATEGORY, "pants"); //Item category (context-specific) (String). itemJeggings.putString(FirebaseAnalytics.Param.ITEM_CATEGORY2, "sub-cat1"); //Item sub-category (context-specific) (String). itemJeggings.putString(FirebaseAnalytics.Param.ITEM_CATEGORY3, "sub-cat2"); //Item sub-category (context-specific) (String). itemJeggings.putString(FirebaseAnalytics.Param.ITEM_CATEGORY4, "sub-cat3"); //Item sub-category (context-specific) (String). itemJeggings.putString(FirebaseAnalytics.Param.ITEM_CATEGORY5, "sub-cat4"); //Item sub-category (context-specific) (String). itemJeggings.putString(FirebaseAnalytics.Param.ITEM_VARIANT, "black"); //Item variant (String). itemJeggings.putString(FirebaseAnalytics.Param.ITEM_BRAND, "Google"); //Item brand. The parameter expects a string value itemJeggings.putDouble(FirebaseAnalytics.Param.PRICE, 9.99); //Product price (double). Expecting a double value // Prepare purchase params Bundle purchaseParams = new Bundle(); purchaseParams.putString(FirebaseAnalytics.Param.TRANSACTION_ID, "T12345"); //The unique identifier of a transaction (String). purchaseParams.putString(FirebaseAnalytics.Param.AFFILIATION, "Google Store"); //A product affiliation to designate a supplying company or brick and mortar store location (String). purchaseParams.putString(FirebaseAnalytics.Param.CURRENCY, "USD"); //Currency of the purchase or items associated with the event, in 3-letter ISO_4217 format (String). purchaseParams.putDouble(FirebaseAnalytics.Param.VALUE, 14.98); //Value should be specified with BaseBundle.putLong(String, long) or BaseBundle.putDouble(String, double). purchaseParams.putDouble(FirebaseAnalytics.Param.TAX, 2.58); //Tax cost associated with a transaction (double). purchaseParams.putDouble(FirebaseAnalytics.Param.SHIPPING, 5.34); //Shipping cost associated with a transaction (double). purchaseParams.putString(FirebaseAnalytics.Param.COUPON, "SUMMER_FUN"); // Add items purchaseParams.putParcelableArray(FirebaseAnalytics.Param.ITEMS, new Parcelable[]{ itemJeggingsCart }); // Log purchase event analytics.logEvent(FirebaseAnalytics.Event.PURCHASE, purchaseParams);