本指南面向希望通过 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
文件中,添加一个 GADApplicationIdentifier
键,其值为字符串形式的 AdMob 应用 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 提供了许多不同的广告格式,您可以根据您应用的用户体验选择最契合的一款。
横幅
横幅广告是在设备屏幕的顶部或底部展示的矩形广告。用户与应用互动时,横幅广告会停留在界面上,并且可在一段时间后自动刷新。如果您刚开始接触移动广告,建议从横幅广告着手。
插页式广告
插页式广告是全屏广告,它会覆盖整个应用界面,直到用户将其关闭。在应用执行流程的自然停顿点,例如游戏的不同关卡之间或一项任务完成后,最适合投放这类广告。
原生
原生广告是一种与您应用的外观和风格融为一体的定制广告。您可以决定这类广告的投放方式和位置,从而让版式与应用的设计风格更为统一。
激励广告
向观看短视频和与试玩广告及问卷调查互动的用户予以奖励的广告。适合用来通过只愿意免费玩游戏的用户创收。