Пример #1
0
        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
        }
Пример #2
0
 /// <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);
     }
 }
Пример #3
0
		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);
		}
Пример #4
0
        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);
            }
        }
Пример #5
0
        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);
            }
        }
Пример #6
0
		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);
			}
		}
Пример #7
0
		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);
		}
Пример #8
0
 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);
         }
     }
 }
Пример #9
0
		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);
		}
Пример #10
0
        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);
                }
            });
        }
Пример #11
0
		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
		}
Пример #12
0
		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);
			});
		}
Пример #13
0
        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)
Пример #16
0
		/// <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);
		}
Пример #18
0
 /// <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 MicrosoftAdvertising_AdPlugin_WinRT(AdDesc desc, AdCreatedCallbackMethod createdCallback)
 {
     InitNative(this, desc, createdCallback);
 }
Пример #21
0
        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 void init(AdDesc desc, AdCreatedCallbackMethod createdCallback)
 public MicrosoftAdvertising_AdPlugin_Native(AdDesc desc, AdCreatedCallbackMethod createdCallback)
 {
     init(desc, createdCallback);
 }
        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);
                    }
                });
            });
        }
Пример #25
0
 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);
				});
			});
		}
Пример #28
0
    // -----------------------------------------------
    // 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);
    }
Пример #29
0
		public AdMob_AdPlugin_WP8(AdDesc desc, AdCreatedCallbackMethod createdCallback)
		{
			InitNative(this, desc, createdCallback);
		}
Пример #30
0
        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;
            }
        }
Пример #31
0
 public AdMob_AdPlugin_WP8(AdDesc desc, AdCreatedCallbackMethod createdCallback)
 {
     InitNative(this, desc, createdCallback);
 }
Пример #32
0
		/// <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);
		}
Пример #33
0
 public AdDuplex_AdPlugin_Native(AdDesc desc, AdCreatedCallbackMethod createdCallback)
 {
     init(desc, createdCallback);
 }
		public AdDuplex_AdPlugin_WinRT(AdDesc desc, AdCreatedCallbackMethod createdCallback)
		{
			InitNative(this, desc, createdCallback);
		}
Пример #35
0
        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);
                    }
                });
            });
        }
Пример #36
0
		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);
			}
		}