本指南适用于希望通过 Unity 应用创收的发布商。
要展示 AdMob 广告并赚取收入,第一步就是将 Google 移动广告 Unity 插件集成到应用中,本文便为您讲解如何完成这一步。集成完成后,您可以选择一种广告格式(例如原生广告或激励视频广告),以获取详细的植入步骤。
前提条件
- 使用 Unity 2019 或更高版本
- 部署到 iOS
- Xcode 13.2.1 或更高版本
- 以 iOS 10.0 或更高版本为目标平台
- CocoaPods
- 部署到 Android
- Google Play 服务 18.1.0 或更高版本
- 以 Android API 级别 16 或更高级别为目标平台
- 推荐:创建 AdMob 帐号并注册 Android 和/或 iOS 应用
下载移动广告 Unity 插件
借助 Google 移动广告 Unity 插件,Unity 开发者可以在 Android 和 iOS 应用上轻松投放 Google 移动广告,而无需编写 Java 或 Objective-C 代码。该插件提供了一个用于请求广告的 C# 接口,供 Unity 项目中的 C# 脚本使用。
使用以下链接下载该插件的 Unity 软件包,或在 GitHub 上查看其代码。
导入移动广告 Unity 插件
在 Unity 编辑器中打开您的项目。依次选择 Assets > Import Package > Custom Package,然后找到下载的 GoogleMobileAdsPlugin.unitypackage
文件。
确保选择所有文件,然后点击 Import。
添加移动广告 SDK
Google 移动广告 Unity 插件随 Unity Play 服务解析器库一起分发。此库旨在供需要访问 Android 专用库(例如AAR)或 iOS CocoaPods。让 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。
在每个字段中输入您的 Android 和 iOS AdMob 应用 ID。
初始化移动广告 SDK
加载广告之前,请先调用 MobileAds.Initialize()
,以便让应用初始化移动广告 SDK。此操作仅需执行一次,最好是在应用启动时执行。
以下示例展示了如何在附加到 GameObject
的脚本的 Start()
方法中调用 Initialize()
:
...
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
public void Start()
{
// When true all events raised by GoogleMobileAds will be invoked
// on the Unity main thread. The default value is false.
MobileAds.RaiseAdEventsOnUnityMainThread = true;
// 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); }