本指南面向希望通过 Unity 应用进行创收的发布商。
要展示 AdMob 广告并赚取收入,第一步就是将 Google 移动广告 Unity 插件集成到应用中,本文便为您讲解如何完成这一步。完成集成后,您可以选择一种广告格式(例如原生广告或激励视频广告),以获取详细的植入步骤。
前提条件
- 使用 Unity 2019 或更高版本
- 要在 iOS 上部署,需具备
- Xcode 12 或更高版本
- CocoaPods
- 要在 Android 上部署,则需要
- 具备 Google Play 服务 18.1.0 或更高版本
- 以 Android API 级别 16 或更高级别为目标平台
- 推荐:创建 AdMob 帐号并注册 Android 和/或 iOS 应用
下载移动广告 Unity 插件
借助 Google 移动广告 Unity 插件,Unity 开发者无需编写 Java 或 Objective-C 代码,即可轻松地在 Android 和 iOS 应用上投放 Google 移动广告。该插件提供了一个用于请求广告的 C# 接口,供 Unity 项目中的 C# 脚本使用。
请通过如下链接下载该插件的 Unity 软件包,或在 GitHub 上查看其代码。
要使用 Unity 编辑器更轻松地植入广告,不妨试试全新的广告展示位置(Beta 版)。
导入移动广告 Unity 插件
在 Unity 编辑器中打开您的项目,然后依次选择 Assets > Import Package > Custom Package,并找到您下载的 GoogleMobileAdsPlugin.unitypackage
文件。
确保选择所有文件,然后点击 Import。
加入移动广告 SDK
Google 移动广告 Unity 插件在发布时随附了 Unity Play 服务解析器库。此库旨在供需要访问 Android 专用库(例如 AAR)或 iOS CocoaPods 的所有 Unity 插件使用。有了此库,Unity 插件就能够声明依赖项,然后依赖项就会被自动解析并复制到您的 Unity 项目中。
请按照下列步骤操作,确保您的项目包含移动广告 SDK。
Android
在 Unity 编辑器中,依次选择 Assets > External Dependency Manager > Android Resolver > Resolve。Unity 外部依赖项管理器库会将声明的依赖项复制到 Unity 应用的 Assets/Plugins/Android
目录中。
iOS
您无需执行其他步骤即可将移动广告 SDK 加入 Unity 项目中。
- 使用 Unity 5.6 及更高版本时,系统会生成包含所需依赖项库的 xcworkspace。请使用生成的 xcworkspace,而不要使用标准 Xcode 项目。
- 使用较低版本的 Unity 时,依赖项已包含在标准 Xcode 项目中。
设置您的 AdMob 应用 ID
在 Unity 编辑器中,从菜单中依次选择 Assets > Google Mobile Ads > Settings。
启用 AdMob,方法是选中 Google AdMob 部分下的 Enabled 复选框。接下来,在相应字段中分别输入您的 Android 和 iOS AdMob 应用 ID。
如果您的应用使用的是 Ad Manager 而非 AdMob,请启用 Google Ad Manager,方法是选中 Google Ad Manager 部分下的 Enabled 复选框。
初始化移动广告 SDK
加载广告之前,请先调用 MobileAds.Initialize()
,以便让应用初始化移动广告 SDK。此操作仅需执行一次,最好是在应用启动时执行。
下例展示了如何在附加到 GameObject
的脚本的 Start()
方法中调用 Initialize()
:
...
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// Initialize the Google Mobile Ads SDK.
MobileAds.Initialize(initStatus => { });
}
}
如果您使用的是中介功能,可能需要等到回调发生后再加载广告,因为这可确保初始化所有的中介适配器。
选择一种广告格式
在 Android 或 iOS 平台上进行部署时,您的 Unity 应用中现已包含移动广告 SDK。您现在可以植入广告了。AdMob 提供了多种不同的广告格式,您可以从中选择最适合您的用户体验需求的格式。
横幅广告
横幅广告是在应用布局中占据一处位置的矩形图片或文字广告。用户与应用互动时,这类广告会停留在屏幕上,并且可在一段时间后自动刷新。如果您刚开始接触移动广告,建议从横幅广告着手。
插页式广告
插页式广告是全屏广告,它会覆盖整个应用界面,直到用户将其关闭。在应用执行流程的自然停顿点,例如游戏的不同关卡之间,或一项任务完成后,最适合投放这类广告。
原生广告
原生广告是一种基于组件的广告格式,允许您自由指定素材资源(如标题和号召性用语)在应用中的呈现方式。通过自行选择字体、颜色和其他详细信息,您可以呈现出自然而不突兀的广告展示效果,进而提供更丰富的用户体验。
激励广告
激励视频广告是一种全屏视频广告,用户可选择完整观看这种广告来换取应用内奖励。
请求应用跟踪透明度授权
如需显示用于访问 IDFA 的应用跟踪透明度 (ATT) 授权请求,请使用 Unity 的 iOS 14 广告支持包。
相同应用密钥
前提条件:Google 移动广告 Unity 插件 6.1.0 或更高版本
Google 移动广告 SDK 引入了相同应用密钥,利用从用户正在使用的应用中收集的数据,帮助您投放更具相关性、个性化程度更高的广告。
相同应用密钥默认处于启用状态,但您可以通过以下 API 将其停用:
public void Start() { RequestConfiguration requestConfiguration = new RequestConfiguration.Builder() .SetSameAppKeyEnabled(true).build(); MobileAds.SetRequestConfiguration(requestConfiguration); // Initialize the Google Mobile Ads SDK. MobileAds.Initialize(HandleInitCompleteAction); }