Я пытаюсь добавить рекламу в свое приложение с помощью admob, но получаю эту ошибку после запуска приложения: «Java.Lang.IllegalArgumentException: 'Не найдено представление для идентификатора 0x1 (неизвестно) для фрагмента ShellItemRenderer{...}.. .
OnCreate в 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>
В чем проблема?
Можете ли вы помочь мне с этой проблемой?
Из кода, который вы опубликовали, я обнаружил, что вы пытаетесь использовать AdView
в своем проекте xamarin для Android, но ваше приложение представляет собой приложение формы xamarin. Значит, следует запутаться со способом использования.
Для xamarin android
Чтобы узнать, как добавить рекламу в xamarin android, вы можете посмотреть Пример AdMobExample здесь. В этом примере показано, как отображать различные типы объявлений, используя Google AdMob
с Google Play Services
.
Для формы xamarin
В форме xamarin шаги по добавлению admob в приложение следующие:
Добавление необходимых пакетов.
Для Android добавьте пакет Xamarin.GooglePlayServices.Ads
.
Для iOS добавьте пакет Xamarin.Firebase.iOS.AdMob
Изменения, которые необходимо внести в файл Manifest.xml (только для Android)
Создание Custom Renders
для доступа к рекламе баннерного типа
Доступ к Custom Renders
в коде для отображения рекламы баннерного типа.
Создание Dependency Services
для доступа к рекламе межстраничных объявлений.
Доступ к Dependency Services
в коде для отображения Interstitial
типа Объявления.
Для получения дополнительной информации вы можете проверить статью Google AdMob — отображение рекламы в формах Xamarin
и AdMob в Xamarin.Forms — отображение рекламы Google в мобильном приложении.
Вы можете получить пример здесь Adview образец xamarin форм.