Google AdMob 集成
通过设置 AdMob 广告单位并在 LevelPlay 后台中配置集成,将 AdMob 与 Unity LevelPlay 聚合集成。
阅读时间7 分钟最后更新于 2 天前
本指南将逐步说明如何在 Unity LevelPlay Mediation 中将 AdMob 和 AdMob Native 设置为实时广告网络。
先决条件
Google Ad Manager 广告服务使用 AdMob SDK。
从 AdMob SDK 7.69.0+ 开始,AdMob 使用 XCFramework。如果要使用 CocoaPods 进行 AdMob 集成,请确保您有 CocoaPods 版本 1.9.0+。
AdMob 支持 Android 操作系统版本 4.1(API 级别 16)及更高版本。所需的 Gradle 构建具为 3.5.4。\
AdMob SDK 支持 iOS 版本 10+,将为 iOS 版本 11+ 上的用户服务器广告服务。
步骤 1.创建 AdMob 帐户
- 要通过 Unity LevelPlay Mediation 访问 AdMob 的横幅广告和原生广告库存,您需要创建 AdMob 帐户。
- 建议将 AdMob 帐户的时间调整为 UTC,以便与 Ironsource 平台保持一致。这将确保准确的报告。了解更多信息。
步骤 2.在 Admob 中创建应用程序和广告区域
接下来,您必须添加 app 并在 AdMob 帐户中设置 Ad Zones。
AdMob 不允许在同一设置中设置超过 3 个相同广告类型的广告区域。
例如,聚合组的奖励广告服务不得超过三个。
例如,聚合组的奖励广告服务不得超过三个。
添加 app
-
登录 AdMob 帐户。在控制面板上,选择 Apps。
-
此时将显示一个模态,您可以在其中搜索 app、手动添加 app 或直接选择现有 app 进行变现。
-
选择插页式、奖励式、横幅广告或原生高级(横幅广告的原生广告服务)作为广告单元格式,并输入相关详细信息。
插页式视频
- Ad Type(广告类型):您可以保留这两个复选框,因为我们支持文本、图像、视频和富媒体插页。
- Ad unit name(广告单元名称):建议的最佳做法是直观地命名广告单元,以便通过 Unity LevelPlay Mediation 很容易识别为要投放 AdMob Interstitials 的广告单元。
奖励广告
- Ad unit name(广告单元名称):建议的最佳做法是直观地命名广告单元,以便通过 Unity LevelPlay Mediation 轻松识别为 AdMob 奖励广告服务的广告单元。
横幅广告
- Ad Unit Name(广告单元名称): 建议的最佳做法是直观地命名广告单元,以便很容易识别为您即将投放的广告单元 AdMob Banners Unity LevelPlay Mediation
- eCPM 地面 - 根据国家和瀑布流策略启用并输入 eCPM 值
原生横幅
横幅的原生广告服务使您能够从 Google AdMob 访问原生广告需求。这意味着您可以通过访问 Google 的原生需求和横幅需求来提高横幅效果。
- Ad unit name(广告单元名称):键入要轻松识别的名称
- 高级设置:同时选择图像和视频
- eCPM 地面:根据您的国家和瀑布流策略启用并输入 eCPM 值
现在检索 app ID 和 Ad Unit ID 并保存以供以后使用。然后,选择 Done。
步骤 3.在 LevelPlay 网络设置模块中激活 AdMob
在 LevelPlay SDK Networks Setup(LevelPlay SDK 网络设置)页面上设置 AdMob 时,请登录 Google 帐户,然后将自动获取运行 AdMob 插页、奖励、横幅广告和原生广告服务的必要参数。
为了使 AdMob 能够与 LevelPlay SDK 正常工作,需要将 AdMob 帐户中的一些数据插入到 ironSource Network Setup Module 中:
数据 | 描述 |
|---|---|
| App ID(应用 ID) | Admob 后台上分配给 app 的唯一 ID。 |
| 广告单元 ID | Admob 后台上分配给 app 广告单元的唯一 ID。 |
| Client ID(客户端 ID) | 指定帐户与广告单元之间关系的唯一标识符。 |
| 客户端密钥 | 与客户端 ID 配对的密钥 |
| 刷新令牌 | 客户端应用程序已收到的刷新令牌。 |
获取此信息后,必须在 LevelPlay 帐户中配置 AdMob 的参数。正确添加上述信息后,您将能够充分利用 AdMob 的广告库存和关于 Unity LevelPlay Mediation 的报告数据。
- App ID(应用 ID) 要获取 app ID,请转到 Admob 平台上左侧栏中的 Apps 选项卡,然后选择 App Settings。然后,您将看到应用程序的设置以及 app ID。

- 广告单元 ID 要获取广告单位 ID,请转到 Admob 平台上左侧栏的 Apps 选项卡,然后选择 Ad Units。然后,您将看到应用程序的广告单位以及 Ad Unit ID。

-
客户端 ID 和客户端密钥
-
要获取客户端 ID 和客户端密钥,请访问 Google API Manager。
-
选择页面左上角的 API 项目下拉选单,选择 Create a project(创建项目)或选择已为此 app 创建的项目。如果要为此创建新项目,请在出现的对话框中提供项目名称、计费帐户和 Location,然后选择 Create。
-
在左侧栏中,选择 Credentials,然后选择 OAuth consent screen 选项卡。 在此页面上,提供商品名称。选择 Save(保存)。
-
在左侧栏中,选择 Dashboard** 和**,然后选择 启用 API 和服务。
-
接下来,启用 AdMob API。
-
选择左侧栏中的 Credentials 选项卡。选择 Create credentials 下拉列表并选择 OAuth Client ID。
-
选择 Web application,并为 app 提供名称。在以下字段中,必须输入至少一个授权重定向 URI 的https://developers.google.com/oauthplayground。例如:
- 授权的 JavaScript 来源:
https://YOUR_NAMESPACE **(Optional)** - 授权重定向 URI:https://developers.google.com/oauthplayground
- 授权的 JavaScript 来源:
-
选择 Create,此时将显示客户端 ID 和客户端密钥。
-
-
刷新令牌
- 要获取刷新令牌,请访问 OAuth 2.0 Playground。
- 选择右上角的设置图标。取消选中标记为强制批准提示词的复选框,并选中 Use your own OAuth credentials(使用您自己的 OAuth 凭据)。输入客户端 ID 和客户端密钥。

- 接下来,在步骤 1 中:选择 & Authorize APIS,输入 https://www.googleapis.com/auth/admob.report 并选择 Authorize APIs。

- 授权项目访问 AdMob 数据。
- 然后,您应该会收到步骤 1 中的授权代码,并可以选择令牌交换授权代码按钮。然后,您将获得一个 Refresh 令牌和一个 Access Token。

在 LevelPlay 帐户中配置 AdMob 参数
- 拥有所有这些参数后,登录 IronSource 帐户,然后转到 Monetize > SETUP > SDK Networks。

- 从 Manage Networks 列表中选择 Admob,然后输入 Admob 客户端 ID、Client Secret 和 Refresh Token,或选择 Login with Google 选项。


- 选择 Save(保存)。然后,将在 Available Ad Networks 表中启用 AdMob 和 AdMob Native。

- 接下来,选择要使用 AdMob 运行 Unity LevelPlay 聚合的app程序。
- 从 Ad Networks 的 Setup 列表中选择 Admob,然后选择 Tool Define 图标。然后在 Interstitial、Rewarded ads Video 或 Banner Settings 下插入 App ID 和 Ad Unit ID。

- 验证与 Reporting API 的集成;此列将通过 Reporting API 检查您的集成,并返回三种可能的响应:Verified、Failed 和 No Response。仔细检查您的集成和上面输入的信息;然后选择 Retry(重试),直到看到 Verified(已验证)。
步骤 4.将 Admob Adapter 添加到构建中
- 确保在 allprojects > repositorys 代码块中包含以下行
allprojects { repositories { flatDir { dirs 'libs' } google() }}
- 将以下依赖项添加到 dependencies 代码块中
dependencies { 实现 fileTree(dir: 'libs', include: ['*.jar'])}
LevelPlay SDK 支持 Gradle 依赖关系和手动下载机制。
将 Admob Adapter 与 Gradle 集成
- 确保在 app 模块的构建.gradle 脚本中存在以下 Maven 网址(所有适配器只能出现一次)。
repositories { google() mavenCentral()}
- 将适配器的 Maven 名称添加到 app 模块的构建.gradle 脚本:
dependencies { implementation 'com.unity3d.ads-mediation:admob-adapter:5.11.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.2.1'}
通过手动下载集成 Admob 适配器
-
下载 Admob Adapter:
将 Admob Adapter 添加到构建中。您可以在此处找到最新的 Admob 适配器。 重要信息!Admob 适配器不包含 Admob SDK。还需要直接添加 Admob SDK。 -
将 Admob Adapter 添加到项目中:
下载适配器后,将 Admob Adapter jar 放入 Android 项目的 libs 文件夹。
-
务必将以下内容添加到 Gradle 构建文件下的 dependencies 部分:
dependencies { implementation 'com.unity3d.ads-mediation:admob-adapter:5.11.0' implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.2.1'}
步骤 5。更新 AndroidManifest.xml
从 LevelPlay Android SDK 版本 6.17.0(AdMob Android 适配器版本 4.3.10+)开始,AdMob 适配器将以 AAR 形式发布。仅当打算保持 Jar 集成时,才添加清单。
清单权限
<uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
清单活动
在 manifestAdditions 上的 <application> 标签中添加以下活动:
<activity android:name="com.google.android.gms.ads.AdActivity"Android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" Android:theme="@android:style/Theme.Translucent" />
从 V17.0.0 **(适配器版本 4.3.1 以上)**开始,AdMob 的 SDK 要求发布者将其 AdMob app ID 作为 标签的子项添加到 app 的 AndroidManifest:
<application></application><meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="[ADMOB_APP_ID]"/>
将“ADMOB_app_ID”替换为您在步骤 3 中检索的 app ID 值。
否则会导致 AdMob 的 SDK 引发的崩溃。如需了解更多信息,请参阅 AdMob 指南。
步骤 6。其他步骤
面向子项的设置 – COPPA
Unity LevelPlay 聚合允许发布者将 AdMob 面向儿童的设置直接传达给 AdMob 网络。
此功能是使用 LevelPlay SDK 6.14.0+、AdMob Android 适配器 4.3.9+ 已启用的。
使用以下语法,使用参数 TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE 设置 AdMob setTagForChildDirectedTreatment:
LevelPlay.setMetaData("AdMob_TFCD","true");
使用以下语法,使用参数 TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE 设置 AdMob setTagForChildDirectedTreatment:
LevelPlay.setMetaData("AdMob_TFCD","false");
要了解有关 AdMob 网络下面向儿童的设置的更多信息,请访问此处。
未满同意年龄的用户 – GDPR
Unity LevelPlay 聚合允许发布者与 AdMob 网络进行通信,AdMob 网络是 Tag For Users under the Age of Consent in Europe (TFUA) 请求。
此功能是使用 LevelPlay SDK 6.14.0+、AdMob Android 适配器 4.3.9+ 已启用的。
使用以下语法使用 TAG_FOR_Under_AGE_OF_CONSENT_TRUE 设置 setTagForUnderAgeOfConsent:
LevelPlay.setMetaData("AdMob_TFUA","true");
使用以下语法使用 TAG_FOR_Under_AGE_OF_CONSENT_FALSE 设置 setTagForUnderAgeOfConsent:
LevelPlay.setMetaData("AdMob_TFUA","false");
要了解有关 AdMob 网络下面向儿童的设置的更多信息,请访问此处。
广告内容过滤
Unity LevelPlay 聚合允许发布者与 AdMob 网络通信,为所有广告请求提供最高广告内容评级。
此功能是使用 LevelPlay SDK 7.12.0+、AdMob Android 适配器 4.3.23+ 已启用的。
使用以下语法设置 maxAdContentRating:
LevelPlay.setMetaData("AdMob_MaxContentRating","MAX_AD_CONTENT_RATING_G");
此属性的可能值基于 Google 定义的数字内容标签分类:
- MAX_AD_CONTENT_RATING_G
- MAX_AD_CONTENT_RATING_PG
- MAX_AD_CONTENT_RATING_T
- MAX_AD_CONTENT_RATING_MA
要了解有关 AdMob 网络下的 Ad Content Rating 属性的更多信息,请访问此处。
内容网址映射支持
Unity LevelPlay 支持 Google 的应用程序内容映射,并允许使用“Google_Content_Mapping”设置共享 URL。此功能是使用 LevelPlay SDK 7.7.0+、AdMob Adapter 4.3.41+ 已启用的。在此处了解有关 Google 内容映射的更多信息。
要通道单内容网址,请使用以下语法:
LevelPlay.setMetaData("Google_Content_Mapping","https://www.example.com");
要支持多个 URL,请使用相同的密钥并共享最多 4 个 URL:
LevelPlay.setMetaData("Google_Content_Mapping",["https://www.example1.com","https://www.example2.com"]);
验证广告网络集成
要验证 LevelPlay 和其他广告网络的集成,请遵循本文档。
后续步骤
要通过 Unity LevelPlay 利用其他广告网络,请集成适配器并按照我们的集成指南进行操作。