借助 Google 移动广告 Unity 插件,Unity 开发者无需编写 Java 或 Objective-C 代码,即可在 Android 和 iOS 应用中投放 Google 移动广告。该插件提供了一个用于请求广告的 C# 接口,供 Unity 项目中的 C# 脚本使用。
本指南面向希望通过 Unity 应用进行创收的发布商。
前提条件
- 使用 Unity 2019.4 或更高版本
- 要在 iOS 上部署,需具备以下条件:
- Xcode 15.3 或更高版本
- 定位到 iOS 12.0 或更高版本
- CocoaPods
- 要在 Android 上部署,则需要
- Android API 级别至少为 21 或更高级别
- 以 Android API 级别 34 或更高级别为目标平台
如需设置 Android API 级别,请依次选择 Project Settings > Player > Android > Other Settings > Other Settings。
导入移动广告 Unity 插件
OpenUPM-CLI
如果您已安装 OpenUPM CLI,则可以使用以下命令安装 OpenUPM 注册表:
openupm add com.google.ads.mobile
移除 .unitypackage
插件素材资源
如果您要从使用 .unitypackage
迁移到使用 OpenUPM,则必须从旧位置手动卸载资源。移除从 .unitypackage
导入的以下目录:
- Assets/ExternalDependencyManager
- Assets/GoogleMobileAds
- Assets/Plugins/Android/googlemobileads-unity.aar
- Assets/Plugins/Android/GoogleMobileAdsPlugin
- Assets/Plugins/iOS/GADUAdNetworkExtras
- Assets/Plugins/iOS/unity-plugin-library.a
OpenUPM
- 依次选择 Unity 菜单选项 Edit > Project Settings > Package Manager,打开软件包管理器设置。
将 OpenUPM 作为受限注册表添加到 Package Manager 窗口:
Name: OpenUPM URL: https://package.openupm.com Scopes: com.google
依次选择 Unity 菜单选项 Window > Package Manager,打开软件包管理器菜单。
将经理范围下拉菜单设置为选择我的注册库。
从软件包列表中选择 Google 移动广告(适用于 Unity)软件包,然后按 Install。
移除 .unitypackage
插件素材资源
如果您要从使用 .unitypackage
迁移到使用 OpenUPM,则必须从旧位置手动卸载资源。移除从 .unitypackage
导入的以下目录:
- Assets/ExternalDependencyManager
- Assets/GoogleMobileAds
- Assets/Plugins/Android/googlemobileads-unity.aar
- Assets/Plugins/Android/GoogleMobileAdsPlugin
- Assets/Plugins/iOS/GADUAdNetworkExtras
- Assets/Plugins/iOS/unity-plugin-library.a
从 GitHub 导入
- 从 GitHub 下载最新的
.unitypackage
版本。 - 导入
.unitypackage
文件,方法是依次选择 Unity 菜单选项 Assets > Import package > Custom Package,然后导入所有项目。
添加外部依赖项
Google 移动广告 Unity 插件在发布时随附了 Unity Play 服务解析器库。此库旨在供需要访问 Android 专用库(例如 AAR)或 iOS CocoaPods 的所有 Unity 插件使用。有了此库,Unity 插件就能够声明依赖项,然后依赖项就会被自动解析并复制到您的 Unity 项目中。
请按照以下步骤操作,确保您的项目包含所有依赖项:
Android
依次前往 Project Settings > Player > Android > Publishing Settings > Build,然后选择:
- 自定义主要 Gradle 模板
- 自定义 Gradle 属性模板
在 Unity 编辑器中,依次选择 Assets > External Dependency Manager > Android Resolver > Resolve,以便 Unity 外部依赖项管理器库将声明的依赖项复制到 Unity 应用的 Assets/Plugins/Android
目录中。
iOS
Unity for iOS 使用 CocoaPods 来识别和管理依赖项。 如需了解与 iOS 依赖项相关的具体要求或问题排查步骤,请参阅 CocoaPods 文档。
Google 移动广告 Unity 插件依赖项在 Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml
中列出。
设置您的 Ad Manager 应用 ID
在 Unity 编辑器中,从菜单中依次选择 Assets > Google Mobile Ads > Settings。
在相应字段中分别输入您的 Android 和 iOS Ad Manager 应用 ID 。
初始化 SDK
加载广告之前,请先调用 MobileAds.Initialize()
,以便让应用初始化 Google 移动广告 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 应用中现已包含 Google 移动广告 SDK。您现在可以植入广告了。AdMob 提供了多种不同的广告格式,您可以从中选择最能提供出色用户体验的格式。
横幅
横幅广告单元展示会占用应用的部分布局的矩形广告。它们可以在设定时段后自动刷新。也就是说,即使用户停留在应用中的同一个屏幕上,他们也会每隔一段时间就看到新广告。此种广告格式也是最容易植入的。
插页式广告
插页式广告单元用于在您的应用中展示全屏广告。请将这些广告单元放置在应用界面中的自然停顿点和过渡点,比如在游戏应用中过关后。
原生
原生广告是一种广告格式,您可以通过这种广告格式指定素材资源(如标题和号召性用语)在应用中的呈现方式。通过自行设置广告样式,您可以呈现出自然、不突兀的广告展示效果,从而使用户体验更加丰富。
激励广告
激励广告单元可让用户通过玩游戏、接受调查或观看视频来获得游戏代币、额外的生命或积分等应用内奖励。您可以针对不同广告单元设置不同的奖励,并指定用户将会获得的奖励价值和奖品。