AdMob为什么不在我的应用程序上显示横幅广告?

时间:2018-07-12 13:33:03

标签: c# xamarin xamarin.forms admob

所以我尝试在我的项目中实施AdMob,但是我的广告没有展示,我也不知道为什么。 我当时在网上找不到指南,但似乎他们找不到它,但是当他们这样做的时候,它工作得很好,我按照所有步骤进行操作,我开始考虑可能是Xamarin,但我不确定

我有一个看起来像这样的AdMobRenderer.cs

instance (T b) => T (Complex _ b _)

然后还有XAML

 instance (T b) => T Complex {b ? } 

当然还有MainPage.xaml.cs

    using Google.MobileAds;
    using UIKit;
    using Xamarin.Forms;
    using Xamarin.Forms.Platform.iOS;

    namespace AdMobTestProject.iOS
    {
        public class AdMobRenderer : ViewRenderer
        {
//hiding the key for this question
            private const string adMobId = "ca-app-pub-xxxxxx/xxxxxxx";
            private BannerView adView;
            private bool viewOnScreen;

            protected override void OnElementChanged(ElementChangedEventArgs<View> e)
            {
                base.OnElementChanged(e);
                if (e.NewElement == null)
                    return;
                if (e.OldElement == null)
                {
                    adView = new BannerView(AdSizeCons.SmartBannerPortrait)
                    {
                        AdUnitID = adMobId,
                        RootViewController = UIApplication.SharedApplication.Windows[0].RootViewController
                    };

                    adView.AdReceived += (sender, args) =>
                    {
                        if (!viewOnScreen)
                        {
                            this.AddSubview(adView);
                        }

                        viewOnScreen = true;
                    };
                    Request request = Request.GetDefaultRequest();
                    adView.LoadRequest(request);
                    base.SetNativeControl(adView);
                }
            }

            public AdMobRenderer()
            {

            }
        }
    }

我想念什么吗?将应用程序部署到设备时,为什么不显示任何内容? iPhone 7。 我正在使用Xamarin.Forms

2 个答案:

答案 0 :(得分:0)

检查可用于adview的空间不应小于360像素宽,因此请检查页面的主布局,如果有边距,则将其删除。 作为提示,检查Visual Studio中的构建输出窗口,它将显示是否加载了广告,并显示了为什么加载广告后看不到广告的原因。 在您的示例中,删除WidthRequest。

这是以后搜索的较晚答复。

答案 1 :(得分:0)

尝试将adMobId更改为测试广告ID。

https://developers.google.com/admob/android/test-ads

(ca-app-pub-3940256099942544 / 6300978111)

我遇到了同样的问题,如果我导航到另一个页面并返回,我的广告就会显示出来。