我正在尝试使用admob向我的应用程序添加广告,但我在运行应用程序后得到此错误:"Java.Lang。IllegalArgumentException: '没有找到id 0x1(未知)片段ShellItemRenderer{…}…
OnCreate in MainActivity.cs:
protected override void OnCreate(Bundle savedInstanceState)
{
FFImageLoading.Forms.Platform.CachedImageRenderer.Init(true);
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
MobileAds.Initialize(ApplicationContext);
string adUnitId = Resources.GetString(Resource.String.banner_ad_unit_id);
SetContentView(Resource.Layout.activity_main);
AdView adView = FindViewById<AdView>(Resource.Id.adView);
var adRequest = new AdRequest.Builder().Build();
adView.LoadAd(adRequest);
LoadApplication(new App());
}
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-***" />
</RelativeLayout>
是什么问题?
你能帮我解决这个问题吗?从你发布的代码,我发现你正试图在你的xamarin android项目中使用AdView
,但你的应用程序是一个xamarin表单应用程序。所以,你应该与使用方法混淆。
For xamarin android
如何在xamarin android添加adview,你可以在这里查看admobeexample样本。这个示例演示了如何使用Google AdMob
和Google Play Services
来显示不同类型的广告。
For xamarin form
在xamarin表单中,将admob添加到app的步骤如下:
-
添加所需的包。
Android:添加
Xamarin.GooglePlayServices.Ads
包For iOS,添加
Xamarin.Firebase.iOS.AdMob
Package -
Manifest.xml文件中要做的更改(仅适用于Android)
-
创建
Custom Renders
来访问横幅广告 -
在代码中访问
Custom Renders
显示横幅广告。 -
创建
Dependency Services
以访问插播式广告。 -
在代码中访问
Dependency Services
以显示插页广告类型广告。
有关更多信息,您可以查看文章Google AdMob -显示广告在Xamarin表单
和AdMob In Xamarin。表单-显示谷歌广告在您的移动应用程序。
你可以在这里得到一个例子的xamarin表单的Adview样本。