/// <summary> /// reload the view and hit up google admob /// </summary> /// <param name="e"></param> protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.View> e) { base.OnElementChanged(e); //convert the element to the control we want var adMobElement = Element; // Setup your BannerView, review AdSizeCons class for more Ad sizes. adView = new BannerView(AdSizeCons.Banner) { AdUnitID = "ca-app-pub-5421996238963163/8238631737", RootViewController = UIApplication.SharedApplication.Windows[0].RootViewController }; // Wire AdReceived event to know when the Ad is ready to be displayed adView.AdReceived += (sender, args) => { if (!viewOnScreen) { AddSubview(adView); } viewOnScreen = true; }; adView.LoadRequest(Request.GetDefaultRequest()); base.SetNativeControl(adView); }
protected override void OnElementChanged(ElementChangedEventArgs <View> e) { base.OnElementChanged(e); if (e.NewElement == null) { return; } if (e.OldElement == null) { UIViewController viewCtrl = null; foreach (UIWindow v in UIApplication.SharedApplication.Windows) { if (v.RootViewController != null) { viewCtrl = v.RootViewController; } } adView = new BannerView(size: AdSizeCons.Banner, origin: new CGPoint(-10, 0)) { AdUnitID = AdmobID, RootViewController = viewCtrl }; adView.AdReceived += (sender, args) => { if (!viewOnScreen) { this.AddSubview(adView); } viewOnScreen = true; }; adView.LoadRequest(Request.GetDefaultRequest()); base.SetNativeControl(adView); } }
protected override void OnElementChanged(ElementChangedEventArgs <View> e) { base.OnElementChanged(e); if (e.NewElement == null) { return; } if (e.OldElement == null) { foreach (UIWindow v in UIApplication.SharedApplication.Windows) { if (v.RootViewController != null) { viewCtrl = v.RootViewController; } } adMobBanner = new BannerView(AdSizeCons.Banner, new CGPoint(-10, 0)) { AdUnitID = adUnitID, RootViewController = viewCtrl }; adMobBanner.AdReceived += (sender, args) => { if (!viewOnScreen) { AddSubview(adMobBanner); } viewOnScreen = true; }; var request = Request.GetDefaultRequest(); adMobBanner.LoadRequest(request); SetNativeControl(adMobBanner); } }
void AddToWindow() { if (adViewWindow == null) { // Setup your GADBannerView, review AdSizeCons class for more Ad sizes. adViewWindow = new BannerView(size: AdSizeCons.SmartBannerPortrait, origin: new CGPoint(0, UIScreen.MainScreen.Bounds.Size.Height - AdSizeCons.Banner.Size.Height)) { RootViewController = NavigationController }; adViewWindow.AdUnitId = AdMobConstants.BannerId; // Wire AdReceived event to know when the Ad is ready to be displayed adViewWindow.AdReceived += (object sender, EventArgs e) => { if (!adOnWindow) { NavigationController.View.Subviews.First().Frame = new CGRect(0, 0, UIScreen.MainScreen.Bounds.Width, UIScreen.MainScreen.Bounds.Height - 50); NavigationController.View.AddSubview(adViewWindow); adOnWindow = true; } }; } adViewWindow.LoadRequest(GetRequest()); }
protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.View> e) { base.OnElementChanged(e); if (Control == null) { var adsbanner = (AdBanner)Element; adView = new BannerView(size: AdSizeCons.Banner, origin: new CGPoint(0, 0)) { AdUnitID = adsbanner.AdID, RootViewController = UIApplication.SharedApplication.Windows[0].RootViewController }; adView.AdReceived += (sender, args) => { if (!viewOnScreen) this.AddSubview(adView); viewOnScreen = true; }; adView.LoadRequest(Request.GetDefaultRequest()); base.SetNativeControl(adView); } }
protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.View> e) { base.OnElementChanged(e); if (Control == null) { var adsbanner = (AdBanner)Element; adView = new BannerView(size: AdSizeCons.Banner, origin: new CGPoint(0, 0)) { AdUnitID = adsbanner.AdID, RootViewController = UIApplication.SharedApplication.Windows[0].RootViewController }; adView.AdReceived += (sender, args) => { if (!viewOnScreen) { this.AddSubview(adView); } viewOnScreen = true; }; adView.LoadRequest(Request.GetDefaultRequest()); base.SetNativeControl(adView); } }
void AddToWindow() { if (adViewWindow == null) { // Setup your GADBannerView, review AdSizeCons class for more Ad sizes. adViewWindow = new BannerView(size: AdSizeCons.Banner, origin: new CGPoint(0, window.Bounds.Size.Height - AdSizeCons.Banner.Size.Height)) { RootViewController = navController }; adViewWindow.AdUnitId = bannerId; // Wire AdReceived event to know when the Ad is ready to be displayed adViewWindow.AdReceived += (object sender, EventArgs e) => { if (!adOnWindow) { navController.View.Subviews.First().Frame = new CGRect(0, 0, 320, UIScreen.MainScreen.Bounds.Height - 50); navController.View.AddSubview(adViewWindow); adOnWindow = true; } }; } adViewWindow.LoadRequest(Request.GetDefaultRequest()); }
public override void ViewDidLoad() { base.ViewDidLoad(); NavigationController.SetNavigationBarHidden(true, false); LabelNetworkAccessLoginView.BackgroundColor = UIColor.Red; var firebasePredictionsService = Mvx.Resolve <IFirebasePredictionsService>(); bool showAds = firebasePredictionsService.InitializeFirebasePredictions(); if (showAds) { UIViewController viewCtrl = null; foreach (UIWindow v in UIApplication.SharedApplication.Windows) { if (v.RootViewController != null) { viewCtrl = v.RootViewController; } } _adsBannerView = new BannerView(size: AdSizeCons.Banner, origin: new CGPoint(25, UIScreen.MainScreen.Bounds.Height - 50)) { AdUnitID = "ca-app-pub-3940256099942544/2934735716", RootViewController = viewCtrl }; View.AddSubview(_adsBannerView); _adsBannerView.LoadRequest(Google.MobileAds.Request.GetDefaultRequest()); } var set = this.CreateBindingSet <LoginView, LoginViewModel>(); set.Bind(LabelNetworkAccessLoginView).For(v => v.Hidden).To(vm => vm.ChangedNetworkAccess); set.Bind(LoginButton).To(vm => vm.LoginWebViewCommand); set.Apply(); }
protected override void OnElementChanged(ElementChangedEventArgs <View> e) { base.OnElementChanged(e); if (e.NewElement == null || App.AdsRenderState == AdsState.RenderNothing) { return; } if (e.OldElement == null && App.AdsRenderState == AdsState.Render) { UIViewController viewCtrl = null; foreach (UIWindow v in UIApplication.SharedApplication.Windows) { if (v.RootViewController != null) { viewCtrl = v.RootViewController; } } logger.Info($"found root controller {viewCtrl.ToString()}"); adView = new BannerView( size: AdSizeCons.Banner, origin: new CGPoint(0, UIScreen.MainScreen.Bounds.Size.Height - AdSizeCons.Banner.Size.Height) ) { AdUnitID = Secrets.IOSBannerId, RootViewController = viewCtrl }; adView.ReceiveAdFailed += (sender, args) => { var error = ((BannerViewErrorEventArgs)args).Error; logger.Error($"received failed ad: {error} {error.Code}"); }; adView.WillChangeAdSizeTo += (sender, args) => { logger.Info($"changing add size to: {((AdSizeDelegateSizeEventArgs)args).Size}"); }; adView.AdReceived += (sender, args) => { if (!viewOnScreen) { logger.Info($"received ad: {args.GetType()}"); AddSubview(adView); } viewOnScreen = true; }; Request request = Request.GetDefaultRequest(); if (App.IsDebug) { request.TestDevices = new[] { Request.SimulatorId, Secrets.IOSTestRequestId }; } adView.LoadRequest(request); SetNativeControl(adView); } }
} void ShowBanner(Dictionary<string, string> advertisingTargetInfo) { var bannerView = new BannerView(AdSizeCons.SmartBannerPortrait); bannerView.AdUnitID = "ca-app-pub-4252799872870196/8180596755"; bannerView.RootViewController = this; bannerView.ReceiveAdFailed += (sender, e) => { Console.Write(e.Error.LocalizedDescription); AdViewSuperViewHeightConstaint.Constant = 0; }; bannerView.AdReceived += (sender, e) => { AdViewSuperViewHeightConstaint.Constant = AddViewSuperviewHeight; }; AdViewSuperView.AddSubview(bannerView); var request = GetRequest(advertisingTargetInfo); bannerView.LoadRequest(request); } Request GetRequest(Dictionary<string, string> advertisingTargetInfo) { var request = Request.GetDefaultRequest(); request.TestDevices = new string[] { Request.SimulatorId.ToString() }; //Gender var gender = Gender.Unknown; if (advertisingTargetInfo.ContainsKey(AdKeyGender)) gender = advertisingTargetInfo[AdKeyGender].Equals("female", StringComparison.InvariantCultureIgnoreCase) ? Gender.Female : Gender.Male; request.Gender = gender; //Location var location = RealmServices.GetLastUserLocation(); if (location != null) request.SetLocation((nfloat)location.Latitude, (nfloat)location.Longitude, 1); //Birthday if (advertisingTargetInfo.ContainsKey(AdKeyBirthday)) { var birthday = DateTime.ParseExact(advertisingTargetInfo[AdKeyBirthday], "MM/dd/yyyy",null); request.SetBirthday(birthday.Month, birthday.Day, birthday.Year); } //todo Keywords return request; }