/*<Summary> * Builds an admob ad * </Summery>*/ private void BuildAd(string adUnit, AD_FORMATS format, HORIZONTAL_ALIGNMENT horizontalAlign, VERTICAL_ALIGNMENT vertAlign, double width, double height, bool testAd) { #if WINDOWS_PHONE if (_ad_Google != null) { return; } if (!HasGrid()) { _isBuilt = false; _errorMessage = "Missing grid to attach ad to"; } try { _ad_Google = new AdView { Format = ConvertAdFormat(format), AdUnitID = adUnit }; if (format != AD_FORMATS.SMART_BANNER) { _ad_Google.Width = width; _ad_Google.Height = height; _ad_Google.HorizontalAlignment = ConvertHorizontalAlignment(horizontalAlign); } _ad_Google.VerticalAlignment = ConvertVerticalAlignment(vertAlign); _ad_Google.ReceivedAd += OnAdReceived; _ad_Google.FailedToReceiveAd += OnFailedToReceiveAd; baseGrid.Children.Add(_ad_Google); if (baseGrid.Children.Count > 0) { _adIndex = baseGrid.Children.Count - 1; } if (testAd) { AdRequest adRequest = new AdRequest(); adRequest.ForceTesting = true; _ad_Google.LoadAd(adRequest); } _isBuilt = true; } catch (Exception e) { _errorMessage = "AdMob Error: " + e.Message; _isBuilt = false; } #endif }
/*<Summary> * AdMob overload * </Summery>*/ public void CreateAd(string adUnit, AD_FORMATS format, HORIZONTAL_ALIGNMENT horizontalAlign, VERTICAL_ALIGNMENT vertAlign, double width, double height, bool testAd) { #if WINDOWS_PHONE Dispatcher.InvokeOnUIThread(() => { BuildAd(adUnit, format, horizontalAlign, vertAlign, width, height, testAd); }); #endif }
/*<Summary> * Just our own converter for the enumerations * </Summery>*/ private GoogleAds.AdFormats ConvertAdFormat(AD_FORMATS f) { switch (f) { case AD_FORMATS.BANNER: return(AdFormats.Banner); case AD_FORMATS.SMART_BANNER: return(AdFormats.SmartBanner); default: return(AdFormats.Banner); } }
/// <summary> /// Used to create an AdMob ad /// Pass in your ad mob unit id, the format, height/width, position and whether its a test ad or not /// The testAd bool is important, it allows us to test an admob ad /// </summary> public void CreateAd(string adUnit, AD_FORMATS format, HORIZONTAL_ALIGNMENT hAlign, VERTICAL_ALIGNMENT vAlign, bool testAd) { #if WINDOWS_PHONE if (Dispatcher.InvokeOnUIThread == null && Messenger != null) { Messenger("Dispatcher Error: UI Thread not set up"); return; } Dispatcher.InvokeOnUIThread(() => { BuildAd(adUnit, format, hAlign, vAlign, testAd); }); #endif }
private void BuildAd(string adUnit, AD_FORMATS format, HORIZONTAL_ALIGNMENT hAlign, VERTICAL_ALIGNMENT vAlign, bool testAd) { #if WINDOWS_PHONE //Check if an AdMob ad has already been created //If so we return, and display a message to the user if (_AdMobAd != null) { if (Messenger != null) { Messenger("AdMob Ad already present"); } return; } //Next we check if we have a grid if (_baseGrid == null) { _isAMAd = false; if (Messenger != null) { Messenger("Missing grid"); } return; } try { _AdMobAd = new AdView { Format = ConvertAdFormat(format), AdUnitID = adUnit }; if (format != AD_FORMATS.SMART_BANNER) { } _AdMobAd.VerticalAlignment = ConvertVerticalAlignment(vAlign); _AdMobAd.ReceivedAd += OnAdReceived; _AdMobAd.FailedToReceiveAd += OnError; _baseGrid.Children.Add(_AdMobAd); //if (_baseGrid.Children.Count > 0) // _adIndex = _baseGrid.Children.Count - 1; if (testAd) { AdRequest adRequest = new AdRequest(); adRequest.ForceTesting = true; _AdMobAd.LoadAd(adRequest); } //Finally add it to our grid _baseGrid.Children.Add(_AdMobAd); _isAMAd = true; } catch (Exception e) { if (Messenger != null) { Messenger("AdMob Error: " + e.Message); } _isAMAd = false; } #endif }
/*<Summary> * Just our own converter for the enumerations </Summery>*/ private GoogleAds.AdFormats ConvertAdFormat(AD_FORMATS f) { switch(f) { case AD_FORMATS.BANNER: return AdFormats.Banner; break; case AD_FORMATS.SMART_BANNER: return AdFormats.SmartBanner; break; default: return AdFormats.Banner; } }
/*<Summary> * Builds an admob ad </Summery>*/ private void BuildAd(string adUnit, AD_FORMATS format, HORIZONTAL_ALIGNMENT horizontalAlign, VERTICAL_ALIGNMENT vertAlign, double width, double height, bool testAd) { #if WINDOWS_PHONE if(_ad_Google != null) return; if (!HasGrid()) { _isBuilt = false; _errorMessage = "Missing grid to attach ad to"; } try { _ad_Google = new AdView { Format = ConvertAdFormat(format), AdUnitID = adUnit }; if (format != AD_FORMATS.SMART_BANNER) { _ad_Google.Width = width; _ad_Google.Height = height; _ad_Google.HorizontalAlignment = ConvertHorizontalAlignment(horizontalAlign); } _ad_Google.VerticalAlignment = ConvertVerticalAlignment(vertAlign); _ad_Google.ReceivedAd += OnAdReceived; _ad_Google.FailedToReceiveAd += OnFailedToReceiveAd; baseGrid.Children.Add(_ad_Google); if (baseGrid.Children.Count > 0) _adIndex = baseGrid.Children.Count - 1; if (testAd) { AdRequest adRequest = new AdRequest(); adRequest.ForceTesting = true; _ad_Google.LoadAd(adRequest); } _isBuilt = true; } catch(Exception e) { _errorMessage = "AdMob Error: " + e.Message; _isBuilt = false; } #endif }
/*<Summary> * AdMob overload </Summery>*/ public void CreateAd(string adUnit, AD_FORMATS format, HORIZONTAL_ALIGNMENT horizontalAlign, VERTICAL_ALIGNMENT vertAlign, double width, double height, bool testAd) { #if WINDOWS_PHONE Dispatcher.InvokeOnUIThread(() => { BuildAd(adUnit, format,horizontalAlign,vertAlign,width,height,testAd); }); #endif }