Пример #1
0
        /// <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);
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
 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);
            }

        }
Пример #6
0
        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());
        }
Пример #8
0
        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();
        }
Пример #9
0
        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;
        }