Рекламный баннер Flutter AdMob перекрывает экран

#flutter #admob #overlap #banner-ads

#flutter #admob #перекрытие #баннерная реклама

Вопрос:

Я работаю над приложением Flutter, в котором мне нужно показывать рекламный баннер AdMob. Я заметил, что баннер перекрывает мой просмотр списка. Я попытался найти решение, но не нашел ничего особо полезного.

Одно из решений, которое я нашел, — обеспечить фиксированное поле в 50 пикселей внизу. Мне немного не по себе от этого решения, поскольку я где-то читал, что размер экрана может повлиять на это решение.

Также, когда я размещаю поддельную нижнюю панель, она также перекрывает мою нижнюю панель вкладок и нижние листы.

Пожалуйста, смотрите на изображение ниже для получения более подробной информации.

Спасибо, что уделили мне время.

введите описание изображения здесь

Ответ №1:

Я нашел для вас одно решение — немного дополнить приложение cast Banner bottom Flutter приложением. Исправьте это с помощью приведенного ниже кода.

 var paddingBottom = 48.0;

new MaterialApp(
            debugShowCheckedModeBanner: false,
            title: 'Name',
            home: new MyHomePage(
              title: "NMame",
            ),
            builder: (context, widget) {
              final mediaQuery = MediaQuery.of(context);
              return new Padding(
                child: widget,
                padding: new EdgeInsets.only(bottom: paddingBottom),
              );
            },
            routes: <String, WidgetBuilder>{
                '/HomeScreen': (BuildContext context) =>
                    new MyHomePage(title: 'UPSC Question Papers')
              })
  

обработайте, когда приложение не загружает рекламу

       if(event == MobileAdEvent.failedToLoad){
      setState(() {
        paddingBottom = 0.0;
      });
    }
  

Спасибо

Комментарии:

1. Привет, я вижу, что это работает нормально, но как бы вы справились, если приложение не загружается? Там отображается черный пробел

2. событие проверки ответа на обновление == Mobile.failedToload {

3. Я постараюсь обновить сообщение как можно скорее. Спасибо за ваше время

4. Привет, @SonuKumar Вы установили var paddingBottom = 48.0; но на самом деле мы не знаем, сколько отступов требуется для различных мобильных устройств. есть идеи?

Ответ №2:

Если вы используете виджет Scaffold, попробуйте использовать параметр persistentFooterButtons:. Руководство здесь:http://cogitas.net/show-firebase-admob-banner-ad-in-flutter

Комментарии:

1. Спасибо @nemoryoliver. Проблема с этим подходом в том, что мне нужно перейти к каждому классу и поместить логику в каркас

Ответ №3:

Задайте следующие параметры в функции рекламного баннера show() :

 bannerAd = Utils().myBanner
    ..load()
    ..show(
        anchorType: AnchorType.bottom,
        anchorOffset: 55.0);
  

А также необходимо установить margin: const EdgeInsets.only(bottom: 55) на контейнер