本指南面向希望通过 Flutter 应用进行变现的发布商。
要展示 Ad Manager 广告并赚取收入,第一步就是将 Google 移动广告 SDK 集成到 Flutter 应用中。我们将在本文中为您讲解这一点。 完成集成后,您可以选择一种广告格式以获取详细的植入步骤。
适用于 Flutter 的 Google 移动广告 SDK 目前支持加载和展示横幅广告、插页式广告(全屏广告)、原生广告和激励广告。
前提条件
- Flutter 1.22.0 或更高版本
- Android
- Android Studio 3.2 或更高版本
- 以 Android API 级别 20 或更高级别为目标平台
- 将
compileSdkVersion
设为 28 或更高版本
- iOS 设备
- 带有启用的命令行工具的最新版 Xcode
导入移动广告 SDK
- 在 Flutter 项目中添加 Google 移动广告 SDK for Flutter 插件。
针对具体平台的设置
Android
更新 AndroidManifest.xml
Ad Manager 应用 ID 必须包含在 AndroidManifest.xml
中。否则会导致应用启动崩溃。
通过添加名称为 com.google.android.gms.ads.APPLICATION_ID
的 <meta-data>
标记,将 Ad Manager 应用 ID(可在 Ad Manager 界面中找到)添加到应用的 android/app/src/main/AndroidManifest.xml
文件中。您可以在 Ad Manager 界面中找到应用 ID。对于 android:value
,请插入您的 Ad Manager 应用 ID 并加上引号,如下所示:
<manifest> <application> <!-- Sample 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
键,其含有您的 Ad Manager 应用 ID 的字符串值(可在 Ad Manager 界面中找到):
<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,您随时可以植入广告了。Ad Manager 提供了多种不同的广告格式,您可以从中选择最适合您应用的用户体验的广告格式。
横幅
横幅广告是在设备屏幕的顶部或底部展示的矩形广告。用户与应用互动时,横幅广告会停留在界面上,并且可在一段时间后自动刷新。如果您刚开始接触移动广告,建议从横幅广告着手。
插页式广告
插页式广告是全屏广告,它会覆盖整个应用界面,直到用户将其关闭。 在应用执行流程的自然停顿点,例如游戏的不同关卡之间,或一项任务完成后,最适合投放这类广告。
原生
与您的应用外观和风格相符的可自定义的广告。您可以决定这类广告的投放方式和位置,从而使布局与应用的设计更加一致。
已奖励
作为观看短视频以及与试玩广告和调查问卷互动的用户的奖励广告。适用于通过免费游戏用户创收。