שנתחיל?

借助 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

  1. 依次选择 Unity 菜单选项 Edit > Project Settings > Package Manager,打开软件包管理器设置
  2. 将 OpenUPM 作为受限注册表添加到 Package Manager 窗口:

    Name: OpenUPM
    URL: https://package.openupm.com
    Scopes: com.google
    
  3. 依次选择 Unity 菜单选项 Window > Package Manager,打开软件包管理器菜单

  4. 将经理范围下拉菜单设置为选择我的注册库

  5. 从软件包列表中选择 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 导入

  1. 从 GitHub 下载最新的 .unitypackage 版本。
  2. 导入 .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 中列出。

设置您的 AdMob 应用 ID

在 Unity 编辑器中,从菜单中依次选择 Assets > Google Mobile Ads > Settings

在相应字段中分别输入您的 Android 和 iOS AdMob 应用 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 提供了多种不同的广告格式,您可以从中选择最能提供出色用户体验的格式。

横幅广告单元展示会占用应用的部分布局的矩形广告。它们可以在设定时段后自动刷新。也就是说,即使用户停留在应用中的同一个屏幕上,他们也会每隔一段时间就看到新广告。此种广告格式也是最容易植入的。

植入横幅广告

插页式广告

插页式广告单元用于在您的应用中展示全屏广告。请将这些广告单元放置在应用界面中的自然停顿点和过渡点,比如在游戏应用中过关后。

植入插页式广告

原生

原生广告是一种广告格式,您可以通过这种广告格式指定素材资源(如标题和号召性用语)在应用中的呈现方式。您可以自行设置广告样式,呈现出自然、不突兀的广告展示效果,从而使用户体验更加丰富。

植入原生广告

激励广告

激励广告单元可让用户通过玩游戏、接受调查或观看视频来获得游戏代币、额外的生命或积分等应用内奖励。您可以针对不同广告单元设置不同的奖励,并指定用户将会获得的奖励价值和奖品。

植入激励广告

插页式激励广告

插页式激励广告是一种激励用户的新型广告格式,采用这种格式时,您可以通过在应用中的自然过渡点自动展示的广告向用户提供奖励,如金币或额外的生命数。

与激励广告不同,用户无需自行选择即可观看插页式激励广告。

与激励广告中的选择观看提示不同,激励插页式广告需要一个介绍画面,其中显示提供的奖励,并可以让用户选择退出广告(如果他们想要退出)。

植入插页式激励广告

开屏广告

开屏广告是一种在用户打开或切换回您的应用时展示的广告格式。广告会叠加在加载屏幕上。

植入开屏广告