设置 Google 移动广告 Unity 插件

借助 Google 移动广告 Unity 插件,Unity 开发者无需编写 Java 或 Objective-C 代码,即可在 Android 和 iOS 应用中投放 Google 移动广告。该插件提供了一个 C# 接口,供 Unity 项目中的 C# 脚本用于请求广告。

本指南面向希望通过 Unity 应用进行变现的发布商。

前提条件

  • 使用 Unity 编辑器 2019.4 或更高版本。
    • 建议使用 2022.2 或更高版本。
  • 如需在 iOS 上部署,需满足以下要求
    • 使用 Xcode 16.0 或更高版本
    • 以 iOS 13.0 或更高版本为目标平台
    • CocoaPods
  • 如需在 Android 上部署,需满足以下要求
    • Android API 级别为 23 或更高
    • 以 Android API 级别 35 或更高级别为目标平台

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 添加为限定范围的注册表:

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

  4. 在管理器范围下拉菜单中,选择 My Registries(我的注册表)。

  5. 从资源包列表中选择 Google Mobile Ads for Unity(适用于 Unity 的 Google 移动广告)资源包,然后按 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

OpenUPM

  1. 获取最新发布版本的版本标记。返回的标记(不包括 v 前缀)是 Google Mobile Ads Unity Plugin 版本。

    • macOS 和 Linux

      curl -sS https://api.github.com/repos/googleads/googleads-mobile-unity/releases/latest | jq -r '.tag_name'
    • Windows PowerShell

      (Invoke-RestMethod -Uri "https://api.github.com/repos/googleads/googleads-mobile-unity/releases/latest").tag_name
      
  2. 修改 Packages/manifest.json 文件,使用从上一条命令中获取的版本来添加 OpenUPM 限定范围的注册表和依赖项:

    {
      "scopedRegistries": [
        {
          "name": "google",
          "url": "https://package.openupm.com",
          "scopes": [
            "com.google"
          ]
        }
      ],
      "dependencies": {
        "com.google.ads.mobile": "11.5.0"
      }
    }
    

移除 .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(自定义资源包),然后导入所有项目。

设置 Ad Manager 应用 ID

在 Unity 编辑器中,从菜单内依次选择 Assets(资源)> Google Mobile Ads(Google 移动广告)> Settings(设置)

在相应字段中分别输入您的 Android 和 iOS Ad Manager 应用 ID

Google Mobile Ads Unity Plugin 会将这些设置以文本形式保存在 Assets/GoogleMobileAds/Resources/GoogleMobileAdsSettings.asset 配置文件中。

初始化 SDK

加载广告之前,请先调用 MobileAds.Initialize(),以便让应用初始化 Google Mobile Ads Unity Plugin。此操作仅需执行一次,最好是在应用启动时执行。

以下示例展示了如何调用 MobileAds.Initialize()

MobileAds.Initialize((InitializationStatus initstatus) => { if (initstatus == null) { Debug.LogError("Google Mobile Ads initialization failed."); return; } Debug.Log("Google Mobile Ads initialization complete."); MobileAdsEventExecutor.ExecuteInUpdate(() => { // Interact with UnityEngine objects on the main thread here. }); });

在主线程中与 Unity 对象进行交互

Google Mobile Ads Unity Plugin 会在后台线程中触发广告事件。如果广告回调与 Unity 对象(例如 UnityEngine)交互,请使用 MobileAdsEventExecutor.ExecuteInUpdate 方法在 Unity 主线程中明确安排该工作。如需了解实现详情,请参阅在 Unity 主线程中触发广告事件

选择一种广告格式

现在,部署到 Android 或 iOS 平台上时,您的 Unity 应用中会包含 Google Mobile Ads Unity Plugin。接下来就可以植入广告了。AdMob 提供了多种不同的广告格式,您可以从中选择最能优化用户体验的那一种。

横幅广告单元用于展示会占用应用部分版面的矩形广告。这种广告可在设定好的一段时间后自动刷新。也就是说,用户即使停留在应用中的同一个界面上,也会每隔一段时间就看到新广告。这种广告格式也是最容易植入的。

植入横幅广告

插页式广告

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

植入插页式广告

原生

原生广告支持自定义素材资源(如标题和号召性用语)在应用中的呈现方式。通过自行设置广告样式,您可以打造出自然且毫不突兀的广告呈现效果,为用户带来更丰富的体验。

植入原生广告

激励广告

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

植入激励广告