public DFP_AdPlugin_iOS(AdDesc desc, AdCreatedCallbackMethod createdCallback) { #if !IOS_DISABLE_GOOGLE_ADS bool pass = true; try { eventCallback = desc.EventCallback; native = DFP_InitAd(desc.Testing); int gravity = convertGravity(desc.iOS_DFP_AdGravity); DFP_CreateAd(native, gravity, convertAdSize(desc.iOS_DFP_AdSize), desc.iOS_DFP_UnitID); Visible = desc.Visible; } catch (Exception e) { Debug.LogError(e.Message); pass = false; } if (createdCallback != null) { createdCallback(pass); } #endif }
/// <summary> /// Dumy constructor. /// </summary> /// <param name="desc"></param> /// <param name="createdCallback"></param> public Dumy_AdPlugin(AdDesc desc, AdCreatedCallbackMethod createdCallback) { Visible = desc.Visible; if (createdCallback != null) { createdCallback(true); } }
public iAd_AdPlugin_iOS(AdDesc desc, AdCreatedCallbackMethod createdCallback) { eventCallback = desc.EventCallback; native = iAd_InitAd(desc.Testing); int gravity = convertGravity(desc.iOS_iAd_AdGravity); iAd_CreateAd(native, gravity); Visible = desc.Visible; if (createdCallback != null) createdCallback(true); }
public iAd_AdPlugin_iOS(AdDesc desc, AdCreatedCallbackMethod createdCallback) { eventCallback = desc.EventCallback; native = iAd_InitAd(desc.Testing); int gravity = convertGravity(desc.iOS_iAd_AdGravity); iAd_CreateAd(native, gravity); Visible = desc.Visible; if (createdCallback != null) { createdCallback(true); } }
public AdPlugin(AdDesc desc, AdCreatedCallbackMethod createdCallback) { bool pass = true; try { this.desc = desc; if (!desc.UseClassicGUI) { // Create Ad Canvas adCanvas = new GameObject("Editor Ad"); GameObject.DontDestroyOnLoad(adCanvas); adCanvas.AddComponent <RectTransform>(); var canvas = adCanvas.AddComponent <Canvas>(); canvas.renderMode = RenderMode.ScreenSpaceOverlay; canvas.sortingOrder = desc.UnityUI_SortIndex; adCanvas.AddComponent <CanvasScaler>(); adCanvas.AddComponent <GraphicRaycaster>(); // Create ad var ad = new GameObject("AdButtonImage"); ad.transform.parent = adCanvas.transform; adRect = ad.AddComponent <RectTransform>(); adImage = ad.AddComponent <Image>(); adImage.sprite = Resources.Load <Sprite>("Reign/Ads/DemoAd"); adImage.preserveAspect = true; var button = ad.AddComponent <Button>(); button.onClick.AddListener(adClicked); } // set default visible state and gravity Visible = desc.Visible; SetGravity(desc.Editor_AdGravity); // set screen size changed callback ReignServices.ScreenSizeChangedCallback += ReignServices_ScreenSizeChangedCallback; } catch (Exception e) { Debug.LogError(e.Message); pass = false; } if (createdCallback != null) { createdCallback(pass); } }
public DFP_AdPlugin_Android(AdDesc desc, AdCreatedCallbackMethod createdCallback) { this.createdCallback = createdCallback; try { eventCallback = desc.EventCallback; native = new AndroidJavaClass("com.reignstudios.reignnative.DFP_AdsNative"); visible = desc.Visible; id = Guid.NewGuid().ToString(); native.CallStatic("CreateAd", desc.Android_DFP_UnitID, desc.Testing, desc.Visible, convertGravity(desc.Android_DFP_AdGravity), convertAdSize(desc.Android_DFP_AdSize), id); } catch (Exception e) { Debug.LogError(e.Message); if (createdCallback != null) createdCallback(false); } }
public AdPlugin(AdDesc desc, AdCreatedCallbackMethod createdCallback) { bool pass = true; try { this.desc = desc; if (!desc.UseClassicGUI) { // Create Ad Canvas adCanvas = new GameObject("Editor Ad"); GameObject.DontDestroyOnLoad(adCanvas); adCanvas.AddComponent<RectTransform>(); var canvas = adCanvas.AddComponent<Canvas>(); canvas.renderMode = RenderMode.ScreenSpaceOverlay; canvas.sortingOrder = desc.UnityUI_SortIndex; adCanvas.AddComponent<CanvasScaler>(); adCanvas.AddComponent<GraphicRaycaster>(); // Create ad var ad = new GameObject("AdButtonImage"); ad.transform.parent = adCanvas.transform; adRect = ad.AddComponent<RectTransform>(); adImage = ad.AddComponent<Image>(); adImage.sprite = Resources.Load<Sprite>("Reign/Ads/DemoAd"); adImage.preserveAspect = (desc.Editor_FixedWidthOverride <= 0 || desc.Editor_FixedHeightOverride <= 0); var button = ad.AddComponent<Button>(); button.onClick.AddListener(adClicked); } // set default visible state and gravity Visible = desc.Visible; SetGravity(desc.Editor_AdGravity); // set screen size changed callback ReignServices.ScreenSizeChangedCallback += ReignServices_ScreenSizeChangedCallback; } catch (Exception e) { Debug.LogError(e.Message); pass = false; } if (createdCallback != null) createdCallback(pass); }
public Amazon_AdPlugin_Android(AdDesc desc, AdCreatedCallbackMethod createdCallback) { this.createdCallback = createdCallback; try { eventCallback = desc.EventCallback; native = new AndroidJavaClass("com.reignstudios.reignnative.Amazon_AdsNative"); visible = desc.Visible; id = Guid.NewGuid().ToString(); native.CallStatic("CreateAd", desc.Android_AmazonAds_ApplicationKey, desc.Testing, desc.Visible, convertGravity(desc.Android_AmazonAds_AdGravity), convertAdSize(desc.Android_AmazonAds_AdSize), desc.Android_AmazonAds_RefreshRate, id); } catch (Exception e) { Debug.LogError(e.Message); if (createdCallback != null) { createdCallback(false); } } }
public AdMob_AdPlugin_iOS(AdDesc desc, AdCreatedCallbackMethod createdCallback) { bool pass = true; try { eventCallback = desc.EventCallback; native = AdMob_InitAd(desc.Testing); int gravity = convertGravity(desc.iOS_AdMob_AdGravity); AdMob_CreateAd(native, gravity, convertAdSize(desc.iOS_AdMob_AdSize), desc.iOS_AdMob_UnitID); Visible = desc.Visible; } catch (Exception e) { Debug.LogError(e.Message); pass = false; } if (createdCallback != null) createdCallback(pass); }
public AdMob_AdPlugin_Native(AdDesc desc, AdCreatedCallbackMethod createdCallback) { eventCallback = desc.EventCallback; testing = desc.Testing; WinRTPlugin.Dispatcher.BeginInvoke(delegate() { bool pass = true; try { adView = new AdView(); setGravity(desc.WP8_AdMob_AdGravity); adView.AdUnitID = desc.WP8_AdMob_UnitID; adView.Format = desc.WP8_AdMob_AdSize == WP8_AdMob_AdSize.Banner ? AdFormats.Banner : AdFormats.SmartBanner; setVisible(desc.Visible); adView.ReceivedAd += adView_ReceivedAd; adView.FailedToReceiveAd += adView_FailedToReceiveAd; WinRTPlugin.AdGrid.Children.Add(adView); AdRequest request = new AdRequest(); //request.ForceTesting = desc.Testing;// Looks like there is a bug in AdMob if this is enabled. adView.LoadAd(request); Debug.Log("Created Ad of AdUnitID: " + adView.AdUnitID); } catch (Exception e) { pass = false; Debug.LogError(e.Message); } if (createdCallback != null) { createdCallback(pass); } }); }
public DFP_AdPlugin_iOS(AdDesc desc, AdCreatedCallbackMethod createdCallback) { #if !IOS_DISABLE_GOOGLE_ADS bool pass = true; try { eventCallback = desc.EventCallback; native = DFP_InitAd(desc.Testing); int gravity = convertGravity(desc.iOS_DFP_AdGravity); DFP_CreateAd(native, gravity, convertAdSize(desc.iOS_DFP_AdSize), desc.iOS_DFP_UnitID); Visible = desc.Visible; } catch (Exception e) { Debug.LogError(e.Message); pass = false; } if (createdCallback != null) createdCallback(pass); #endif }
public AdMob_AdPlugin_Native(AdDesc desc, AdCreatedCallbackMethod createdCallback) { eventCallback = desc.EventCallback; testing = desc.Testing; WinRTPlugin.Dispatcher.BeginInvoke(delegate() { bool pass = true; try { adView = new AdView(); setGravity(desc.WP8_AdMob_AdGravity); adView.AdUnitID = desc.WP8_AdMob_UnitID; adView.Format = desc.WP8_AdMob_AdSize == WP8_AdMob_AdSize.Banner ? AdFormats.Banner : AdFormats.SmartBanner; setVisible(desc.Visible); adView.ReceivedAd += adView_ReceivedAd; adView.FailedToReceiveAd += adView_FailedToReceiveAd; WinRTPlugin.AdGrid.Children.Add(adView); AdRequest request = new AdRequest(); //request.ForceTesting = desc.Testing;// Looks like there is a bug in AdMob if this is enabled. adView.LoadAd(request); Debug.Log("Created Ad of AdUnitID: " + adView.AdUnitID); } catch (Exception e) { pass = false; Debug.LogError(e.Message); } if (createdCallback != null) createdCallback(pass); }); }
public AdMob_AdPlugin_iOS(AdDesc desc, AdCreatedCallbackMethod createdCallback) { bool pass = true; try { eventCallback = desc.EventCallback; native = AdMob_InitAd(desc.Testing); int gravity = convertGravity(desc.iOS_AdMob_AdGravity); AdMob_CreateAd(native, gravity, convertAdSize(desc.iOS_AdMob_AdSize), desc.iOS_AdMob_UnitID); Visible = desc.Visible; } catch (Exception e) { Debug.LogError(e.Message); pass = false; } if (createdCallback != null) { createdCallback(pass); } }
public MicrosoftAdvertising_AdPlugin_Native(AdDesc desc, AdCreatedCallbackMethod createdCallback) { init(desc, createdCallback); }
private void init(AdDesc desc, AdCreatedCallbackMethod createdCallback)
/// <summary> /// Used by the Reign plugin. /// </summary> /// <param name="desc">The Ad desc.</param> /// <param name="callback">The callback fired when done.</param> /// <returns>Returns Ad interface</returns> public static IAdPlugin New(AdDesc desc, AdCreatedCallbackMethod callback) { #if DISABLE_REIGN return new Dumy_AdPlugin(desc, callback); #elif UNITY_EDITOR if (desc.Editor_AdAPI == AdAPIs.None) return new Dumy_AdPlugin(desc, callback); else if (desc.Editor_AdAPI == AdAPIs.EditorTestAd) return new AdPlugin(desc, callback); else if (desc.Editor_AdAPI == AdAPIs.MillennialMediaAdvertising) return new MM_AdPlugin(desc, callback, ReignServices.Singleton); else throw new Exception("Unsuported Editor_AdAPI: " + desc.Editor_AdAPI); #elif UNITY_WP8 if (desc.WP8_AdAPI == AdAPIs.None) return new Dumy_AdPlugin(desc, callback); else if (desc.WP8_AdAPI == AdAPIs.MicrosoftAdvertising) return new MicrosoftAdvertising_AdPlugin_WinRT(desc, callback); else if (desc.WP8_AdAPI == AdAPIs.AdMob) return new AdMob_AdPlugin_WP8(desc, callback); else if (desc.WP8_AdAPI == AdAPIs.MillennialMediaAdvertising) return new MM_AdPlugin(desc, callback, ReignServices.Singleton); else throw new Exception("Unsuported WP8_AdAPI: " + desc.WP8_AdAPI); #elif UNITY_METRO if (desc.WinRT_AdAPI == AdAPIs.None) return new Dumy_AdPlugin(desc, callback); else if (desc.WinRT_AdAPI == AdAPIs.MicrosoftAdvertising) return new MicrosoftAdvertising_AdPlugin_WinRT(desc, callback); else if (desc.WinRT_AdAPI == AdAPIs.MillennialMediaAdvertising) return new MM_AdPlugin(desc, callback, ReignServices.Singleton); else if (desc.WinRT_AdAPI == AdAPIs.AdDuplex) return new AdDuplex_AdPlugin_WinRT(desc, callback); else throw new Exception("Unsuported WinRT_AdAPI: " + desc.WinRT_AdAPI); #elif UNITY_BLACKBERRY if (desc.BB10_AdAPI == AdAPIs.None) return new Dumy_AdPlugin(desc, callback); else if (desc.BB10_AdAPI == AdAPIs.MillennialMediaAdvertising) return new MM_AdPlugin(desc, callback, ReignServices.Singleton); else throw new Exception("Unsuported BB10_AdAPI: " + desc.BB10_AdAPI); #elif UNITY_IOS if (desc.iOS_AdAPI == AdAPIs.None) return new Dumy_AdPlugin(desc, callback); else if (desc.iOS_AdAPI == AdAPIs.iAd) return new iAd_AdPlugin_iOS(desc, callback); else if (desc.iOS_AdAPI == AdAPIs.AdMob) return new AdMob_AdPlugin_iOS(desc, callback); else if (desc.iOS_AdAPI == AdAPIs.DFP) return new DFP_AdPlugin_iOS(desc, callback); else if (desc.iOS_AdAPI == AdAPIs.MillennialMediaAdvertising) return new MM_AdPlugin(desc, callback, ReignServices.Singleton); else throw new Exception("Unsuported iOS_AdAPI: " + desc.iOS_AdAPI); #elif UNITY_ANDROID if (desc.Android_AdAPI == AdAPIs.None) return new Dumy_AdPlugin(desc, callback); else if (desc.Android_AdAPI == AdAPIs.AdMob) return new AdMob_AdPlugin_Android(desc, callback); else if (desc.Android_AdAPI == AdAPIs.DFP) return new DFP_AdPlugin_Android(desc, callback); else if (desc.Android_AdAPI == AdAPIs.Amazon) return new Amazon_AdPlugin_Android(desc, callback); else if (desc.Android_AdAPI == AdAPIs.MillennialMediaAdvertising) return new MM_AdPlugin(desc, callback, ReignServices.Singleton); else throw new Exception("Unsuported Android_AdAPI: " + desc.Android_AdAPI); #elif UNITY_STANDALONE_WIN if (desc.Win32_AdAPI == AdAPIs.None) return new Dumy_AdPlugin(desc, callback); else if (desc.Win32_AdAPI == AdAPIs.MillennialMediaAdvertising) return new MM_AdPlugin(desc, callback, ReignServices.Singleton); else throw new Exception("Unsuported Win32_AdAPI: " + desc.Win32_AdAPI); #elif UNITY_STANDALONE_OSX if (desc.OSX_AdAPI == AdAPIs.None) return new Dumy_AdPlugin(desc, callback); else if (desc.OSX_AdAPI == AdAPIs.MillennialMediaAdvertising) return new MM_AdPlugin(desc, callback, ReignServices.Singleton); else throw new Exception("Unsuported OSX_AdAPI: " + desc.OSX_AdAPI); #elif UNITY_STANDALONE_LINUX if (desc.Linux_AdAPI == AdAPIs.None) return new Dumy_AdPlugin(desc, callback); else if (desc.Linux_AdAPI == AdAPIs.MillennialMediaAdvertising) return new MM_AdPlugin(desc, callback, ReignServices.Singleton); else throw new Exception("Unsuported Linux_AdAPI: " + desc.Linux_AdAPI); #else return new Dumy_AdPlugin(desc, callback); #endif }
public MicrosoftAdvertising_AdPlugin_WinRT(AdDesc desc, AdCreatedCallbackMethod createdCallback) { InitNative(this, desc, createdCallback); }
/// <summary> /// Used by the Reign plugin. /// </summary> /// <param name="desc">The Ad desc.</param> /// <param name="callback">The callback fired when done.</param> /// <returns>Returns Ad interface</returns> public static IAdPlugin New(AdDesc desc, AdCreatedCallbackMethod callback) { #if DISABLE_REIGN return(new Dumy_AdPlugin(desc, callback)); #elif UNITY_EDITOR if (desc.Editor_AdAPI == AdAPIs.None) { return(new Dumy_AdPlugin(desc, callback)); } else if (desc.Editor_AdAPI == AdAPIs.EditorTestAd) { return(new AdPlugin(desc, callback)); } else if (desc.Editor_AdAPI == AdAPIs.MillennialMediaAdvertising) { return(new MM_AdPlugin(desc, callback, ReignServices.Singleton)); } else { throw new Exception("Unsuported Editor_AdAPI: " + desc.Editor_AdAPI); } #elif UNITY_WP8 if (desc.WP8_AdAPI == AdAPIs.None) { return(new Dumy_AdPlugin(desc, callback)); } else if (desc.WP8_AdAPI == AdAPIs.MicrosoftAdvertising) { return(new MicrosoftAdvertising_AdPlugin_WinRT(desc, callback)); } else if (desc.WP8_AdAPI == AdAPIs.AdMob) { return(new AdMob_AdPlugin_WP8(desc, callback)); } else if (desc.WP8_AdAPI == AdAPIs.MillennialMediaAdvertising) { return(new MM_AdPlugin(desc, callback, ReignServices.Singleton)); } else { throw new Exception("Unsuported WP8_AdAPI: " + desc.WP8_AdAPI); } #elif UNITY_METRO if (desc.WinRT_AdAPI == AdAPIs.None) { return(new Dumy_AdPlugin(desc, callback)); } else if (desc.WinRT_AdAPI == AdAPIs.MicrosoftAdvertising) { return(new MicrosoftAdvertising_AdPlugin_WinRT(desc, callback)); } else if (desc.WinRT_AdAPI == AdAPIs.MillennialMediaAdvertising) { return(new MM_AdPlugin(desc, callback, ReignServices.Singleton)); } else { throw new Exception("Unsuported WinRT_AdAPI: " + desc.WinRT_AdAPI); } #elif UNITY_BLACKBERRY if (desc.BB10_AdAPI == AdAPIs.None) { return(new Dumy_AdPlugin(desc, callback)); } else if (desc.BB10_AdAPI == AdAPIs.MillennialMediaAdvertising) { return(new MM_AdPlugin(desc, callback, ReignServices.Singleton)); } else { throw new Exception("Unsuported BB10_AdAPI: " + desc.BB10_AdAPI); } #elif UNITY_IOS if (desc.iOS_AdAPI == AdAPIs.None) { return(new Dumy_AdPlugin(desc, callback)); } else if (desc.iOS_AdAPI == AdAPIs.iAd) { return(new iAd_AdPlugin_iOS(desc, callback)); } else if (desc.iOS_AdAPI == AdAPIs.AdMob) { return(new AdMob_AdPlugin_iOS(desc, callback)); } else if (desc.iOS_AdAPI == AdAPIs.DFP) { return(new DFP_AdPlugin_iOS(desc, callback)); } else if (desc.iOS_AdAPI == AdAPIs.MillennialMediaAdvertising) { return(new MM_AdPlugin(desc, callback, ReignServices.Singleton)); } else { throw new Exception("Unsuported iOS_AdAPI: " + desc.iOS_AdAPI); } #elif UNITY_ANDROID if (desc.Android_AdAPI == AdAPIs.None) { return(new Dumy_AdPlugin(desc, callback)); } else if (desc.Android_AdAPI == AdAPIs.AdMob) { return(new AdMob_AdPlugin_Android(desc, callback)); } else if (desc.Android_AdAPI == AdAPIs.DFP) { return(new DFP_AdPlugin_Android(desc, callback)); } else if (desc.Android_AdAPI == AdAPIs.Amazon) { return(new Amazon_AdPlugin_Android(desc, callback)); } else if (desc.Android_AdAPI == AdAPIs.MillennialMediaAdvertising) { return(new MM_AdPlugin(desc, callback, ReignServices.Singleton)); } else { throw new Exception("Unsuported Android_AdAPI: " + desc.Android_AdAPI); } #elif UNITY_STANDALONE_WIN if (desc.Win32_AdAPI == AdAPIs.None) { return(new Dumy_AdPlugin(desc, callback)); } else if (desc.Win32_AdAPI == AdAPIs.MillennialMediaAdvertising) { return(new MM_AdPlugin(desc, callback, ReignServices.Singleton)); } else { throw new Exception("Unsuported Win32_AdAPI: " + desc.Win32_AdAPI); } #elif UNITY_STANDALONE_OSX if (desc.OSX_AdAPI == AdAPIs.None) { return(new Dumy_AdPlugin(desc, callback)); } else if (desc.OSX_AdAPI == AdAPIs.MillennialMediaAdvertising) { return(new MM_AdPlugin(desc, callback, ReignServices.Singleton)); } else { throw new Exception("Unsuported OSX_AdAPI: " + desc.OSX_AdAPI); } #elif UNITY_STANDALONE_LINUX if (desc.Linux_AdAPI == AdAPIs.None) { return(new Dumy_AdPlugin(desc, callback)); } else if (desc.Linux_AdAPI == AdAPIs.MillennialMediaAdvertising) { return(new MM_AdPlugin(desc, callback, ReignServices.Singleton)); } else { throw new Exception("Unsuported Linux_AdAPI: " + desc.Linux_AdAPI); } #else return(new Dumy_AdPlugin(desc, callback)); #endif }
public AdDuplex_AdPlugin_Native(AdDesc desc, AdCreatedCallbackMethod createdCallback) { init(desc, createdCallback); }
public MM_AdPlugin(AdDesc desc, AdCreatedCallbackMethod createdCallback, MonoBehaviour service) { this.service = service; try { this.desc = desc; testing = desc.Testing; adEvent = desc.EventCallback; gravity = AdGravity.CenterScreen; #if !DISABLE_REIGN #if UNITY_EDITOR refreshRate = desc.Editor_MillennialMediaAdvertising_RefreshRate; apid = desc.Editor_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.Editor_MillennialMediaAdvertising_AdGravity; uiScale = desc.Editor_AdScale; #elif UNITY_BLACKBERRY refreshRate = desc.BB10_MillennialMediaAdvertising_RefreshRate; apid = desc.BB10_MillennialMediaAdvertising_APID; IntPtr handle = IntPtr.Zero; if (Common.deviceinfo_get_details(ref handle) != 0) { throw new Exception("Failed: deviceinfo_get_details"); } string deviceType = Common.deviceinfo_details_get_keyboard(handle) == 0 ? "Touch" : "Kbd"; Common.deviceinfo_free_details(ref handle); string osVersion = System.Text.RegularExpressions.Regex.Match(SystemInfo.operatingSystem, @"\d*\.\d*\.\d*\.\d*").Groups[0].Value; userAgent = WWW.EscapeURL("Mozilla/5.0 (BB10; " + deviceType + ") AppleWebKit/537.10+ (KHTML, like Gecko) Version/" + osVersion + " Mobile Safari/537.10+"); gravity = desc.BB10_MillennialMediaAdvertising_AdGravity; uiScale = desc.BB10_AdScale; #elif UNITY_WP8 refreshRate = desc.WP8_MillennialMediaAdvertising_RefreshRate; apid = desc.WP8_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.WP8_MillennialMediaAdvertising_AdGravity; uiScale = desc.WP8_AdScale; #elif UNITY_METRO refreshRate = desc.WinRT_MillennialMediaAdvertising_RefreshRate; apid = desc.WinRT_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.WinRT_MillennialMediaAdvertising_AdGravity; uiScale = desc.WinRT_AdScale; #elif UNITY_IOS refreshRate = desc.iOS_MillennialMediaAdvertising_RefreshRate; apid = desc.iOS_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.iOS_MillennialMediaAdvertising_AdGravity; uiScale = desc.iOS_AdScale; #elif UNITY_ANDROID refreshRate = desc.Android_MillennialMediaAdvertising_RefreshRate; apid = desc.Android_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.Android_MillennialMediaAdvertising_AdGravity; uiScale = desc.Android_AdScale; #elif UNITY_STANDALONE_WIN refreshRate = desc.Win32_MillennialMediaAdvertising_RefreshRate; apid = desc.Win32_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.Win32_MillennialMediaAdvertising_AdGravity; uiScale = desc.Win32_AdScale; #elif UNITY_STANDALONE_OSX refreshRate = desc.OSX_MillennialMediaAdvertising_RefreshRate; apid = desc.OSX_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.OSX_MillennialMediaAdvertising_AdGravity; uiScale = desc.OSX_AdScale; #elif UNITY_STANDALONE_LINUX refreshRate = desc.Linux_MillennialMediaAdvertising_RefreshRate; apid = desc.Linux_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.Linux_MillennialMediaAdvertising_AdGravity; uiScale = desc.Linux_AdScale; #endif #endif // make sure ad refresh rate doesn't go under 1 min if (refreshRate < 60) { refreshRate = 60; } // create or get device ID if (PlayerPrefs.HasKey("Reign_MMWebAds_DeviceID")) { deviceID = PlayerPrefs.GetString("Reign_MMWebAds_DeviceID"); } else { #if UNITY_EDITOR || UNITY_STANDALONE var hash = new SHA1CryptoServiceProvider().ComputeHash(Guid.NewGuid().ToByteArray()); deviceID = BitConverter.ToString(hash).ToLower(); #else deviceID = Guid.NewGuid().ToString().Replace("-", "0").ToLower() + "0000"; #endif PlayerPrefs.SetString("Reign_MMWebAds_DeviceID", deviceID); } if (desc.UseClassicGUI) { guiSytle = new GUIStyle() { stretchWidth = true, stretchHeight = true }; } else { // Create Ad Canvas adCanvas = new GameObject("MM Ad"); GameObject.DontDestroyOnLoad(adCanvas); adCanvas.AddComponent <RectTransform>(); var canvas = adCanvas.AddComponent <Canvas>(); canvas.renderMode = RenderMode.ScreenSpaceOverlay; canvas.sortingOrder = 1000; adCanvas.AddComponent <CanvasScaler>(); adCanvas.AddComponent <GraphicRaycaster>(); // Create ad var ad = new GameObject("AdButtonImage"); ad.transform.parent = adCanvas.transform; adRect = ad.AddComponent <RectTransform>(); adImage = ad.AddComponent <Image>(); adImage.sprite = Resources.Load <Sprite>("Reign/Ads/AdLoading"); adImage.preserveAspect = true; var button = ad.AddComponent <Button>(); button.onClick.AddListener(adClicked); } // set default visible state Visible = desc.Visible; SetGravity(gravity); // load ad service.StartCoroutine(init(createdCallback)); // set screen size changed callback ReignServices.ScreenSizeChangedCallback += ReignServices_ScreenSizeChangedCallback; } catch (Exception e) { Debug.LogError(e.Message); if (createdCallback != null) { createdCallback(false); } } }
private async void init(AdDesc desc, AdCreatedCallbackMethod createdCallback) #endif { if (WinRTPlugin.AdGrid == null) { if (createdCallback != null) { createdCallback(false); } return; } #if WINDOWS_PHONE WinRTPlugin.Dispatcher.BeginInvoke(delegate() #else await WinRTPlugin.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, delegate() #endif { bool pass = true; try { adControl = new AdControl(); #if WINDOWS_PHONE || UNITY_WP_8_1 adControl.IsAutoRefreshEnabled = desc.WP8_MicrosoftAdvertising_UseBuiltInRefresh; if (!desc.WP8_MicrosoftAdvertising_UseBuiltInRefresh) { manualRefreshTimer = new DispatcherTimer(); manualRefreshTimer.Interval = TimeSpan.FromSeconds(desc.WP8_MicrosoftAdvertising_RefreshRate); manualRefreshTimer.Tick += timer_Tick; manualRefreshTimer.Start(); } adControl.IsEngagedChanged += adControl_IsEngagedChanged; adControl.AdRefreshed += adControl_AdRefreshed; #else adControl.IsAutoRefreshEnabled = desc.WinRT_MicrosoftAdvertising_UseBuiltInRefresh; if (!desc.WinRT_MicrosoftAdvertising_UseBuiltInRefresh) { manualRefreshTimer = new DispatcherTimer(); manualRefreshTimer.Interval = TimeSpan.FromSeconds(desc.WinRT_MicrosoftAdvertising_RefreshRate); manualRefreshTimer.Tick += timer_Tick; manualRefreshTimer.Start(); } adControl.IsEngagedChanged += adControl_IsEngagedChanged; adControl.AdRefreshed += adControl_AdRefreshed; #endif adControl.ErrorOccurred += adControl_ErrorOccurred; #if WINDOWS_PHONE adControl.SetValue(System.Windows.Controls.Canvas.ZIndexProperty, 98); #else adControl.SetValue(Windows.UI.Xaml.Controls.Canvas.ZIndexProperty, 98); #endif #if WINDOWS_PHONE || UNITY_WP_8_1 adControl.ApplicationId = desc.Testing ? "test_client" : desc.WP8_MicrosoftAdvertising_ApplicationID; adControl.AdUnitId = desc.WP8_MicrosoftAdvertising_UnitID; switch (desc.WP8_MicrosoftAdvertising_AdSize) { case WP8_MicrosoftAdvertising_AdSize.Wide_640x100: adControl.Width = 640; adControl.Height = 100; if (desc.Testing) { adControl.AdUnitId = "Image640_100"; } break; case WP8_MicrosoftAdvertising_AdSize.Wide_480x80: adControl.Width = 480; adControl.Height = 80; if (desc.Testing) { adControl.AdUnitId = "Image480_80"; } break; case WP8_MicrosoftAdvertising_AdSize.Wide_320x50: adControl.Width = 320; adControl.Height = 50; if (desc.Testing) { adControl.AdUnitId = "Image320_50"; } break; case WP8_MicrosoftAdvertising_AdSize.Wide_300x50: adControl.Width = 300; adControl.Height = 50; if (desc.Testing) { adControl.AdUnitId = "Image300_50"; } break; default: Debug.LogError("AdPlugin: Unsuported Ad size"); break; } #elif UNITY_METRO adControl.ApplicationId = desc.Testing ? "d25517cb-12d4-4699-8bdc-52040c712cab" : desc.WinRT_MicrosoftAdvertising_ApplicationID; adControl.AdUnitId = desc.WinRT_MicrosoftAdvertising_UnitID; switch (desc.WinRT_MicrosoftAdvertising_AdSize) { case WinRT_MicrosoftAdvertising_AdSize.Tall_160x600: adControl.Width = 160; adControl.Height = 600; if (desc.Testing) { adControl.AdUnitId = "10043134"; } break; case WinRT_MicrosoftAdvertising_AdSize.Tall_300x600: adControl.Width = 300; adControl.Height = 600; if (desc.Testing) { adControl.AdUnitId = "10043030"; } break; case WinRT_MicrosoftAdvertising_AdSize.Wide_300x250: adControl.Width = 300; adControl.Height = 250; if (desc.Testing) { adControl.AdUnitId = "10043008"; } break; case WinRT_MicrosoftAdvertising_AdSize.Wide_728x90: adControl.Width = 728; adControl.Height = 90; if (desc.Testing) { adControl.AdUnitId = "10042998"; } break; case WinRT_MicrosoftAdvertising_AdSize.Square_250x250: adControl.Width = 250; adControl.Height = 250; if (desc.Testing) { adControl.AdUnitId = "10043105"; } break; default: Debug.LogError("AdPlugin: Unsuported Ad size"); break; } #endif #if WINDOWS_PHONE || UNITY_WP_8_1 setGravity(desc.WP8_MicrosoftAdvertising_AdGravity); #else setGravity(desc.WinRT_MicrosoftAdvertising_AdGravity); #endif eventCallback = desc.EventCallback; WinRTPlugin.AdGrid.Children.Add(adControl); setVisible(desc.Visible); Debug.Log("Created Ad of ApplicationID: " + adControl.ApplicationId + " AdUnitID" + adControl.AdUnitId); } catch (Exception e) { adControl = null; Debug.LogError(e.Message); } ReignServices.InvokeOnUnityThread(delegate { if (createdCallback != null) { createdCallback(pass); } }); }); }
public AdDuplex_AdPlugin_WinRT(AdDesc desc, AdCreatedCallbackMethod createdCallback) { InitNative(this, desc, createdCallback); }
private async void init(AdDesc desc, AdCreatedCallbackMethod createdCallback) { if (WinRTPlugin.AdGrid == null) { if (createdCallback != null) createdCallback(false); return; } await WinRTPlugin.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, delegate() { bool pass = true; try { adControl = new AdControl(); adControl.AdClick += adControl_Clicked; adControl.AdLoaded += adControl_AdRefreshed; adControl.AdLoadingError += adControl_ErrorOccurred; adControl.AdCovered += adControl_AdCovered; adControl.NoAd += adControl_NoAd; adControl.IsTest = desc.Testing; adControl.CollapseOnError = true; adControl.SetValue(Windows.UI.Xaml.Controls.Canvas.ZIndexProperty, 98); #if UNITY_WP_8_1 adControl.RefreshInterval = desc.WP8_AdDuplex_RefreshRate; adControl.AppKey = desc.WP8_AdDuplex_ApplicationKey; adControl.AdUnitId = desc.WP8_AdDuplex_UnitID; #else adControl.RefreshInterval = desc.WinRT_AdDuplex_RefreshRate; adControl.AppKey = desc.WinRT_AdDuplex_ApplicationKey; adControl.AdUnitId = desc.WinRT_AdDuplex_UnitID; switch (desc.WinRT_AdDuplex_AdSize) { case WinRT_AdDuplex_AdSize.Tall_160x600: adControl.Size = "160x600"; break; case WinRT_AdDuplex_AdSize.Wide_250x125: adControl.Size = "250x125"; break; case WinRT_AdDuplex_AdSize.Wide_292x60: adControl.Size = "292x60"; break; case WinRT_AdDuplex_AdSize.Wide_300x250: adControl.Size = "300x250"; break; case WinRT_AdDuplex_AdSize.Wide_500x130: adControl.Size = "500x130"; break; case WinRT_AdDuplex_AdSize.Wide_728x90: adControl.Size = "728x90"; break; case WinRT_AdDuplex_AdSize.Square_250x250: adControl.Size = "250x250"; break; default: Debug.LogError("AdPlugin: Unsuported Ad size"); break; } #endif #if UNITY_WP_8_1 setGravity(desc.WP8_AdDuplex_AdGravity); #else setGravity(desc.WinRT_AdDuplex_AdGravity); #endif eventCallback = desc.EventCallback; WinRTPlugin.AdGrid.Children.Add(adControl); setVisible(desc.Visible); Debug.Log("Created Ad of AppKey: " + adControl.AppKey + " AdUnitID" + adControl.AdUnitId); } catch (Exception e) { adControl = null; Debug.LogError(e.Message); } UnityEngine.WSA.Application.InvokeOnAppThread(()=> { if (createdCallback != null) createdCallback(pass); }, false); }); }
private async void init(AdDesc desc, AdCreatedCallbackMethod createdCallback) #endif { if (WinRTPlugin.AdGrid == null) { if (createdCallback != null) createdCallback(false); return; } #if WINDOWS_PHONE WinRTPlugin.Dispatcher.BeginInvoke(delegate() #else await WinRTPlugin.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, delegate() #endif { bool pass = true; try { adControl = new AdControl(); #if WINDOWS_PHONE || UNITY_WP_8_1 adControl.IsAutoRefreshEnabled = desc.WP8_MicrosoftAdvertising_UseBuiltInRefresh; if (!desc.WP8_MicrosoftAdvertising_UseBuiltInRefresh) { manualRefreshTimer = new DispatcherTimer(); manualRefreshTimer.Interval = TimeSpan.FromSeconds(desc.WP8_MicrosoftAdvertising_RefreshRate); manualRefreshTimer.Tick += timer_Tick; manualRefreshTimer.Start(); } adControl.IsEngagedChanged += adControl_IsEngagedChanged; adControl.AdRefreshed += adControl_AdRefreshed; #else adControl.IsAutoRefreshEnabled = desc.WinRT_MicrosoftAdvertising_UseBuiltInRefresh; if (!desc.WinRT_MicrosoftAdvertising_UseBuiltInRefresh) { manualRefreshTimer = new DispatcherTimer(); manualRefreshTimer.Interval = TimeSpan.FromSeconds(desc.WinRT_MicrosoftAdvertising_RefreshRate); manualRefreshTimer.Tick += timer_Tick; manualRefreshTimer.Start(); } adControl.IsEngagedChanged += adControl_IsEngagedChanged; adControl.AdRefreshed += adControl_AdRefreshed; #endif adControl.ErrorOccurred += adControl_ErrorOccurred; #if WINDOWS_PHONE adControl.SetValue(System.Windows.Controls.Canvas.ZIndexProperty, 98); #else adControl.SetValue(Windows.UI.Xaml.Controls.Canvas.ZIndexProperty, 98); #endif #if WINDOWS_PHONE || UNITY_WP_8_1 adControl.ApplicationId = desc.Testing ? "test_client" : desc.WP8_MicrosoftAdvertising_ApplicationID; adControl.AdUnitId = desc.WP8_MicrosoftAdvertising_UnitID; switch (desc.WP8_MicrosoftAdvertising_AdSize) { case WP8_MicrosoftAdvertising_AdSize.Wide_640x100: adControl.Width = 640; adControl.Height = 100; if (desc.Testing) adControl.AdUnitId = "Image640_100"; break; case WP8_MicrosoftAdvertising_AdSize.Wide_480x80: adControl.Width = 480; adControl.Height = 80; if (desc.Testing) adControl.AdUnitId = "Image480_80"; break; case WP8_MicrosoftAdvertising_AdSize.Wide_320x50: adControl.Width = 320; adControl.Height = 50; if (desc.Testing) adControl.AdUnitId = "Image320_50"; break; case WP8_MicrosoftAdvertising_AdSize.Wide_300x50: adControl.Width = 300; adControl.Height = 50; if (desc.Testing) adControl.AdUnitId = "Image300_50"; break; default: Debug.LogError("AdPlugin: Unsuported Ad size"); break; } #elif UNITY_METRO adControl.ApplicationId = desc.Testing ? "d25517cb-12d4-4699-8bdc-52040c712cab" : desc.WinRT_MicrosoftAdvertising_ApplicationID; adControl.AdUnitId = desc.WinRT_MicrosoftAdvertising_UnitID; switch (desc.WinRT_MicrosoftAdvertising_AdSize) { case WinRT_MicrosoftAdvertising_AdSize.Tall_160x600: adControl.Width = 160; adControl.Height = 600; if (desc.Testing) adControl.AdUnitId = "10043134"; break; case WinRT_MicrosoftAdvertising_AdSize.Tall_300x600: adControl.Width = 300; adControl.Height = 600; if (desc.Testing) adControl.AdUnitId = "10043030"; break; case WinRT_MicrosoftAdvertising_AdSize.Wide_300x250: adControl.Width = 300; adControl.Height = 250; if (desc.Testing) adControl.AdUnitId = "10043008"; break; case WinRT_MicrosoftAdvertising_AdSize.Wide_728x90: adControl.Width = 728; adControl.Height = 90; if (desc.Testing) adControl.AdUnitId = "10042998"; break; case WinRT_MicrosoftAdvertising_AdSize.Square_250x250: adControl.Width = 250; adControl.Height = 250; if (desc.Testing) adControl.AdUnitId = "10043105"; break; default: Debug.LogError("AdPlugin: Unsuported Ad size"); break; } #endif #if WINDOWS_PHONE || UNITY_WP_8_1 setGravity(desc.WP8_MicrosoftAdvertising_AdGravity); #else setGravity(desc.WinRT_MicrosoftAdvertising_AdGravity); #endif eventCallback = desc.EventCallback; WinRTPlugin.AdGrid.Children.Add(adControl); setVisible(desc.Visible); Debug.Log("Created Ad of ApplicationID: " + adControl.ApplicationId + " AdUnitID" + adControl.AdUnitId); } catch (Exception e) { adControl = null; Debug.LogError(e.Message); } ReignServices.InvokeOnUnityThread(delegate { if (createdCallback != null) createdCallback(pass); }); }); }
// ----------------------------------------------- // NOTE: You can set up multiple platforms at once and the API will use the correct desc data for each // ----------------------------------------------- void Start() { singleton = this; // bind button events RefreshButton.Select(); RefreshButton.onClick.AddListener(refreshClicked); VisibilityButton.onClick.AddListener(visibilityClicked); BackButton.onClick.AddListener(backClicked); // make sure we don't init the same Ad twice if (created) { if (ad != null) { ad.Visible = true; } return; } created = true; // Ads - NOTE: You can pass in multiple "AdDesc" objects if you want more then one ad. var desc = new AdDesc(); // global settings desc.Testing = true;// NOTE: To test ads on iOS, you must enable them in iTunes Connect. desc.Visible = true; desc.EventCallback = eventCallback; desc.UseClassicGUI = false; desc.GUIOverrideEnabled = false; desc.UnityUI_SortIndex = 1000; // Editor desc.Editor_AdAPI = AdAPIs.EditorTestAd; desc.Editor_AdGravity = AdGravity.BottomCenter; desc.Editor_AdScale = 1.5f; //desc.Editor_FixedWidthOverride = 250; //desc.Editor_FixedHeightOverride = 64; desc.Editor_MillennialMediaAdvertising_APID = ""; desc.Editor_MillennialMediaAdvertising_AdGravity = AdGravity.BottomCenter; //desc.Editor_MillennialMediaAdvertising_RefreshRate = 120, // WinRT settings (Windows 8.1) desc.WinRT_AdAPI = AdAPIs.MicrosoftAdvertising; // NOTE: If building for WP 8.1 or Universal targets this value is used. All other WinRT values or used for Win8 desc.WinRT_MicrosoftAdvertising_ApplicationID = ""; desc.WinRT_MicrosoftAdvertising_UnitID = ""; desc.WinRT_MicrosoftAdvertising_AdGravity = AdGravity.BottomCenter; desc.WinRT_MicrosoftAdvertising_AdSize = WinRT_MicrosoftAdvertising_AdSize.Wide_728x90; //desc.WinRT_MicrosoftAdvertising_UseBuiltInRefresh = false; //desc.WinRT_MicrosoftAdvertising_RefreshRate = 120; desc.WinRT_AdDuplex_ApplicationKey = ""; desc.WinRT_AdDuplex_UnitID = ""; desc.WinRT_AdDuplex_AdGravity = AdGravity.BottomCenter; desc.WinRT_AdDuplex_AdSize = WinRT_AdDuplex_AdSize.Wide_728x90; //desc.WinRT_AdDuplex_RefreshRate = 120; // WP8 settings (Windows Phone 8.1) desc.WP8_AdAPI = AdAPIs.MicrosoftAdvertising; // NOTE: If building for WP 8.1 or Universal targets this value is NOT used (Use the WinRT value instead). All other WP8 values are still used for WP 8.0, 8.1 and Universal. desc.WP8_MicrosoftAdvertising_ApplicationID = ""; desc.WP8_MicrosoftAdvertising_UnitID = ""; desc.WP8_MicrosoftAdvertising_AdGravity = AdGravity.BottomCenter; desc.WP8_MicrosoftAdvertising_AdSize = WP8_MicrosoftAdvertising_AdSize.Wide_480x80; //desc.WP8_MicrosoftAdvertising_UseBuiltInRefresh = false; //desc.WP8_MicrosoftAdvertising_RefreshRate = 120; desc.WP8_AdDuplex_ApplicationKey = ""; desc.WP8_AdDuplex_UnitID = ""; desc.WP8_AdDuplex_AdGravity = AdGravity.BottomCenter; //desc.WP8_AdDuplex_RefreshRate = 120; desc.WP8_AdMob_UnitID = ""; // NOTE: You MUST have this even for Testing! desc.WP8_AdMob_AdGravity = AdGravity.BottomCenter; desc.WP8_AdMob_AdSize = Reign.WP8_AdMob_AdSize.Banner; // BB10 settings desc.BB10_AdAPI = AdAPIs.MillennialMediaAdvertising; desc.BB10_BlackBerryAdvertising_ZoneID = ""; desc.BB10_BlackBerryAdvertising_AdGravity = AdGravity.BottomCenter; desc.BB10_BlackBerryAdvertising_AdSize = BB10_BlackBerryAdvertising_AdSize.Wide_320x53; desc.BB10_MillennialMediaAdvertising_APID = ""; desc.BB10_MillennialMediaAdvertising_AdGravity = AdGravity.BottomCenter; //desc.BB10_MillennialMediaAdvertising_RefreshRate = 120; desc.BB10_AdScale = 1.5f; // iOS settings desc.iOS_AdAPI = AdAPIs.iAd; desc.iOS_iAd_AdGravity = AdGravity.BottomCenter; desc.iOS_AdMob_AdGravity = AdGravity.BottomCenter; desc.iOS_AdMob_UnitID = ""; // NOTE: You can use legacy (PublisherID) too, You MUST have this even for Testing! desc.iOS_AdMob_AdSize = iOS_AdMob_AdSize.Banner_320x50; // Android settings #if AMAZON desc.Android_AdAPI = AdAPIs.Amazon; // Choose between AdMob or Amazon #else desc.Android_AdAPI = AdAPIs.AdMob; // Choose between AdMob or Amazon #endif desc.Android_AdMob_UnitID = ""; // NOTE: You MUST have this even for Testing! desc.Android_AdMob_AdGravity = AdGravity.BottomCenter; desc.Android_AdMob_AdSize = Android_AdMob_AdSize.Banner_320x50; desc.Android_AmazonAds_ApplicationKey = ""; desc.Android_AmazonAds_AdSize = Android_AmazonAds_AdSize.Wide_320x50; desc.Android_AmazonAds_AdGravity = AdGravity.BottomCenter; //desc.Android_AmazonAds_RefreshRate = 120; // create ad ad = AdManager.CreateAd(desc, adCreatedCallback); }
public AdMob_AdPlugin_WP8(AdDesc desc, AdCreatedCallbackMethod createdCallback) { InitNative(this, desc, createdCallback); }
public void CreateAd() { created = true; // Ads - NOTE: You can pass in multiple "AdDesc" objects if you want more then one ad. var desc = new AdDesc(); // global settings desc.Testing = true;// NOTE: To test ads on iOS, you must enable them in iTunes Connect. desc.Visible = true; desc.UnityUI_AdMaxWidth = 0.3f; desc.UnityUI_AdMaxHeight = 0.15f; desc.UseClassicGUI = false; desc.GUIOverrideEnabled = false; desc.UnityUI_SortIndex = 1000; // Editor desc.Editor_AdAPI = AdAPIs.EditorTestAd; desc.Editor_AdGravity = AdGravity.BottomCenter; desc.Editor_AdScale = 2; desc.Editor_MillennialMediaAdvertising_APID = ""; desc.Editor_MillennialMediaAdvertising_AdGravity = AdGravity.BottomCenter; //desc.Editor_MillennialMediaAdvertising_RefreshRate = 120, // WinRT settings (Windows 8.0 & 8.1) desc.WinRT_AdAPI = AdAPIs.MicrosoftAdvertising; desc.WinRT_MicrosoftAdvertising_ApplicationID = ""; desc.WinRT_MicrosoftAdvertising_UnitID = ""; desc.WinRT_MicrosoftAdvertising_AdGravity = AdGravity.BottomCenter; desc.WinRT_MicrosoftAdvertising_AdSize = WinRT_MicrosoftAdvertising_AdSize.Wide_728x90; // iOS settings desc.iOS_AdAPI = AdAPIs.AdMob; desc.iOS_iAd_AdGravity = AdGravity.BottomCenter; desc.iOS_AdMob_AdGravity = AdGravity.BottomCenter; desc.iOS_AdMob_UnitID = "";// NOTE: You can use legacy (PublisherID) too, You MUST have this even for Testing! desc.iOS_AdMob_AdSize = iOS_AdMob_AdSize.Banner_320x50; // Android settings #if AMAZON desc.Android_AdAPI = AdAPIs.Amazon; // Choose between AdMob or Amazon #else desc.Android_AdAPI = AdAPIs.AdMob; // Choose between AdMob or Amazon #endif desc.Android_AdMob_UnitID = "";// NOTE: You MUST have this even for Testing! desc.Android_AdMob_AdGravity = AdGravity.BottomCenter; desc.Android_AdMob_AdSize = Android_AdMob_AdSize.Banner_320x50; desc.Android_AmazonAds_ApplicationKey = ""; desc.Android_AmazonAds_AdSize = Android_AmazonAds_AdSize.Wide_320x50; desc.Android_AmazonAds_AdGravity = AdGravity.BottomCenter; //desc.Android_AmazonAds_RefreshRate = 120; // create ad ad = AdManager.CreateAd(desc, null); if (ad != null) { ad.Visible = true; } }
/// <summary> /// Dumy constructor. /// </summary> /// <param name="desc"></param> /// <param name="createdCallback"></param> public Dumy_AdPlugin(AdDesc desc, AdCreatedCallbackMethod createdCallback) { Visible = desc.Visible; if (createdCallback != null) createdCallback(true); }
private async void init(AdDesc desc, AdCreatedCallbackMethod createdCallback) { if (WinRTPlugin.AdGrid == null) { if (createdCallback != null) { createdCallback(false); } return; } await WinRTPlugin.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, delegate() { bool pass = true; try { adControl = new AdControl(); adControl.AdClick += adControl_Clicked; adControl.AdLoaded += adControl_AdRefreshed; adControl.AdLoadingError += adControl_ErrorOccurred; adControl.AdCovered += adControl_AdCovered; adControl.NoAd += adControl_NoAd; adControl.IsTest = desc.Testing; adControl.CollapseOnError = true; adControl.SetValue(Windows.UI.Xaml.Controls.Canvas.ZIndexProperty, 98); #if UNITY_WP_8_1 adControl.RefreshInterval = desc.WP8_AdDuplex_RefreshRate; adControl.AppKey = desc.WP8_AdDuplex_ApplicationKey; adControl.AdUnitId = desc.WP8_AdDuplex_UnitID; #else adControl.RefreshInterval = desc.WinRT_AdDuplex_RefreshRate; adControl.AppKey = desc.WinRT_AdDuplex_ApplicationKey; adControl.AdUnitId = desc.WinRT_AdDuplex_UnitID; switch (desc.WinRT_AdDuplex_AdSize) { case WinRT_AdDuplex_AdSize.Tall_160x600: adControl.Size = "160x600"; break; case WinRT_AdDuplex_AdSize.Wide_250x125: adControl.Size = "250x125"; break; case WinRT_AdDuplex_AdSize.Wide_292x60: adControl.Size = "292x60"; break; case WinRT_AdDuplex_AdSize.Wide_300x250: adControl.Size = "300x250"; break; case WinRT_AdDuplex_AdSize.Wide_500x130: adControl.Size = "500x130"; break; case WinRT_AdDuplex_AdSize.Wide_728x90: adControl.Size = "728x90"; break; case WinRT_AdDuplex_AdSize.Square_250x250: adControl.Size = "250x250"; break; default: Debug.LogError("AdPlugin: Unsuported Ad size"); break; } #endif #if UNITY_WP_8_1 setGravity(desc.WP8_AdDuplex_AdGravity); #else setGravity(desc.WinRT_AdDuplex_AdGravity); #endif eventCallback = desc.EventCallback; WinRTPlugin.AdGrid.Children.Add(adControl); setVisible(desc.Visible); Debug.Log("Created Ad of AppKey: " + adControl.AppKey + " AdUnitID" + adControl.AdUnitId); } catch (Exception e) { adControl = null; Debug.LogError(e.Message); } ReignServices.InvokeOnUnityThread(delegate { if (createdCallback != null) { createdCallback(pass); } }); }); }
public MM_AdPlugin(AdDesc desc, AdCreatedCallbackMethod createdCallback, MonoBehaviour service) { this.service = service; try { this.desc = desc; testing = desc.Testing; adEvent = desc.EventCallback; gravity = AdGravity.CenterScreen; #if !DISABLE_REIGN #if UNITY_EDITOR refreshRate = desc.Editor_MillennialMediaAdvertising_RefreshRate; apid = desc.Editor_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.Editor_MillennialMediaAdvertising_AdGravity; uiScale = desc.Editor_AdScale; #elif UNITY_BLACKBERRY refreshRate = desc.BB10_MillennialMediaAdvertising_RefreshRate; apid = desc.BB10_MillennialMediaAdvertising_APID; IntPtr handle = IntPtr.Zero; if (Common.deviceinfo_get_details(ref handle) != 0) throw new Exception("Failed: deviceinfo_get_details"); string deviceType = Common.deviceinfo_details_get_keyboard(handle) == 0 ? "Touch" : "Kbd"; Common.deviceinfo_free_details(ref handle); string osVersion = System.Text.RegularExpressions.Regex.Match(SystemInfo.operatingSystem, @"\d*\.\d*\.\d*\.\d*").Groups[0].Value; userAgent = WWW.EscapeURL("Mozilla/5.0 (BB10; " + deviceType + ") AppleWebKit/537.10+ (KHTML, like Gecko) Version/" + osVersion + " Mobile Safari/537.10+"); gravity = desc.BB10_MillennialMediaAdvertising_AdGravity; uiScale = desc.BB10_AdScale; #elif UNITY_WP8 refreshRate = desc.WP8_MillennialMediaAdvertising_RefreshRate; apid = desc.WP8_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.WP8_MillennialMediaAdvertising_AdGravity; uiScale = desc.WP8_AdScale; #elif UNITY_METRO refreshRate = desc.WinRT_MillennialMediaAdvertising_RefreshRate; apid = desc.WinRT_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.WinRT_MillennialMediaAdvertising_AdGravity; uiScale = desc.WinRT_AdScale; #elif UNITY_IOS refreshRate = desc.iOS_MillennialMediaAdvertising_RefreshRate; apid = desc.iOS_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.iOS_MillennialMediaAdvertising_AdGravity; uiScale = desc.iOS_AdScale; #elif UNITY_ANDROID refreshRate = desc.Android_MillennialMediaAdvertising_RefreshRate; apid = desc.Android_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.Android_MillennialMediaAdvertising_AdGravity; uiScale = desc.Android_AdScale; #elif UNITY_STANDALONE_WIN refreshRate = desc.Win32_MillennialMediaAdvertising_RefreshRate; apid = desc.Win32_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.Win32_MillennialMediaAdvertising_AdGravity; uiScale = desc.Win32_AdScale; #elif UNITY_STANDALONE_OSX refreshRate = desc.OSX_MillennialMediaAdvertising_RefreshRate; apid = desc.OSX_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.OSX_MillennialMediaAdvertising_AdGravity; uiScale = desc.OSX_AdScale; #elif UNITY_STANDALONE_LINUX refreshRate = desc.Linux_MillennialMediaAdvertising_RefreshRate; apid = desc.Linux_MillennialMediaAdvertising_APID; userAgent = ""; gravity = desc.Linux_MillennialMediaAdvertising_AdGravity; uiScale = desc.Linux_AdScale; #endif #endif // make sure ad refresh rate doesn't go under 1 min if (refreshRate < 60) refreshRate = 60; // create or get device ID if (PlayerPrefs.HasKey("Reign_MMWebAds_DeviceID")) { deviceID = PlayerPrefs.GetString("Reign_MMWebAds_DeviceID"); } else { #if UNITY_EDITOR || UNITY_STANDALONE var hash = new SHA1CryptoServiceProvider().ComputeHash(Guid.NewGuid().ToByteArray()); deviceID = BitConverter.ToString(hash).ToLower(); #else deviceID = Guid.NewGuid().ToString().Replace("-", "0").ToLower() + "0000"; #endif PlayerPrefs.SetString("Reign_MMWebAds_DeviceID", deviceID); } if (desc.UseClassicGUI) { guiSytle = new GUIStyle() { stretchWidth = true, stretchHeight = true }; } else { // Create Ad Canvas adCanvas = new GameObject("MM Ad"); GameObject.DontDestroyOnLoad(adCanvas); adCanvas.AddComponent<RectTransform>(); var canvas = adCanvas.AddComponent<Canvas>(); canvas.renderMode = RenderMode.ScreenSpaceOverlay; canvas.sortingOrder = 1000; adCanvas.AddComponent<CanvasScaler>(); adCanvas.AddComponent<GraphicRaycaster>(); // Create ad var ad = new GameObject("AdButtonImage"); ad.transform.parent = adCanvas.transform; adRect = ad.AddComponent<RectTransform>(); adImage = ad.AddComponent<Image>(); adImage.sprite = Resources.Load<Sprite>("Reign/Ads/AdLoading"); adImage.preserveAspect = true; var button = ad.AddComponent<Button>(); button.onClick.AddListener(adClicked); } // set default visible state Visible = desc.Visible; SetGravity(gravity); // load ad service.StartCoroutine(init(createdCallback)); // set screen size changed callback ReignServices.ScreenSizeChangedCallback += ReignServices_ScreenSizeChangedCallback; } catch (Exception e) { Debug.LogError(e.Message); if (createdCallback != null) createdCallback(false); } }