public void LogEvent(CommerceEvent commerceEvent) { if (Application.platform == RuntimePlatform.OSXEditor) { return; } string commerceEventJSON = JsonUtility.ToJson(commerceEvent); _LogCommerceEvent(commerceEventJSON); }
public void CommerceEvents() { var product = new Product("product-id", "product-name") { TotalProductAmount = new Decimal(123.12), }; var productAction = new ProductAction(ProductAction.ActionEnum.Purchase) { TotalAmount = new Decimal(123.12), TransactionId = "foo-transaction-id" }; var commerceEvent = new CommerceEvent(productAction); }
public void LogEvent(CommerceEvent commerceEvent) { AndroidJavaObject builder; if (commerceEvent.ProductAction > 0 && commerceEvent.Products != null && commerceEvent.Products.Length > 0) { builder = new AndroidJavaObject("com.mparticle.commerce.CommerceEvent$Builder", toUtils.ConvertToMpProductAction(commerceEvent.ProductAction), toUtils.ConvertToMpProduct(commerceEvent.Products[0])); } else if (commerceEvent.Promotions != null && commerceEvent.Promotions.Length > 0) { builder = new AndroidJavaObject("com.mparticle.commerce.CommerceEvent$Builder", toUtils.ConvertToMpPromotionAction(commerceEvent.PromotionAction), toUtils.ConvertToMpPromotion(commerceEvent.Promotions[0])); } else { builder = new AndroidJavaObject("com.mparticle.commerce.CommerceEvent$Builder", toUtils.ConvertToMpImpression(commerceEvent.Impressions[0])); } if (commerceEvent.TransactionAttributes != null) { builder.Call <AndroidJavaObject>("transactionAttributes", toUtils.ConvertToMpTransactionAttributes(commerceEvent.TransactionAttributes)); } if (commerceEvent.ScreenName != null) { builder.Call <AndroidJavaObject>("screen", commerceEvent.ScreenName); } if (commerceEvent.Currency != null) { builder.Call <AndroidJavaObject>("currency", commerceEvent.Currency); } if (commerceEvent.CustomAttributes != null) { builder.Call <AndroidJavaObject>("customAttributes", toUtils.ConvertDictToMap(commerceEvent.CustomAttributes)); } if (commerceEvent.CheckoutOptions != null) { builder.Call <AndroidJavaObject>("checkoutOptions", commerceEvent.CheckoutOptions); } if (commerceEvent.CheckoutStep != null) { builder.Call <AndroidJavaObject>("checkoutStep", toUtils.integerClass.CallStatic <AndroidJavaObject>("valueOf", commerceEvent.CheckoutStep)); } if (commerceEvent.NonInteractive.HasValue) { builder.Call <AndroidJavaObject>("nonInteraction", (bool)commerceEvent.NonInteractive); } if (commerceEvent.Products != null) { AndroidJavaObject productList = new AndroidJavaObject("java.util.ArrayList"); foreach (Product product in commerceEvent.Products) { productList.Call <bool>( "add", new object[] { toUtils.ConvertToMpProduct(product) } ); } builder.Call <AndroidJavaObject>("products", productList); } if (commerceEvent.Promotions != null) { AndroidJavaObject promotionList = new AndroidJavaObject("java.util.ArrayList"); foreach (Promotion promotion in commerceEvent.Promotions) { promotionList.Call <bool>( "add", new object[] { toUtils.ConvertToMpPromotion(promotion) } ); } builder.Call <AndroidJavaObject>("promotions", promotionList); } if (commerceEvent.Impressions != null) { AndroidJavaObject impressionList = new AndroidJavaObject("java.util.ArrayList"); foreach (Impression impression in commerceEvent.Impressions) { impressionList.Call <bool>( "add", new object[] { toUtils.ConvertToMpImpression(impression) } ); } builder.Call <AndroidJavaObject>("impressions", impressionList); } AndroidJavaObject javaCommerceEvent = builder.Call <AndroidJavaObject>("build"); mp.Call( "logEvent", new object[] { javaCommerceEvent } ); }