void OnGUI() { if (GUI.Button(new Rect(10, 10, 350, 100), "Track Install")) { print("trackInstall clicked"); #if UNITY_ANDROID || UNITY_IPHONE trackInstall(); #endif } if (GUI.Button(new Rect(10, 120, 350, 100), "Track Action")) { print("trackAction clicked"); #if UNITY_ANDROID || UNITY_IPHONE trackAction("evt11", false, 0.35, "CAD"); #endif } if (GUI.Button(new Rect(10, 230, 350, 100), "Track Action With Event Items")) { print("trackActionWithEvent clicked"); #if UNITY_ANDROID || UNITY_IPHONE MATItem item1 = new MATItem(); item1.name = "subitem1"; item1.unitPrice = 5; item1.quantity = 5; item1.revenue = 3; item1.attribute2 = "attrValue2"; item1.attribute3 = "attrValue3"; item1.attribute4 = "attrValue4"; item1.attribute5 = "attrValue5"; MATItem item2 = new MATItem(); item2.name = "subitem2"; item2.unitPrice = 1; item2.quantity = 3; item2.revenue = 1.5; item2.attribute1 = "attrValue1"; item2.attribute3 = "attrValue3"; MATItem[] arr = { item1, item2 }; // transaction state may be set to the value received from the iOS/Android app store. int transactionState = 1; string receiptData = null; string receiptSignature = null; #if UNITY_IPHONE receiptData = getSampleiTunesIAPReceipt(); #endif trackActionWithEventItem("event6With2Items", false, arr, arr.Length, null, 10, "USD", transactionState, receiptData, receiptSignature); #endif } }
public void Measure_Purchase(long _MallIndex) { if (this.m_goMATDelegate == null) { return; } ITEM_MALL_ITEM item = NrTSingleton <ItemMallItemManager> .Instance.GetItem(_MallIndex); if (item == null) { return; } string textFromItem = NrTSingleton <NrTextMgr> .Instance.GetTextFromItem(item.m_strTextKey); string currencyCode = string.Empty; eSERVICE_AREA currentServiceArea = NrTSingleton <NrGlobalReference> .Instance.GetCurrentServiceArea(); if (currentServiceArea == eSERVICE_AREA.SERVICE_ANDROID_KORGOOGLE || currentServiceArea == eSERVICE_AREA.SERVICE_ANDROID_KORKAKAO) { if (item.m_nMoneyType == 1) { currencyCode = "KRW"; MATItem[] eventItems = new MATItem[] { new MATItem(textFromItem) { quantity = new int?(1), unitPrice = new double?((double)item.m_nPrice), revenue = new double?((double)item.m_nPrice) } }; MATBinding.MeasureEvent(new MATEvent("Purchase") { currencyCode = currencyCode, eventItems = eventItems, receiptSignature = PlayerPrefs.GetString(NrPrefsKey.SHOP_RECEIPT, string.Empty), revenue = new double?((double)item.m_nPrice), advertiserRefId = "186576" }); } } else if (item.m_nMoneyType == 1) { currencyCode = "USD"; MATBinding.MeasureEvent(new MATEvent("Purchase") { revenue = new double?((double)item.m_fPrice), currencyCode = currencyCode, advertiserRefId = textFromItem }); } }
// On purchase complete, set purchase info and measure purchase in TUNE public void onMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary<string, string> extras) { double revenue = 0; string currency = ""; MATItem[] items = new MATItem[] {}; MarketItem item = ((PurchaseWithMarket)pvi.PurchaseType).MarketItem; revenue = item.MarketPriceMicros / 1000000; currency = item.MarketCurrencyCode; // Create event item to store purchase item data MATItem matItem = new MATItem(); matItem.name = item.MarketTitle; matItem.attribute1 = item.ProductId; // Add event item to MATItem array in order to pass to TUNE SDK items[items.Length] = matItem; // Get order ID and receipt data for purchase validation string receipt = ""; string receiptSignature = ""; string orderId = ""; #if UNITY_ANDROID extras.TryGetValue("originalJson", out receipt); extras.TryGetValue("signature", out receiptSignature); extras.TryGetValue("orderId", out orderId); #elif UNITY_IOS extras.TryGetValue("receiptBase64", out receipt); extras.TryGetValue("transactionIdentifier", out orderId); #endif // Create a MATEvent with this purchase data MATEvent purchaseEvent = new MATEvent("purchase"); purchaseEvent.revenue = revenue; purchaseEvent.currencyCode = currency; purchaseEvent.advertiserRefId = orderId; purchaseEvent.receipt = receipt; purchaseEvent.receiptSignature = receiptSignature; // Set event item if it exists if (items.Length != 0) { purchaseEvent.eventItems = items; } // Measure "purchase" event MATBinding.MeasureEvent(purchaseEvent); }
void OnGUI() { if (GUI.Button(new Rect(10, 10, 350, 100), "Track Install")) { print("trackInstall clicked"); trackInstall(); } if (GUI.Button(new Rect(10, 120, 350, 100), "Track Action")) { print("trackAction clicked"); trackAction("evt11", false, 0.35, "CAD"); } if (GUI.Button(new Rect(10, 230, 350, 100), "Track Action With Event Items")) { print("trackActionWithEvent clicked"); MATItem item1 = new MATItem(); item1.name = "subitem1"; item1.unitPrice = 5; item1.quantity = 5; item1.revenue = 3; item1.attribute2 = "attrValue2"; item1.attribute3 = "attrValue3"; item1.attribute4 = "attrValue4"; item1.attribute5 = "attrValue5"; MATItem item2 = new MATItem(); item2.name = "subitem2"; item2.unitPrice = 1; item2.quantity = 3; item2.revenue = 1.5; item2.attribute1 = "attrValue1"; item2.attribute3 = "attrValue3"; MATItem[] arr = { item1, item2 }; // transaction state may be set to the value received from the iOS/Android app store. int transactionState = 1; trackActionWithEventItem("event6With2Items", false, arr, arr.Length, null, 10, "USD", transactionState, null); } }
private void OnGUI() { GUIStyle gUIStyle = new GUIStyle(); gUIStyle.fontStyle = FontStyle.Bold; gUIStyle.fontSize = 50; gUIStyle.alignment = TextAnchor.MiddleCenter; gUIStyle.normal.textColor = Color.white; GUI.Label(new Rect(10f, 5f, (float)(Screen.width - 20), (float)(Screen.height / 10)), "MAT Unity Test App", gUIStyle); GUI.skin.button.fontSize = 40; if (GUI.Button(new Rect(10f, (float)(Screen.height / 10), (float)(Screen.width - 20), (float)(Screen.height / 10)), "Start MAT")) { MonoBehaviour.print("Start MAT clicked"); MATBinding.Init(this.MAT_ADVERTISER_ID, this.MAT_CONVERSION_KEY); MATBinding.SetPackageName(this.MAT_PACKAGE_NAME); MATBinding.SetFacebookEventLogging(true, false); MATBinding.CheckForDeferredDeeplinkWithTimeout(750.0); MATBinding.AutomateIapEventMeasurement(true); } else if (GUI.Button(new Rect(10f, (float)(2 * Screen.height / 10), (float)(Screen.width - 20), (float)(Screen.height / 10)), "Set Delegate")) { MonoBehaviour.print("Set Delegate clicked"); MATBinding.SetDelegate(true); } else if (GUI.Button(new Rect(10f, (float)(3 * Screen.height / 10), (float)(Screen.width - 20), (float)(Screen.height / 10)), "Enable Debug Mode")) { MonoBehaviour.print("Enable Debug Mode clicked"); MATBinding.SetDebugMode(true); } else if (GUI.Button(new Rect(10f, (float)(4 * Screen.height / 10), (float)(Screen.width - 20), (float)(Screen.height / 10)), "Allow Duplicates")) { MonoBehaviour.print("Allow Duplicates clicked"); MATBinding.SetAllowDuplicates(true); } else if (GUI.Button(new Rect(10f, (float)(5 * Screen.height / 10), (float)(Screen.width - 20), (float)(Screen.height / 10)), "Measure Session")) { MonoBehaviour.print("Measure Session clicked"); MATBinding.MeasureSession(); } else if (GUI.Button(new Rect(10f, (float)(6 * Screen.height / 10), (float)(Screen.width - 20), (float)(Screen.height / 10)), "Measure Event")) { MonoBehaviour.print("Measure Event clicked"); MATBinding.MeasureEvent("evt11"); } else if (GUI.Button(new Rect(10f, (float)(7 * Screen.height / 10), (float)(Screen.width - 20), (float)(Screen.height / 10)), "Measure Event With Event Items")) { MonoBehaviour.print("Measure Event With Event Items clicked"); MATItem mATItem = default(MATItem); mATItem.name = "subitem1"; mATItem.unitPrice = new double?(5.0); mATItem.quantity = new int?(5); mATItem.revenue = new double?(3.0); mATItem.attribute2 = "attrValue2"; mATItem.attribute3 = "attrValue3"; mATItem.attribute4 = "attrValue4"; mATItem.attribute5 = "attrValue5"; MATItem mATItem2 = default(MATItem); mATItem2.name = "subitem2"; mATItem2.unitPrice = new double?(1.0); mATItem2.quantity = new int?(3); mATItem2.revenue = new double?(1.5); mATItem2.attribute1 = "attrValue1"; mATItem2.attribute3 = "attrValue3"; MATItem[] eventItems = new MATItem[] { mATItem, mATItem2 }; MATEvent matEvent = new MATEvent("purchase"); matEvent.revenue = new double?(10.0); matEvent.currencyCode = "AUD"; matEvent.advertiserRefId = "ref222"; matEvent.attribute1 = "test_attribute1"; matEvent.attribute2 = "test_attribute2"; matEvent.attribute3 = "test_attribute3"; matEvent.attribute4 = "test_attribute4"; matEvent.attribute5 = "test_attribute5"; matEvent.contentType = "test_contentType"; matEvent.contentId = "test_contentId"; matEvent.date1 = new DateTime?(DateTime.UtcNow); DateTime utcNow = DateTime.UtcNow; DateTime dateTime = new DateTime(2, 1, 1); matEvent.date2 = new DateTime?(utcNow.Add(new TimeSpan(dateTime.Ticks))); matEvent.level = new int?(3); matEvent.quantity = new int?(2); matEvent.rating = new double?(4.5); matEvent.searchString = "test_searchString"; matEvent.eventItems = eventItems; matEvent.transactionState = new int?(1); MATBinding.MeasureEvent(matEvent); } else if (GUI.Button(new Rect(10f, (float)(8 * Screen.height / 10), (float)(Screen.width - 20), (float)(Screen.height / 10)), "Test Setter Methods")) { MonoBehaviour.print("Test Setter Methods clicked"); MATBinding.SetAge(34); MATBinding.SetAllowDuplicates(true); MATBinding.SetAppAdTracking(true); MATBinding.SetDebugMode(true); MATBinding.SetExistingUser(false); MATBinding.SetFacebookUserId("temp_facebook_user_id"); MATBinding.SetGender(0); MATBinding.SetGoogleUserId("temp_google_user_id"); MATBinding.SetLocation(111.0, 222.0, 333.0); MATBinding.SetPayingUser(true); MATBinding.SetPhoneNumber("111-222-3456"); MATBinding.SetTwitterUserId("twitter_user_id"); MATBinding.SetUserId("temp_user_id"); MATBinding.SetUserName("temp_user_name"); MATBinding.SetUserEmail("*****@*****.**"); MATBinding.SetAndroidId("111111111111"); MATBinding.SetDeviceId("123456789123456"); MATBinding.SetGoogleAdvertisingId("12345678-1234-1234-1234-123456789012", true); MATBinding.SetMacAddress("AA:BB:CC:DD:EE:FF"); MATBinding.SetCurrencyCode("CAD"); MATBinding.SetTRUSTeId("1234567890"); MATBinding.SetPreloadedApp(new MATPreloadData("1122334455") { advertiserSubAd = "some_adv_sub_ad_id", publisherSub3 = "some_pub_sub3" }); } else if (GUI.Button(new Rect(10f, (float)(9 * Screen.height / 10), (float)(Screen.width - 20), (float)(Screen.height / 10)), "Test Getter Methods")) { MonoBehaviour.print("Test Getter Methods clicked"); MonoBehaviour.print("isPayingUser = "******"matId = " + MATBinding.GetMATId()); MonoBehaviour.print("openLogId = " + MATBinding.GetOpenLogId()); } }
private static extern void trackActionWithEventItem(string action, bool isId, MATItem[] items, int eventItemCount, string refId, double revenue, string currency, int transactionState, string receipt, string receiptSignature);
void OnGUI() { GUIStyle headingLabelStyle = new GUIStyle(); headingLabelStyle.fontStyle = FontStyle.Bold; headingLabelStyle.fontSize = 50; headingLabelStyle.alignment = TextAnchor.MiddleCenter; headingLabelStyle.normal.textColor = Color.white; GUI.Label(new Rect(10, 5, Screen.width - 20, Screen.height/10), "MAT Unity Test App", headingLabelStyle); GUI.skin.button.fontSize = 40; if (GUI.Button (new Rect (10, Screen.height/10, Screen.width - 20, Screen.height/10), "Start MAT")) { print ("Start MAT clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) MATBinding.Init(MAT_ADVERTISER_ID, MAT_CONVERSION_KEY); MATBinding.SetPackageName(MAT_PACKAGE_NAME); MATBinding.SetFacebookEventLogging(true, false); #endif #if (UNITY_ANDROID || UNITY_IPHONE) MATBinding.CheckForDeferredDeeplinkWithTimeout(750); // 750 ms MATBinding.AutomateIapEventMeasurement(true); #endif } else if (GUI.Button (new Rect (10, 2*Screen.height/10, Screen.width - 20, Screen.height/10), "Set Delegate")) { print ("Set Delegate clicked"); #if (UNITY_ANDROID || UNITY_IPHONE) MATBinding.SetDelegate(true); #endif #if UNITY_WP8 MATBinding.SetMATResponse(new SampleWP8MATResponse()); #endif #if UNITY_METRO MATBinding.SetMATResponse(new SampleWinStoreMATResponse()); #endif } else if (GUI.Button (new Rect (10, 3*Screen.height/10, Screen.width - 20, Screen.height/10), "Enable Debug Mode")) { print ("Enable Debug Mode clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) // NOTE: !!! ONLY FOR DEBUG !!! // !!! Make sure you set to false // OR // remove the setDebugMode and setAllowDuplicates calls for Production builds !!! MATBinding.SetDebugMode(true); #endif } else if (GUI.Button (new Rect (10, 4*Screen.height/10, Screen.width - 20, Screen.height/10), "Allow Duplicates")) { print ("Allow Duplicates clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) // NOTE: !!! ONLY FOR DEBUG !!! // !!! Make sure you set to false // OR // remove the setDebugMode and setAllowDuplicates calls for Production builds !!! MATBinding.SetAllowDuplicates(true); #endif } else if (GUI.Button (new Rect (10, 5*Screen.height/10, Screen.width - 20, Screen.height/10), "Measure Session")) { print ("Measure Session clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) MATBinding.MeasureSession(); #endif } else if (GUI.Button (new Rect (10, 6*Screen.height/10, Screen.width - 20, Screen.height/10), "Measure Event")) { print ("Measure Event clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) MATBinding.MeasureEvent("evt11"); #endif } else if (GUI.Button (new Rect (10, 7*Screen.height/10, Screen.width - 20, Screen.height/10), "Measure Event With Event Items")) { print ("Measure Event With Event Items clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) MATItem item1 = new MATItem(); item1.name = "subitem1"; item1.unitPrice = 5; item1.quantity = 5; item1.revenue = 3; item1.attribute2 = "attrValue2"; item1.attribute3 = "attrValue3"; item1.attribute4 = "attrValue4"; item1.attribute5 = "attrValue5"; MATItem item2 = new MATItem(); item2.name = "subitem2"; item2.unitPrice = 1; item2.quantity = 3; item2.revenue = 1.5; item2.attribute1 = "attrValue1"; item2.attribute3 = "attrValue3"; MATItem[] eventItems = { item1, item2 }; MATEvent matEvent = new MATEvent("purchase"); matEvent.revenue = 10; matEvent.currencyCode = "AUD"; matEvent.advertiserRefId = "ref222"; matEvent.attribute1 = "test_attribute1"; matEvent.attribute2 = "test_attribute2"; matEvent.attribute3 = "test_attribute3"; matEvent.attribute4 = "test_attribute4"; matEvent.attribute5 = "test_attribute5"; matEvent.contentType = "test_contentType"; matEvent.contentId = "test_contentId"; matEvent.date1 = DateTime.UtcNow; matEvent.date2 = DateTime.UtcNow.Add(new TimeSpan((new DateTime(2,1,1)).Ticks)); matEvent.level = 3; matEvent.quantity = 2; matEvent.rating = 4.5; matEvent.searchString = "test_searchString"; matEvent.eventItems = eventItems; // transaction state may be set to the value received from the iOS/Android app store. matEvent.transactionState = 1; #if UNITY_IPHONE matEvent.receipt = getSampleiTunesIAPReceipt(); #endif MATBinding.MeasureEvent(matEvent); #endif } else if (GUI.Button (new Rect (10, 8*Screen.height/10, Screen.width - 20, Screen.height/10), "Test Setter Methods")) { print ("Test Setter Methods clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) MATBinding.SetAge(34); MATBinding.SetAllowDuplicates(true); MATBinding.SetAppAdTracking(true); MATBinding.SetDebugMode(true); MATBinding.SetExistingUser(false); MATBinding.SetFacebookUserId("temp_facebook_user_id"); MATBinding.SetGender(0); MATBinding.SetGoogleUserId("temp_google_user_id"); MATBinding.SetLocation(111,222,333); //MATBinding.SetPackageName(MAT_PACKAGE_NAME); MATBinding.SetPayingUser(true); MATBinding.SetPhoneNumber("111-222-3456"); MATBinding.SetTwitterUserId("twitter_user_id"); MATBinding.SetUserId("temp_user_id"); MATBinding.SetUserName("temp_user_name"); MATBinding.SetUserEmail("*****@*****.**"); //iOS-specific Features #if UNITY_IPHONE #if UNITY_5_0 MATBinding.SetAppleAdvertisingIdentifier(UnityEngine.iOS.Device.advertisingIdentifier, UnityEngine.iOS.Device.advertisingTrackingEnabled); #else MATBinding.SetAppleAdvertisingIdentifier(UnityEngine.iOS.Device.advertisingIdentifier, UnityEngine.iOS.Device.advertisingTrackingEnabled); #endif MATBinding.SetAppleVendorIdentifier(UnityEngine.iOS.Device.vendorIdentifier); MATBinding.SetDelegate(true); MATBinding.SetJailbroken(false); MATBinding.SetShouldAutoDetectJailbroken(true); MATBinding.SetShouldAutoGenerateVendorIdentifier(true); MATBinding.SetUseCookieTracking(false); #endif //Android-specific Features #if UNITY_ANDROID MATBinding.SetAndroidId("111111111111"); MATBinding.SetDeviceId("123456789123456"); MATBinding.SetGoogleAdvertisingId("12345678-1234-1234-1234-123456789012", true); MATBinding.SetMacAddress("AA:BB:CC:DD:EE:FF"); #endif //Windows Phone 8 Specific Features #if UNITY_WP8 MATBinding.SetAppName("testWP8_AppName"); MATBinding.SetAppVersion("testWP8_AppVersion"); MATBinding.SetLastOpenLogId("testWP8_LastOpenLogId"); MATBinding.SetOSVersion("testWP8_OS"); #endif //Android and iOS-specific Features #if (UNITY_ANDROID || UNITY_IPHONE) MATBinding.SetCurrencyCode("CAD"); MATBinding.SetTRUSTeId("1234567890"); MATPreloadData pd = new MATPreloadData("1122334455"); pd.advertiserSubAd = "some_adv_sub_ad_id"; pd.publisherSub3 = "some_pub_sub3"; MATBinding.SetPreloadedApp(pd); #endif #endif } else if (GUI.Button (new Rect (10, 9*Screen.height/10, Screen.width - 20, Screen.height/10), "Test Getter Methods")) { print ("Test Getter Methods clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) print ("isPayingUser = "******"matId = " + MATBinding.GetMATId()); print ("openLogId = " + MATBinding.GetOpenLogId()); #endif } }
void OnGUI() { GUIStyle headingLabelStyle = new GUIStyle(); headingLabelStyle.fontStyle = FontStyle.Bold; headingLabelStyle.fontSize = 50; headingLabelStyle.alignment = TextAnchor.MiddleCenter; headingLabelStyle.normal.textColor = Color.white; GUI.Label(new Rect(10, 5, Screen.width - 20, Screen.height/10), "MAT Unity Test App", headingLabelStyle); GUI.skin.button.fontSize = 40; if (GUI.Button (new Rect (10, Screen.height/10, Screen.width - 20, Screen.height/10), "Start MAT")) { print ("Start MAT clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8) MATBinding.Init(MAT_ADVERTISER_ID, MAT_CONVERSION_KEY); MATBinding.SetPackageName(MAT_PACKAGE_NAME); #if UNITY_IPHONE MATBinding.SetAppleAdvertisingIdentifier(iPhone.advertisingIdentifier, iPhone.advertisingTrackingEnabled); #endif #endif } else if (GUI.Button (new Rect (10, 2*Screen.height/10, Screen.width - 20, Screen.height/10), "Set Delegate")) { print ("Set Delegate clicked"); #if (UNITY_ANDROID || UNITY_IPHONE) MATBinding.SetDelegate(true); #endif #if UNITY_WP8 MATBinding.SetMATResponse(new SampleMATResponse()); #endif } else if (GUI.Button (new Rect (10, 3*Screen.height/10, Screen.width - 20, Screen.height/10), "Enable Debug Mode")) { print ("Enable Debug Mode clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8) // NOTE: !!! ONLY FOR DEBUG !!! // !!! Make sure you set to false // OR // remove the setDebugMode and setAllowDuplicates calls for Production builds !!! MATBinding.SetDebugMode(true); //MATBinding.in #endif } else if (GUI.Button (new Rect (10, 4*Screen.height/10, Screen.width - 20, Screen.height/10), "Allow Duplicates")) { print ("Allow Duplicates clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8) // NOTE: !!! ONLY FOR DEBUG !!! // !!! Make sure you set to false // OR // remove the setDebugMode and setAllowDuplicates calls for Production builds !!! MATBinding.SetAllowDuplicates(true); #endif } else if (GUI.Button (new Rect (10, 5*Screen.height/10, Screen.width - 20, Screen.height/10), "Measure Session")) { print ("Measure Session clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8) MATBinding.MeasureSession(); #endif } else if (GUI.Button (new Rect (10, 6*Screen.height/10, Screen.width - 20, Screen.height/10), "Measure Action")) { print ("Measure Action clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8) MATBinding.MeasureAction("evt11"); MATBinding.MeasureActionWithRefId("evt12", "ref111"); MATBinding.MeasureActionWithRevenue("evt13", 0.35, "CAD", "ref111"); #endif } else if (GUI.Button (new Rect (10, 7*Screen.height/10, Screen.width - 20, Screen.height/10), "Measure Action With Event Items")) { print ("Measure Action With Event Items clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8) MATItem item1 = new MATItem(); item1.name = "subitem1"; item1.unitPrice = 5; item1.quantity = 5; item1.revenue = 3; item1.attribute2 = "attrValue2"; item1.attribute3 = "attrValue3"; item1.attribute4 = "attrValue4"; item1.attribute5 = "attrValue5"; MATItem item2 = new MATItem(); item2.name = "subitem2"; item2.unitPrice = 1; item2.quantity = 3; item2.revenue = 1.5; item2.attribute1 = "attrValue1"; item2.attribute3 = "attrValue3"; MATItem[] arr = { item1, item2 }; // transaction state may be set to the value received from the iOS/Android app store. //int transactionState = 1; string receiptData = null; string receiptSignature = null; #if UNITY_IPHONE receiptData = getSampleiTunesIAPReceipt(); #endif MATBinding.MeasureActionWithEventItems("event7WithReceipt", arr, arr.Length, "ref222", 10, null, 1, receiptData, receiptSignature); #endif } else if (GUI.Button (new Rect (10, 8*Screen.height/10, Screen.width - 20, Screen.height/10), "Test Setter Methods")) { print ("Test Setter Methods clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8) MATBinding.SetAge(34); MATBinding.SetAllowDuplicates(true); MATBinding.SetAppAdTracking(true); MATBinding.SetDebugMode(true); MATBinding.SetEventAttribute1("test_attribute1"); MATBinding.SetEventAttribute2("test_attribute2"); MATBinding.SetEventAttribute3("test_attribute3"); MATBinding.SetEventAttribute4("test_attribute4"); MATBinding.SetEventAttribute5("test_attribute5"); MATBinding.SetEventContentType("testContentType"); MATBinding.SetEventContentId("testContentId"); MATBinding.SetEventDate1(DateTime.UtcNow); MATBinding.SetEventDate2(DateTime.UtcNow.Add(new TimeSpan((new DateTime(2,1,1)).Ticks))); MATBinding.SetEventLevel(3); MATBinding.SetEventQuantity(2); MATBinding.SetEventRating(4.5f); MATBinding.SetEventSearchString("testSearchString"); MATBinding.SetExistingUser(false); MATBinding.SetFacebookUserId("temp_facebook_user_id"); MATBinding.SetGender(0); MATBinding.SetGoogleUserId("temp_google_user_id"); MATBinding.SetLocation(111,222,333); //MATBinding.SetPackageName(MAT_PACKAGE_NAME); MATBinding.SetPayingUser(true); MATBinding.SetTwitterUserId("twitter_user_id"); MATBinding.SetUserId("temp_user_id"); MATBinding.SetUserName("temp_user_name"); MATBinding.SetUserEmail("*****@*****.**"); //iOS-specific Features #if UNITY_IPHONE MATBinding.SetAppleAdvertisingIdentifier(iPhone.advertisingIdentifier, iPhone.advertisingTrackingEnabled); MATBinding.SetAppleVendorIdentifier("87654321-4321-4321-4321-210987654321"); MATBinding.SetDelegate(true); MATBinding.SetJailbroken(false); MATBinding.SetShouldAutoDetectJailbroken(true); MATBinding.SetShouldAutoGenerateVendorIdentifier(true); MATBinding.SetUseCookieTracking(false); #endif //Android-specific Features #if UNITY_ANDROID MATBinding.SetAndroidId("111111111111"); MATBinding.SetDeviceId("123456789123456"); MATBinding.SetGoogleAdvertisingId("12345678-1234-1234-1234-123456789012", true); MATBinding.SetMacAddress("AA:BB:CC:DD:EE:FF"); //MATBinding.SetPublisherId(""); //MATBinding.SetOfferId(""); MATBinding.SetPublisherReferenceId("publisher_ref_id"); MATBinding.SetPublisherSub1("publisher_sub1"); MATBinding.SetPublisherSub2("publisher_sub2"); MATBinding.SetPublisherSub3("publisher_sub3"); MATBinding.SetPublisherSub4("publisher_sub4"); MATBinding.SetPublisherSub5("publisher_sub5"); MATBinding.SetPublisherSubAd("publisher_sub_ad"); MATBinding.SetPublisherSubAdgroup("publisher_sub_adgroup"); MATBinding.SetPublisherSubCampaign("publisher_sub_campaign"); MATBinding.SetPublisherSubKeyword("publisher_sub_keyword"); MATBinding.SetPublisherSubPublisher("publisher_sub_publisher"); MATBinding.SetPublisherSubSite("publisher_sub_site"); MATBinding.SetAdvertiserSubAd("advertiser_sub_ad"); MATBinding.SetAdvertiserSubAdgroup("advertiser_sub_adgroup"); MATBinding.SetAdvertiserSubCampaign("advertiser_sub_campaign"); MATBinding.SetAdvertiserSubKeyword("advertiser_sub_keyword"); MATBinding.SetAdvertiserSubPublisher("advertiser_sub_publisher"); MATBinding.SetAdvertiserSubSite("advertiser_sub_site"); #endif //Windows Phone 8 Specific Features #if UNITY_WP8 MATBinding.SetAppName("testWP8_AppName"); MATBinding.SetAppVersion("testWP8_AppVersion"); MATBinding.SetDeviceBrand("testWP8_DeviceBrand"); MATBinding.SetDeviceCarrier("testWP8_DeviceCarrier"); MATBinding.SetDeviceModel("testWP8_DeviceModel"); MATBinding.SetDeviceUniqueId("testWP8_DeviceUniqueId"); MATBinding.SetLastOpenLogId("testWP8_LastOpenLogId"); MATBinding.SetOSVersion("testWP8_OS"); #endif //Android and iOS-specific Features #if (UNITY_ANDROID || UNITY_IPHONE) MATBinding.SetCurrencyCode("CAD"); //MATBinding.SetSiteId(MAT_SITE_ID); MATBinding.SetTRUSTeId("1234567890"); #endif #endif } else if (GUI.Button (new Rect (10, 9*Screen.height/10, Screen.width - 20, Screen.height/10), "Test Getter Methods")) { print ("Test Getter Methods clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8) print ("isPayingUser = "******"matId = " + MATBinding.GetMATId()); print ("openLogId = " + MATBinding.GetOpenLogId()); #endif } }
/// <para> /// Measures the action with event items. /// </para> /// <param name="action">Action</param> /// <param name="items">Items</param> /// <param name="eventItemCount">Event item count</param> /// <param name="refId">Reference identifier</param> /// <param name="revenue">Revenue</param> /// <param name="currency">Currency</param> /// <param name="transactionState">Transaction state</param> /// <param name="receipt">Receipt</param> /// <param name="receiptSignature">Receipt signature</param> public static void MeasureActionWithEventItems(string action, MATItem[] items, int eventItemCount, string refId, double revenue, string currency, int transactionState, string receipt, string receiptSignature) { if(!Application.isEditor) { #if (UNITY_ANDROID || UNITY_IPHONE) measureActionWithEventItems(action, items, eventItemCount, refId, revenue, currency, transactionState, receipt, receiptSignature); #endif #if UNITY_WP8 //Convert MATItem[] to MATEventItem[]. These are the same things, but must be converted for recognition of //MobileAppTracker.cs. MATWP8.MATEventItem[] newarr = new MATWP8.MATEventItem[items.Length]; //Conversion is necessary to prevent the need of referencing a separate class. for(int i = 0; i < items.Length; i++) { newarr[i] = new MATWP8.MATEventItem(items[i].name, items[i].quantity, items[i].unitPrice, items[i].revenue, items[i].attribute1, items[i].attribute2, items[i].attribute3, items[i].attribute4, items[i].attribute5); } List<MATWP8.MATEventItem> list = newarr.ToList(); MATWP8.MobileAppTracker.Instance.MeasureAction(action, revenue, currency, refId, list); #endif } }
void OnGUI () { GUIStyle headingLabelStyle = new GUIStyle(); headingLabelStyle.fontStyle = FontStyle.Bold; headingLabelStyle.fontSize = 50; headingLabelStyle.alignment = TextAnchor.MiddleCenter; headingLabelStyle.normal.textColor = Color.white; GUI.Label(new Rect(10, 5, Screen.width - 20, Screen.height/10), "MAT Unity Test App", headingLabelStyle); GUI.skin.button.fontSize = 40; if (GUI.Button (new Rect (10, Screen.height/10, Screen.width - 20, Screen.height/10), "Start MAT")) { print ("Start MAT clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) MATBinding.Init(MAT_ADVERTISER_ID, MAT_CONVERSION_KEY); MATBinding.SetPackageName(MAT_PACKAGE_NAME); MATBinding.SetFacebookEventLogging(true, false); #endif #if (UNITY_ANDROID || UNITY_IPHONE) MATBinding.CheckForDeferredDeeplinkWithTimeout(750); // 750 ms MATBinding.AutomateIapEventMeasurement(true); #endif } else if (GUI.Button (new Rect (10, 2*Screen.height/10, Screen.width - 20, Screen.height/10), "Set Delegate")) { print ("Set Delegate clicked"); #if (UNITY_ANDROID || UNITY_IPHONE) MATBinding.SetDelegate(true); #endif #if UNITY_WP8 MATBinding.SetMATResponse(new SampleWP8MATResponse()); #endif #if UNITY_METRO MATBinding.SetMATResponse(new SampleWinStoreMATResponse()); #endif } else if (GUI.Button (new Rect (10, 3*Screen.height/10, Screen.width - 20, Screen.height/10), "Enable Debug Mode")) { print ("Enable Debug Mode clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) // NOTE: !!! ONLY FOR DEBUG !!! // !!! Make sure you set to false // OR // remove the setDebugMode and setAllowDuplicates calls for Production builds !!! MATBinding.SetDebugMode(true); #endif } else if (GUI.Button (new Rect (10, 4*Screen.height/10, Screen.width - 20, Screen.height/10), "Allow Duplicates")) { print ("Allow Duplicates clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) // NOTE: !!! ONLY FOR DEBUG !!! // !!! Make sure you set to false // OR // remove the setDebugMode and setAllowDuplicates calls for Production builds !!! MATBinding.SetAllowDuplicates(true); #endif } else if (GUI.Button (new Rect (10, 5*Screen.height/10, Screen.width - 20, Screen.height/10), "Measure Session")) { print ("Measure Session clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) MATBinding.MeasureSession(); #endif } else if (GUI.Button (new Rect (10, 6*Screen.height/10, Screen.width - 20, Screen.height/10), "Measure Event")) { print ("Measure Event clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) MATBinding.MeasureEvent("evt11"); #endif } else if (GUI.Button (new Rect (10, 7*Screen.height/10, Screen.width - 20, Screen.height/10), "Measure Event With Event Items")) { print ("Measure Event With Event Items clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) MATItem item1 = new MATItem(); item1.name = "subitem1"; item1.unitPrice = 5; item1.quantity = 5; item1.revenue = 3; item1.attribute2 = "attrValue2"; item1.attribute3 = "attrValue3"; item1.attribute4 = "attrValue4"; item1.attribute5 = "attrValue5"; MATItem item2 = new MATItem(); item2.name = "subitem2"; item2.unitPrice = 1; item2.quantity = 3; item2.revenue = 1.5; item2.attribute1 = "attrValue1"; item2.attribute3 = "attrValue3"; MATItem[] eventItems = { item1, item2 }; MATEvent matEvent = new MATEvent("purchase"); matEvent.revenue = 10; matEvent.currencyCode = "AUD"; matEvent.advertiserRefId = "ref222"; matEvent.attribute1 = "test_attribute1"; matEvent.attribute2 = "test_attribute2"; matEvent.attribute3 = "test_attribute3"; matEvent.attribute4 = "test_attribute4"; matEvent.attribute5 = "test_attribute5"; matEvent.contentType = "test_contentType"; matEvent.contentId = "test_contentId"; matEvent.date1 = DateTime.UtcNow; matEvent.date2 = DateTime.UtcNow.Add(new TimeSpan((new DateTime(2,1,1)).Ticks)); matEvent.level = 3; matEvent.quantity = 2; matEvent.rating = 4.5; matEvent.searchString = "test_searchString"; matEvent.eventItems = eventItems; // transaction state may be set to the value received from the iOS/Android app store. matEvent.transactionState = 1; #if UNITY_IPHONE matEvent.receipt = getSampleiTunesIAPReceipt(); #endif MATBinding.MeasureEvent(matEvent); #endif } else if (GUI.Button (new Rect (10, 8*Screen.height/10, Screen.width - 20, Screen.height/10), "Test Setter Methods")) { print ("Test Setter Methods clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) MATBinding.SetAge(34); MATBinding.SetAllowDuplicates(true); MATBinding.SetAppAdTracking(true); MATBinding.SetDebugMode(true); MATBinding.SetExistingUser(false); MATBinding.SetFacebookUserId("temp_facebook_user_id"); MATBinding.SetGender(0); MATBinding.SetGoogleUserId("temp_google_user_id"); MATBinding.SetLocation(111,222,333); //MATBinding.SetPackageName(MAT_PACKAGE_NAME); MATBinding.SetPayingUser(true); MATBinding.SetPhoneNumber("111-222-3456"); MATBinding.SetTwitterUserId("twitter_user_id"); MATBinding.SetUserId("temp_user_id"); MATBinding.SetUserName("temp_user_name"); MATBinding.SetUserEmail("*****@*****.**"); //iOS-specific Features #if UNITY_IPHONE #if UNITY_5_0 MATBinding.SetAppleAdvertisingIdentifier(UnityEngine.iOS.Device.advertisingIdentifier, UnityEngine.iOS.Device.advertisingTrackingEnabled); #else MATBinding.SetAppleAdvertisingIdentifier(UnityEngine.iPhone.advertisingIdentifier, UnityEngine.iPhone.advertisingTrackingEnabled); #endif MATBinding.SetAppleVendorIdentifier(UnityEngine.iPhone.vendorIdentifier); MATBinding.SetDelegate(true); MATBinding.SetJailbroken(false); MATBinding.SetShouldAutoDetectJailbroken(true); MATBinding.SetShouldAutoGenerateVendorIdentifier(true); MATBinding.SetUseCookieTracking(false); #endif //Android-specific Features #if UNITY_ANDROID MATBinding.SetAndroidId("111111111111"); MATBinding.SetDeviceId("123456789123456"); MATBinding.SetGoogleAdvertisingId("12345678-1234-1234-1234-123456789012", true); MATBinding.SetMacAddress("AA:BB:CC:DD:EE:FF"); #endif //Windows Phone 8 Specific Features #if UNITY_WP8 MATBinding.SetAppName("testWP8_AppName"); MATBinding.SetAppVersion("testWP8_AppVersion"); MATBinding.SetLastOpenLogId("testWP8_LastOpenLogId"); MATBinding.SetOSVersion("testWP8_OS"); #endif //Android and iOS-specific Features #if (UNITY_ANDROID || UNITY_IPHONE) MATBinding.SetCurrencyCode("CAD"); MATBinding.SetTRUSTeId("1234567890"); MATPreloadData pd = new MATPreloadData("1122334455"); pd.advertiserSubAd = "some_adv_sub_ad_id"; pd.publisherSub3 = "some_pub_sub3"; MATBinding.SetPreloadedApp(pd); #endif #endif } else if (GUI.Button (new Rect (10, 9*Screen.height/10, Screen.width - 20, Screen.height/10), "Test Getter Methods")) { print ("Test Getter Methods clicked"); #if (UNITY_ANDROID || UNITY_IPHONE || UNITY_WP8 || UNITY_METRO) print ("isPayingUser = "******"matId = " + MATBinding.GetMATId()); print ("openLogId = " + MATBinding.GetOpenLogId()); #endif } }