首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我正在尝试将admob集成到flutter中。它返回null?

集成 AdMob 到 Flutter 中返回 null 的原因可能有几个:

  1. 广告单元配置问题:确认在 AdMob 控制台正确创建了广告单元,并使用了正确的广告单元 ID。还需确保广告单元的状态为“已启用”或“测试中”,以便在开发期间测试广告。
  2. AdMob SDK 集成问题:确保已正确集成了 AdMob SDK。首先,在 pubspec.yaml 文件中添加 firebase_admob 包的依赖,并运行 flutter pub get 下载依赖。然后,在 Flutter 项目中正确初始化 AdMob,例如在应用程序的 main.dart 文件中添加以下代码:
代码语言:txt
复制
import 'package:firebase_admob/firebase_admob.dart';

// 初始化 AdMob
MobileAdTargetingInfo targetingInfo = MobileAdTargetingInfo(
  keywords: <String>['flutter', 'admob'],
  testDevices: <String>[], // 在测试设备上显示测试广告
);
FirebaseAdMob.instance.initialize(appId: 'YOUR_ADMOB_APP_ID');

// 显示广告
BannerAd myBanner = BannerAd(
  adUnitId: 'YOUR_AD_UNIT_ID',
  size: AdSize.banner,
  targetingInfo: targetingInfo,
  listener: (MobileAdEvent event) {
    print("BannerAd event is $event");
  },
);
myBanner..load()..show();

请确保将 'YOUR_ADMOB_APP_ID' 替换为您在 AdMob 控制台中获取的应用程序 ID,并将 'YOUR_AD_UNIT_ID' 替换为您创建的广告单元的 ID。

  1. 运行环境问题:如果您的 Flutter 应用程序运行在模拟器或虚拟机上,且未配置测试设备 ID,则可能无法加载广告。请确保在 targetingInfo 中添加适当的测试设备 ID(可以通过运行应用程序并查看控制台输出来获取)。如果您的应用程序已在真机上运行并配置了正确的广告单元和应用程序 ID,则可能需要等待一段时间以使广告开始显示。

总结:

  • 确认广告单元配置和状态是否正确。
  • 确保 AdMob SDK 已正确集成到 Flutter 项目中。
  • 配置适当的测试设备 ID,以便在模拟器或虚拟机上显示测试广告。
  • 确保应用程序已在真机上运行,并等待一段时间以使广告开始显示。

关于 AdMob 的更多信息和详细集成指南,请参考腾讯云 AdMob 产品文档: https://cloud.tencent.com/document/product/1116/37448

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

App、H5、PC应用多端开发框架Flutter 2发布

Flutter甚至可以嵌入汽车、电视和智能家电,为周围的计算世界提供最普及和便携的体验。...Flutter 是开放的,成千上万的贡献者加入核心框架,并用一个包的生态系统来扩展。...在今天发布的Flutter 2,我们Flutter 从一个移动框架扩展到了一个可移植的框架,使您的应用程序可以在各种不同的平台上运行,几乎没有变化。...今天,我们发布针对Flutter的Google移动广告beta版,这是一个新的SDK,与AdMob和AdManager合作,提供多种广告格式,包括横幅广告、插页广告、原生广告和奖励视频广告。...如果您还没有尝试Flutter,我们认为您会发现它是您应用程序开发体验的一个重大升级。

8.9K30

【老孟FlutterFlutter 2 新增的功能

Web 截止今天,Flutter的Web支持已经从Beta过渡到稳定渠道。在此初始稳定版本Flutter在Web平台的支持下代码的可重用性提高另一个层次。...通过空检查合并到类型系统,可以在开发过程捕获这些错误,从而防止生产崩溃。从Flutter 2开始,包含Dart 2.12的稳定版完全支持Null Safety。...具有Add-to-App的多个Flutter实例 从与许多Flutter开发人员的交谈我们了解,您的许多人没有启动全新应用程序的奢侈心意,但您可以通过Flutter添加到现有的iOS和Android...此功能称为Add-to-App,是在两个移动平台上重用Flutter代码同时仍保留现有本机代码库的绝佳方法。但是,对于您的那些人,我们有时会听到,不清楚如何第一个屏幕集成Flutter。...图片发布 经过两年的开发,对Dart的LSP(语言服务器协议)支持现已作为默认方式提供给Dart分析器,以将其集成Flutter扩展的Visual Studio Code

7.8K20

Flutter2 来了!!!

借助Flutter 2,您可以使用相同的代码库本机应用程序发布五个操作系统:iOS,Android,Windows,macOS和Linux; Windows Vista,Windows XP和Windows...Flutter甚至可以嵌入汽车,电视和智能家电,为环境计算世界提供最普遍和最便携式的体验。 ?...在今天发布的Flutter 2,我们Flutter从移动框架扩展到了可移植框架,释放了您的应用程序,使其可以在各种不同的平台上运行,而几乎没有改变。...在所有这些平台上的Google级性能,可靠的null安全性保证了运行时和开发过程null约束。 没有其他语言可以结合所有这些功能。...如果您还没有尝试Flutter,我们认为您会发现它对您的应用程序开发体验而言是一次重大升级。

3.2K20

【iOS开发】在 App 中加入 AdMob 广告 - 入门介绍与编程技巧

用户没有掏钱,得到了方便,开发者也得到了回报:) 个人出于对金钱的考虑和对Google的信任,选择了AdMob这个平台来在App投放广告(https://apps.admob.com 访问需要,为SS...AdMob网站截图 注意,地址要填真实地址,在Google给你汇款之前,他要给你邮寄一封实体信件,上面有一个PIN码,你要把这个PIN码输入AdMob网站上的相应位置,Google才会开始你给你汇款...,一个App可以对应多个识别码),把 GoogleMobileAds.framework 下载下来,看一下人家的示例代码,就集成App了。...而即便你的 UITableView 是存在于 UIViewController 的,即这个 UITableView 是你自己添加进来的,你可以任意调节 frame,依然建议你用上面这种方法,而不是直接把...,就不在这篇文章写了,如果看着费劲的话,欢迎在下面评论,也可以再写一篇关于定时器的文章。

4.1K30

Flutter 2 来了!

Flutter 的运行速度极快,能够源代码编译为机器码;我们还支持有状态热重载,确保您在解释环境获得良好生产力,并在应用程序运行时做出变更并立即查看结果。...在谷歌,同样有 1000 多名工程师正在使用 Dart 与 Flutter 构建应用产品,其中的代表包括 Stadia、Google One 以及 Google Nest Hub。...谷歌级性能水平,可跨越一切平台实现良好性能表现,提供 sound null safety 以保证运行时与开发过程null 约束能力。...Sound null safety 有望消除 null 引用引发的异常,为开发及运行时提供良好保障,允许开发人员明确指定哪些类型可以包含 null 值。...在 Flutter ,我们还提供一套开源工具包,可通过单一代码库构建起面向移动、桌面、Web 以及嵌入式设备的出色应用程序,谷歌级别的质量水准引入您的实际需求场景当中。

1.5K20

Flutter 专题】49 图解 Flutter 与 Android 原生交互

和尚以上一节 Android 原生集成 Flutter Module 为基础,对于不同的 Channel 进行学习尝试;且和尚通过 View / Fragment / Activity 三种原生加载方式进行测试...; MethodChannel 和尚在 Flutter 页面,点击右下角按钮,消息传递给 Android;MethodChannel 通过 invokeMethod 进行消息发送,固定的第一个...FlutterView 在 Android 集成 Flutter Module 时,官方建议使用 View / Fragment 方式,在使用 View 时,建议 Activity 继承...传递的相同 method name 时可以尝试获取传递参数;若此时需要向 Flutter 返回传递参数可以通过 result.success() 方法进行数据传递,若无需传递则可不设置当前方法;...注意交互返回中内容是否为空 和尚在测试 MethodChannel 时,invokeMethod 时尝试了一个参数和两个参数的构造,只有一个参数的 invokeMethod 是没有回调内容的

2.2K41

(译)Dart2.12版本发布,可靠的空安全,dart:ffi正式投入生产

Google Pay小组在Flutter代码中发现了一些错误,这些错误会在尝试State在上下文之外访问Flutter对象时失败的Widget。...在实现null安全之前,这些对象返回null并掩盖错误;出于安全考虑,可靠的分析器确定这些属性永远不会为空,并引发了分析错误。...8.Dart FFI,用于Dart与C库集成 Dart FFI使您能够利用C库的现有代码,以获得更好的可移植性,并与经过高度调整的C代码集成以执行对性能至关重要的任务。...我们正在调查的一些功能包括: 特定于ABI的数据类型,例如int,long,size_t(#36140) 内联结构的数组(#35763) 打包的结构(#38158) 联合类型(#38491) 终结器暴露给...接下来,我们考虑在我们强大的基础上对语言和平台进行更多的增量更改。快速浏览一下我们在语言设计渠道中正在尝试的一些事情: 类型别名(#65):可以为非函数类型创建类型别名。

2.6K20

Flutter 2.8正式版发布了,还不来看看

此版本支持 5 种广告格式,集成AdMob 和 Ad Manager 支持,并包含一个新的中转功能的测试版,可以帮助你优化广告展现的效果。...有关 Google Ads 集成 Flutter 应用以及其他货币化选项的更多信息,请查看 Flutter 网站上的页面。...如果你正在使用特定于平台的原生代码构建插件,你可以 使用项目 pubspec.yaml 的 pluginClass 属性 来实现,该属性指定提供原生功能的原生类名: flutter: plugin...这意味着你省去下载 .json文件 Android 工程、下载 .plist 文件 iOS 和 macOS 工程的时间了,当然,也无需再复制粘贴代码到你的 Web 工程了。...诚然,我们正在为世界上越来越多的开发人员构建 Flutter,但如果没有你和每位开发者的存在,我们也无法维护并构建Flutter 社区与众不同,感谢你所做的一切

22.3K30

Flutter 在铭师堂的实践

网络库 EIO Flutter 提供了自己的http 包。但是集成原生app的时候,我们仍然希望网络这个基础操作的口子可以被统一管理。...通过对比实际的dart dio请求的相同的字节流,发现,byte的一些数据转换成int的时候发生了溢出,变成了负数,产生了乱码。正好是做一次补码运算,就成了正确的。所以。...在 Andorid 提供了一个 pretreatment 函数,在 ARouter 的 PretreatmentService调用进行处理。返回最终的路由 path 和 参数。...总结 这里,分享了一些 Flutter 的原理和我们的一些实践。希望能和一些正在研究 Flutter 的同学进行交流和学习。...我们的 Flutter 在基础设施开发的同时,还剥离编写了一些 升学e网通APP 上的页面和一些基础的 ui 组件库。在未来我们会尝试在一些老的页面,上线 Flutter 版本。

91310

Flutter 专题】64 图解基本 TextField 文本输入框 (一)

,而 maxLines 最多只展示设置行数; return TextField(maxLength: 130, maxLengthEnforced: false, maxLines: null); return...decoration 为边框修饰,可以借此来调整 TextField 展示效果;可以设置前置图标,后置图片,边框属性,内容属性等,和尚会在后续集中尝试;若要完全删除装饰, decoration 设置为空即可...当 TextField 设置 enableInteractiveSelection 属性后长按会出现菜单,默认为英文,可通过设置 Flutter 国际化来处理; 在 pubspec.yaml 中集成 flutter_localizations...; dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter 在 MaterialApp 设置本地化代理和支持的语言类型... maxLength 设置为 null 仅使用 LengthLimitingTextInputFormatter 限制最长字符; return TextField(maxLength: null, inputFormatters

4.5K51

Flutter 专题】78 图解 Android Native 集成 FlutterBoost 小尝试 (一)

新建 Flutter Module 和尚新建一个 Flutter Module 集成 Android Project ;其中该 Module 也支持 AndroidX; compileSdkVersion...Flutter Module 接入 FlutterBoost 和尚按照官网尝试接入 'v0.1.61-androidx-hotfixes' 分支 FlutterBoost 发现并未完全适配...AndroidX Project 接入 Flutter Module 和尚 Flutter Module 接入 Android 工程,方法不再赘述,注意 build.gradle 需要加入...Code 案例 至此,Flutter 和 FlutterBoost 的集成已基本完成,接下来是两端映射与跳转方面的学习,和尚建议刚开始时可以将官网的代码复制拷贝项目中,先跑通项目更直观的感受...跳转 Android Flutter 通过 BoostFlutterActivity 构建跳转,注意映射 url 一致;若需要获取返回值内容,可以通过 **** 固定的 *KEY* 获取,且获取的格式是

85931

Flutter』常用组件 表单

1.前言 在上一篇文章,介绍完毕了常用组件的 TextField 组件,本篇文章继续介绍常用组件的表单组件。...2.表单 2.1.介绍 在Flutter,表单(Form)是一个用于数据收集和验证的容器组件。通常与 TextField 和 FormField 等输入组件结合使用,以创建一个完整的用户输入表单。..._formKey 3.1.介绍 _formKey 在 Flutter 通常是作为一个 GlobalKey 实例来使用,主要用于管理 Form 组件。...4.参考资料 https://api.flutter.dev/flutter/widgets/Form-class.html End 如果您对本文有任何疑问或想法,请在评论区留言,很乐意与您交流。...正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

53810

Develop as One | 2021 Google 开发者大会主旨演讲精彩回顾

增强现实正在走进更多人的生活,ARCore by Google 的更新赋能开发者实现 真实且富有创意的 AR 应用。...开源解决方案 TFX 在大大提升运营管理效率的同时,也兼具公平性和包容性,提供集成公平性指标和隐私工具包,实现更负责任的机器学习项目实践。...Flutter 适配多平台的解决方案,打造优异的用户体验 Flutter 始终坚持自我优化与更新,现已推出的 2.5 稳定版进一步提升了多平台体验。...Flutter 谷歌移动广告插件的稳定版正式发布: 同时支持 AdMob 和 Ad Manager,增添了开屏广告、自适应尺寸广告,广告中介等新功能,帮助 Flutter 开发者增加广告收益。...此前,谷歌更携手古北水镇一起,邀请北京市向荣公益基金会项目学校的孩子们同游司马台长城,通过科技与艺术的结合长城文化传承给下一代。在谷歌的产品设计始终贯穿着平等与包容性的理念,让人人都能从中受益。

1.3K10

Android Flutter:手把手教你如何进行Android 与 Flutter的相互通信

在日常开发,Android Native端与Flutter端通信交互的应用场景十分常用 今天,全面讲解Android Native端与Flutter端通信的交互的方式,旨在让你熟练掌握Android...准备工作 在讲解上述三种通道前,我们需要将Flutter集成当前的Android目录 步骤1:创建 flutter module 模块 // 步骤1: cdAndroid 工程目录 // 步骤2...作为Module集成Android工程 步骤2:添加flutter module模块当前项目 // 步骤1:在项目根目录的settings.gradle添加: setBinding(new Binding...已经集成当前Android工程项目中 4....下面,再用讲解一个较为基础的场景:在Android显示Flutter界面 5.

2.9K20

Android 集成 Flutter | 与交互

前言 使用 Flutter 已经有一段时间了,开发体验还是非常好的,但是一般我们在正式使用 Flutter 的时候很少会去创建一个纯 Flutter 项目,而是需要在之前的项目中已集成的方式来编写 Flutter...这篇文章将以如何在 Android 项目中集成 Flutter 和 如何在两者之间进行交互为主要内容。...在 Android 项目中集成 Flutter 项目 首先我们需要找一个 android 项目,以这个为基础来集成 Fluuter。...的新能明显高于 TextureView,但是 SufaceView 不能再 Android View 层次结构交叉,SurfaceView 必须是最下面的视图,或者是最上面的视图。...Flutter 返回值"; }); } 复制代码 上面代码监听 android 端的调用,接着根据方法名字判断是哪个方法即可。

1.9K20

Flutter完整开发实战详解(十四、混合开发打包 Android 篇)

本篇将带你深入了解 Flutter 打包和插件安装等原理,帮你快速完成 Flutter 集成现有 Android 项目,实现混合开发支持。...二、打包 一般跨平台混合开发会有两种选择: 1、 Flutter 整体框架依赖和打包脚本都集成主项目中。 2、以 aar 的完整库集成形式添加到主项目。...第二种方式 需要单独调试后,更新 aar 文件再集成项目中调试,但是这类集成方式更干净,同时 Flutter 相关代码可独立运行测试,且改动较小。...一般而言,对于普通项目是建议以 第二种方式集成项目中的 ,通过新建一个 Flutter 工程,然后对工程进行组件化脚本处理,让 既能以 apk形式单独运行调试,又能打包为aar形式对外提供支持。...image 而在 android 工程的 settings.gradle 里,如下图所示,会通过读取该文件 .flutter-plugins 文件的项目一个个 include 主工程里。 ?

3.2K20

Flutter 专题】图解 ListView 下拉刷新与上拉加载 (一)

和尚也是再偶然间看到有大神用到这个三方库的,和尚想要尝试的原因主要是因为一是因为 flutter_refresh 集成很简单,不用单独写头部样式和底部加载时的 loading 等;二是和尚技术太有限,对...Flutter 的未知有太多,想多尝试几种方式。...集成方式 pubspec.yaml 添加 flutter_refresh : ^0.0.2,并同步 packages get; 在相应的 .dart 文件添加引用 import 'package:...padding: new EdgeInsets.fromLTRB(0.0, 35.0, 0.0, 0.0), child: new Center( child: new Text('正在加载...= null) { dataItems.clear(); } ---- 和尚刚接触 Flutter 时间不长,还有很多不清楚和不理解的地方,如果又不对的地方还希望多多指出。

1.6K31

谷歌推出创新性 Web 开发工具 Project IDX,助力开发者构建强大应用

尝试了几次,结果发现是的工作空间实际上已经创建好了。于是回到首页,删除了第二个工作区,并打开了第一个。...最后,开始了设置: 生成的工作空间显示了一个简单的 Web 应用程序,当然,可以在这里做任何事情。...IDX 的 AI 功能相当隐蔽——在屏幕的右下方有一个小图标,当我点击时,显示如下: 遗憾的是,无法告诉你 IDX AI 到底有多好,因为收到了以下消息:“IDX AI 在您的地区尚未启用。...在采访我们发现,除了移动测试,IDX 的许多其他特性要么正在开发,要么被谷歌称为“实验性”。所以我问他,是什么让 IDX 成为开发人员的创新性解决方案呢?...所以我们正积极解决的一件事便是在现代浏览器登录谷歌帐户,以及如何缩短从输入 URL 启动并运行应用的时间,然后你就可以开始开发了。”

17710

flutter_xupdate 让你一键实现flutter应用版本更新

最近在研究Flutter,于是就随手写了一个Flutter小项目练练手,在写的时候就发现,目前并没有非常好用的版本更新Flutter插件,尝试了使用Bugly的版本更新Flutter插件,但是效果非常不好...为此仔细研究了一下Flutter的插件开发,用了不到1天的时间,就把XUpdate的绝大多数功能在Flutter插件上实现了,这下就可以舒舒服服地使用一行代码来实现版本更新了!...自定义更新提示弹窗样式 ---- 集成指南 添加引用依赖 在你的flutter项目中的pubspec.yaml文件添加flutter_xupdate依赖....方法一: pub集成 dependencies: flutter_xupdate: ^1.0.0 方法二: github集成 dependencies: flutter_xupdate:...错误码 错误码 备注 2000 查询更新失败 2001 没有wifi 2002 没有网络 2003 正在进行版本更新 2004 无最新版本 2005 版本检查返回空 2006 版本检查返回json解析失败

5.4K30
领券