本指南面向希望通过 Flutter 应用创收的发布商。
要展示 AdMob 广告并赚取收入,第一步就是将 Google 移动广告 SDK 集成到 Flutter 应用中。集成完成后,您可以选择一种广告格式,以获取详细的实现步骤。
Flutter 版 Google 移动广告 SDK 目前支持加载和展示横幅广告、插页式广告(全屏)、原生广告和激励广告。
前提条件
- Flutter 1.22.0 或更高版本
- Android 设备
- Android Studio 3.2 或更高版本
- 以 Android API 级别 20 或更高级别为目标平台
- 将
compileSdkVersion
设置为 28 或更高版本
- iOS 设备
- 具有已启用命令行工具的最新版 Xcode
- 推荐:创建 AdMob 帐号并注册 Android 和/或 iOS 应用
导入移动广告 SDK
- 在 Flutter 项目中添加 Flutter 版 Google 移动广告 SDK 插件。
针对具体平台的设置
Android
更新 AndroidManifest.xml
AdMob 应用 ID 必须包含在 AndroidManifest.xml
中。否则,会导致应用启动时崩溃。
通过添加名为 com.google.android.gms.ads.APPLICATION_ID
的 <meta-data>
标记,将 AdMob 应用 ID(可在 AdMob 网页界面中找到)添加到应用的 android/app/src/main/AndroidManifest.xml
文件中。对于 android:value
,请插入您自己的 AdMob 应用 ID 并加上英文引号,如下所示:
<manifest>
<application>
<!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
<application>
<manifest>
在 Dart 代码中初始化插件时,请使用相同的 value
。
如需详细了解如何配置 AndroidManifest.xml
和设置应用 ID,请参阅 Android 指南。
iOS
更新 Info.plist
在应用的 ios/Runner/Info.plist
文件中,添加一个字符串值为 AdMob 应用 ID 的 GADApplicationIdentifier
键,此 ID 可在 AdMob 网页界面中找到:
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-################~##########</string>
在 Dart 代码中初始化插件时,您必须传递相同的值。
如需详细了解如何配置 Info.plist
和设置应用 ID,请参阅 iOS 指南。
初始化移动广告 SDK
加载广告之前,请通过调用 MobileAds.instance.initialize()
让应用初始化移动广告 SDK。该方法会初始化 SDK,并在初始化完成后或 30 秒超时后返回完成的 Future
。此操作仅需执行一次,最好是在运行应用之前执行。
import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:flutter/material.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
MobileAds.instance.initialize();
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
MyAppState createState() => MyAppState();
}
class MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
// Load ads.
}
}
选择广告格式
导入移动广告 SDK 后,您就可以植入广告了。AdMob 提供了许多不同的广告格式,您可以根据您应用的用户体验选择最契合的一种。
横幅
横幅广告是在设备屏幕的顶部或底部展示的矩形广告。用户与应用互动时,横幅广告会停留在屏幕上,并且可在一段时间后自动刷新。如果您刚开始接触移动广告,建议从横幅广告着手。
插页式广告
全屏广告,它会覆盖整个应用界面,直到用户将其关闭。 在应用执行流程的自然停顿点,例如游戏的不同关卡之间或一项任务完成后,最适合投放这类广告。
原生
与您的应用外观和风格浑然一体的定制广告。您可以决定这些广告的投放方式和位置,让广告布局与应用的设计更加一致。
已奖励
向观看短视频以及与试玩广告及调查问卷互动的用户予以奖励的广告。适合通过免费游戏用户变现。