我在 Visual Studio 2019 中使用 Xamarin Forms。我有一个简单的网格布局,单列网格的底部单元格中有一个横幅广告。这是我的 MainPage.xaml:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:controls="clr-namespace:MarcTron.Plugin.Controls;assembly=Plugin.MtAdmob"
x:Class="ShaarShamayim.MainPage">
<ContentPage.Content>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="100"/>
</Grid.RowDefinitions>
.
.
.
<controls:MTAdView x:Name="myAds" Grid.Row="1" BackgroundColor="LightGray"></controls:MTAdView>
</Grid>
</ContentPage.Content>
</ContentPage>
Android MainActivity.cs 中的 OnCreate 如下所示:
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
Plugin.CurrentActivity.CrossCurrentActivity.Current.Init(this, savedInstanceState);
MobileAds.Initialize(ApplicationContext);
LoadApplication(new App());
}
AndroidManifest 包含以下内容:
<application android:label="ShaarShamayim.Android">
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy" />
</application>
这些是我安装的 NuGet 包:
MarcTron.AdMob 1.9.0.3 Xam.Plugin.Geolocator 4.5.0.6 Xamarin 要点 1.6.1 Xamarin.Forms 5.0.0.2478 Xamarin.GooglePlayServices.Ads 120.3.0.3
根据我在网上看到的所有内容,这应该会导致屏幕底部出现横幅广告。但那里什么也没有。我将广告的背景颜色设置为浅灰色,以便我可以看到它是否可能被推离页面,并且我在屏幕底部看到一个大的灰色矩形。
那么我做错了什么?我错过了一些明显的东西吗?应用程序的其余部分运行良好;这只是广告。并且没有显示任何警告或错误。
谢谢, 丽莎
在 MainActivity 上将 MobileAds.Initialize(ApplicationContext) 替换为 CrossMTAdmob.Current.Init(this, "your_app_id");
对于横幅,首先尝试单击按钮中的 myAds.LoadAd(),看看它是否有效