Ejemplo n.º 1
0
        private void ConfigureAdBanner()
        {
            AdView    ad        = new AdView(ApplicationContext);
            AdRequest adRequest = null;

            var android_id = Android.Provider.Settings.Secure.GetString(ContentResolver, Android.Provider.Settings.Secure.AndroidId);

            // USE TEST ADS IF RUNNING ON A DEV DEVICE
            if (android_id == Sec.SamsungA5 || android_id == Sec.MyDeviceEmulator)
            {
                ad.AdUnitId = Sec.TestAdUnitId;
                adRequest   = new AdRequest.Builder().AddTestDevice(android_id).Build();
            }
            else
            {
                ad.AdUnitId = Sec.AdUnitId;
                adRequest   = new AdRequest.Builder().Build();
            }

            ad.AdSize = AdSize.Banner;
            ad.SetBackgroundColor(Color.Black);

            LinearLayout ll = FindViewById(Resource.Id.layH_admob_container) as LinearLayout;

            ll.SetGravity(GravityFlags.Center);
            ll.AddView(ad);

            ad.LoadAd(adRequest);
            adRequest.Dispose();
        }
            protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.View> e)
            {
                base.OnElementChanged(e);
                if (Control == null)
                {
                    var view = (AdMobBannerView)Element;
                    view.PropertyChanging += View_PropertyChanging;

                    //var adview = new Android.Gms.Ads.NativeExpressAdView(Context);
                    //adview.AdUnitId = Constants.NativeAdId;
                    //adview.AdSize = AdSize.SmartBanner;
                    bannerView = new AdView(Context);

                    if (view.BannerSize == AdMobBannerSizes.LargeBanner)
                    {
                        bannerView.AdSize = AdSize.LargeBanner;
                    }
                    else if (view.BannerSize == AdMobBannerSizes.MediumRectangle)
                    {
                        bannerView.AdSize = AdSize.MediumRectangle;
                    }

                    bannerView.AdUnitId = view.UnitId;

                    base.SetNativeControl(bannerView);

                    if (view.AdMob != null)
                    {
                        view.AdMob.Context = Context;
                        var request = view.AdMob.GetDefaultRequest();

                        if (!string.IsNullOrWhiteSpace(bannerView.AdUnitId))
                        {
                            bannerView.LoadAd(request);
                        }
                    }

                    bannerView.SetBackgroundColor(global::Android.Graphics.Color.Transparent);
                }
            }