我根据this教程创建了一个Hello World Xamarin Forms应用程序,并添加了代码以添加AdMob智能横幅广告。直到我收到来自AdMob的电子邮件,内容为“受限广告投放”,此方法才能正常工作。所以我拿出旧代码在Emulator中运行,广告根本没有显示,甚至没有空白(尽管在App Store版本中我仍然可以看到空白)。
因此,我遵循同一教程创建了一个空白的“ Hello World”应用程序。广告完全没有显示。我验证了一切。
XAML-
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- Place new controls here -->
<Label Text="Welcome to Xamarin.Forms!"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
<ctrl:GoogleAdView Grid.Row="1"/>
</Grid>
然后出于好奇,我在广告行中指定了一些随机高度,然后瞧瞧广告出现了。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<!-- Place new controls here -->
<Label Text="Welcome to Xamarin.Forms!"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
<ctrl:GoogleAdView Grid.Row="1"/>
</Grid>
下面是我的项目的详细信息(Android)-
我们在Xamarin Forms中使用AdMob的方式有所变化吗?
public static int GetSmartBannerHeight() {
DisplayInfo metrics = DeviceDisplay.MainDisplayInfo;
double heightDp = metrics.Height / metrics.Density;
if (heightDp <= 400) {
return 32;
}
if (heightDp <= 720) {
return 50;
}
return 90;
}