【问题标题】:How to position Firebase Admob on the bottom after keyboard is closed in Flutter?在 Flutter 中关闭键盘后如何将 Firebase Admob 定位在底部?
【发布时间】:2020-02-22 02:44:47
【问题描述】:

我正在使用 firebase_admob 包。我使用以下代码并设法使 Admob 横幅显示在键盘顶部。

    @override
      Widget build(BuildContext context) {
        myBanner.show(
          anchorOffset: MediaQuery.of(context).viewInsets.bottom, anchorType: AnchorType.bottom)
        );

    return Scaffold(
      //Other codes
        );
    }

但是,当键盘关闭时,横幅不会移动到底部。如何解决?

【问题讨论】:

    标签: flutter firebase-admob


    【解决方案1】:

    使用[admob_flutter] package 解决了问题,它可以简单地将横幅添加为小部件,我们可以将其放置在我们想要的任何位置。

    AdmobBanner(
      adUnitId: getBannerAdUnitId(),
      adSize: AdmobBannerSize.BANNER,
    )
    

    【讨论】:

    • 有人试过 [admob_flutter] 因为它不是官方的,所以安全吗?我没有检查代码,所以我不知道引擎盖下发生了什么。
    • 这个插件不错,但同时也有一些大bug。它只是在很多情况下使应用程序崩溃。请告诉任何替代方案....
    • 我们应该使用 firebase_admob 和 admob_flutter 吗?或者我们可以只使用 admob_flutter 吗?为什么我们应该使用 firebase_admob?我的意思是在什么情况下?
    • firebase_admob 就是所谓的官方包。虽然 admob_flutter 不是 Google 团队官方维护的,但从源码可以看出,它使用的是官方的 Admob SDK。
    【解决方案2】:

    你可以使用keyobar_visibility插件来改变banner位置

      KeyboardVisibilityNotification().addNewListener(
        onChange: (bool visible) {
          print(visible);
          // Change the your myBanner.show parameters here with setState
          // anchorOffset and anchorType
        },
      );
    

    【讨论】:

    • 谢谢,但是为什么使用 MediaQuery,我成功地在键盘打开时使横幅向上移动,但是为什么当键盘关闭时横幅不会向下移动?
    猜你喜欢
    • 2020-07-14
    • 2021-06-09
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 2021-09-25
    • 2021-03-29
    • 1970-01-01
    相关资源
    最近更新 更多