Ошибка выдачи Xamarin: не найдено представление для идентификатора 0x1 (неизвестно) для фрагмента ShellItemRenderer{...} Я пытаюсь добавить рекламу в свое приложение с помощью AdMob

Я пытаюсь добавить рекламу в свое приложение с помощью 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>

В чем проблема?

Можете ли вы помочь мне с этой проблемой?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Из кода, который вы опубликовали, я обнаружил, что вы пытаетесь использовать 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 форм.

Другие вопросы по теме