所以我尝试在我的项目中实施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
答案 0 :(得分:0)
检查可用于adview的空间不应小于360像素宽,因此请检查页面的主布局,如果有边距,则将其删除。 作为提示,检查Visual Studio中的构建输出窗口,它将显示是否加载了广告,并显示了为什么加载广告后看不到广告的原因。 在您的示例中,删除WidthRequest。
这是以后搜索的较晚答复。
答案 1 :(得分:0)
尝试将adMobId更改为测试广告ID。
https://developers.google.com/admob/android/test-ads
(ca-app-pub-3940256099942544 / 6300978111)
我遇到了同样的问题,如果我导航到另一个页面并返回,我的广告就会显示出来。