将 nend 与中介集成

本指南适用于希望使用移动广告通过 Google 移动广告 SDK 加载和展示广告的发布商。其中介绍了如何将 nend 添加到广告单元的中介配置、如何设置广告来源优化功能,以及如何将 nend SDK 和适配器集成到Android 应用中。

Nend 的信息中心界面对其标签、按钮和说明使用日语文本,下面显示的屏幕截图尚未翻译。 在本指南中,标签和按钮以英语等效形式表示。"网址 Î🇦?ーム,”, is, "网址架构,”等。

支持的集成和广告格式

AdMob Nend 中介适配器具有以下功能:

集成
出价
瀑布
格式
横幅
插页式广告
激励广告
原生

要求

  • Android API 级别 19 或更高级别
  • 最新版 Google 移动广告 SDK

第 1 步:设置 Nend

注册登录您的最终帐号。

如需将应用添加到 nend 信息中心,请先点击 Placement Management(展示位置管理)标签页,然后选择 Site/App(网站/应用)。点击 Add an app(添加应用)按钮将应用添加到 nend 中。

创建应用

输入应用名称,然后选择 Androidapplication 作为 application type。输入网址,然后检查您的应用是否在 Google Play中(如果您的应用尚未发布,请参阅未发布的应用常见问题解答)。为您的应用选择一个类别,然后点击创建

应用创建完毕后,它就会显示在信息中心内。

创建展示位置

注册完应用后,您可以继续创建展示位置。要为横幅广告创建展示位置,请转到展示位置管理标签页,然后点击展示位置。然后点击新建展示位置按钮。

从下拉菜单中选择您的应用。然后,按照以下与您的首选广告格式对应的说明操作。

广告类型中选择静态图片,在广告资源类型中选择横幅。完成后,输入展示位置名称,填写广告资源简介,选择一种广告资源格式,最后选择所需的广告资源尺寸。 完成后,点击创建按钮创建您的展示位置。

插页式广告

广告类型中选择静态图片,在广告资源类型中选择插页式。完成上述操作后,输入展示位置名称,填写广告资源简介,然后从下拉列表中选择所需的广告显示频率。 完成后,点击创建按钮创建您的展示位置。

对于插页式视频广告,请选择视频作为广告类型,并选择插页式作为广告资源类型。完成此操作后,输入展示位置名称,填写广告资源简介,然后从下拉列表中选择适当的类别。 完成后,点击创建按钮创建您的展示位置。

激励广告

选择视频作为广告类型,选择奖励作为广告资源类型。完成此操作后,输入展示位置名称,填写广告资源简介,然后从下拉列表中选择适当的类别

Reward settings 下,使用下拉列表选择所需的 Reward content,然后输入您的首选 Virtual currency name。完成后,点击创建按钮创建您的展示位置。

原生

广告类型中选择静态图片,在广告资源类型中选择原生。完成后,输入展示位置名称,填写广告资源简介,然后选择所需的广告图片选择。 完成后,点击创建按钮创建您的展示位置。

对于原生视频广告,请选择视频作为广告类型,并选择原生(自定义)作为广告资源类型。完成后,输入展示位置名称,填写广告资源简介,并从下拉列表中选择适当的类别

原生设置下,从列表中选择所需的视频广告方向原生广告类型。完成后,点击创建按钮创建您的展示位置。

在下一部分中设置 AdMob 广告单元时,您需要为每个展示位置提供 apiKeyspotID。要找到这些位置,请转到展示位置管理标签页,然后选择应用名称下方的 SDK 按钮。

记下 apiKeyspotID

此外,您还需要您的 API 密钥以用于 nend 报告 API,这些 API 称为用于抓取的 API 密钥。您可以在工具标签页中找到该工具。

第 2 步:为广告单元 AdMob 配置中介设置

接下来,您需要在广告单元的中介配置中添加 nnnn。 首先,登录您的 AdMob 帐号

转到中介标签页。如果您已有要修改的中介组,请点击该中介组的名称进行修改,然后直接跳到添加广告来源

要创建新的中介组,请选择创建中介组

输入广告格式和平台,然后点击继续

为中介组指定名称,然后选择要定位到的地理位置。接下来,将中介组状态设置为已启用。然后点击添加广告单元

中介组 2

将此中介组与您的一个或多个现有 AdMob 广告单元相关联。然后,点击完成

选择广告单元

现在,您应该会看到“广告单元”卡片中填充了您选择的广告单元,如下所示:

为广告单元分组

将 Nend 添加为广告来源

广告来源卡片中,选择添加广告联盟

选择 nend 并启用 Optimize 开关。输入之前从 nend 获取的用于抓取的 API 密钥作为 Reporting API Key,以针对 nend 设置广告来源优化。然后,为 nend 输入 eCPM 值,并点击 Continue

输入在上一部分中获取的 Spot IDAPI 密钥,然后点击完成

使用激励广告

在激励广告单元的设置中,提供奖励金额和奖励类型的值。然后,为确保无论投放哪个广告联盟,您都能向用户提供相同的奖励,请选中 应用于中介组中的所有广告联盟复选框。

如果您不应用此设置,Nend 适配器会传回 nend 信息中心中指定的奖励。

如需详细了解如何为 AdMob 广告单元设置奖励值,请参阅创建广告单元

第 3 步:导入 nend SDK 和适配器

在应用版本的 build.gradle 文件中,添加以下 nend Maven 代码库和实现依赖项以及最新版 nend SDK 和适配器:

repositories {
    google()
    mavenCentral()
    maven {
        url 'https://fan-adn.github.io/nendSDK-Android-lib/library'
    }
}

...
dependencies {
    implementation 'com.google.android.gms:play-services-ads:21.1.0'
    implementation 'com.google.ads.mediation:nend:8.2.0.0'
}
...

手动集成

  1. 下载最新版本的 Nend Android SDK 并将其添加到项目中。

  2. 转到 Google 的 Maven 代码库中的 Nend 适配器工件。选择最新版本,下载 nend 适配器的 .aar 文件,并将其添加到您的项目。

第 4 步:需要其他代码

nend 集成不需要其他代码。

第 5 步:测试您的实现效果

如需获取横幅广告、插页式广告和激励广告的测试广告,Nend 建议您使用测试广告单元中的 API 密钥和 Spot ID。可在测试时将 AdMob 广告单元的 API 密钥和 Spot ID 输入这些 ID,然后在您的应用准备好投入实际使用时将其替换为实际 API 密钥和 Spot ID。

可选步骤

广告联盟专用参数

nend 适配器支持适用于可使用 NendExtrasBundleBuilder 类传递给适配器的插页式广告的其他请求参数。此类包括以下方法:

  • setUserId(String) - 设置特定插页式插页式广告的 UserID
  • setInterstitialType(InterstitialType) - Nend 提供以下选项:为常规插页式视频广告选择 TYPE_NORMAL,或者为插页式视频广告选择 TYPE_VIDEO
  • setNativeAdsType(nativeAdsType) - Nend 提供相应选项,用于为常规原生广告选择 TYPE_NORMAL,或为原生视频广告选择 TYPE_VIDEO

Java

Bundle bundle = new NendAdapter.NendExtrasBundleBuilder()
                        .setUserId("userId")
                        .setInterstitialType(InterstitialType.TYPE_NORMAL)
                        .setNativeAdsType(FormatType.TYPE_NORMAL)
                        .build();

AdRequest adRequest = new AdRequest.Builder().addNetworkExtrasBundle(
  NendAdapter.class, bundle).build();

adLoader.loadAd(adRequest);

Kotlin

val bundle = NendAdapter.NendExtrasBundleBuilder()
                     .setUserId("userId")
                     .setInterstitialType(InterstitialType.TYPE_NORMAL)
                     .setNativeAdsType(FormatType.TYPE_NORMAL)
                     .build()

val adRequest = AdRequest.Builder().addNetworkExtrasBundle(
  NendAdapter.class, bundle).build()

adLoader.loadAd(adRequest)

使用原生广告

广告呈现

Nend 适配器以NativeAd对象的形式返回其原生广告。它填充了NativeAd 的以下原生广告字段说明

字段 由 Nend 适配器填充
标题
映像 1
车身
应用图标 2
号召性用语
广告客户名称
Star rating
存储
价格

1 Nend 配置原生图片提供图片图片,并将其设置为横向 (5: 3) 大广告图片

2 Nend 不会配置广告图片选择设置为无图片(纯文字)的原生展示位置提供图标资源。

错误代码

如果适配器未能从 nend 接收广告,发布商可以使用以下类中的ResponseInfo.getAdapterResponse() 检查广告响应中的底层错误:

格式 类名称
横幅 com.google.ads.mediation.nend.NendAdapter
插页式广告 com.google.ads.mediation.nend.NendAdapter
激励广告 com.google.ads.mediation.nend.NendRewardedAdapter
原生 com.google.ads.mediation.nend.NendMediationAdapter

广告加载失败时,Nend 适配器抛出的代码和附带的消息如下:

错误代码 网域 原因
101 com.google.ads.mediation.nend nend 需要一个 activity 上下文才能加载和展示广告。
102 com.google.ads.mediation.nend AdMob 界面中配置的服务器参数缺失或无效。
103 com.google.ads.mediation.nend 广告尚未准备好进行展示。
104 com.google.ads.mediation.nend nend 无法播放广告。
105 com.google.ads.mediation.nend 请求的广告尺寸不符合 nend 支持的横幅广告尺寸。
106 com.google.ads.mediation.nend Context 对象引用为 null 并且/或者最近从内存中释放。
200-299 net.nend.android nend SDK 返回了插页式广告加载错误。如需了解详情,请参阅代码
300-399 net.nend.android nend SDK 返回了插页式广告展示错误。如需了解详情,请参阅代码
400-499 net.nend.android nend SDK 返回广告错误。如需了解详情,请参阅代码
101 com.google.mediation.nend nend SDK 返回了加载失败回调,没有额外的错误信息。
102 com.google.mediation.nend nend SDK 返回显示失败回调,没有额外的错误信息。
103 com.google.mediation.nend AdMob 界面中配置的服务器参数缺失或无效。
104 com.google.mediation.nend 未能加载原生广告图片素材资源。
105 com.google.mediation.nend 由于广告尚未准备就绪,因此未能展示展示广告。
106 com.google.mediation.nend 所请求的横幅广告尺寸与支持的横幅广告尺寸不匹配。
200-699 由 nend SDK 发送。 nend SDK 返回错误。如需了解详情,请参阅 nend' 的文档

Android 中介适配器变更日志

8.2.0.0 版

  • 经验证与 nend SDK 8.2.0 兼容。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 21.0.0。
  • Nend SDK 8.2.0 版。

8.1.0.1 版

  • compileSdkVersiontargetSdkVersion 更新到了 API 31。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 21.0.0。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 21.0.0。
  • Nend SDK 8.1.0 版。

8.1.0.0 版

  • 经验证与 nend SDK 8.1.0 兼容。
  • 修复了 nend 返回 null 广告图片或徽标网址时发生的 NullPointerException 崩溃问题。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.5.0。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 20.5.0。
  • Nend SDK 8.1.0 版。

8.0.1.0 版

  • 经验证与 nend SDK 8.0.1 兼容。
  • 修复了使用错误的网域返回某些 AdError 对象的错误。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.4.0。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 20.4.0。
  • Nend SDK 版本 8.0.1。

7.1.0.0 版

  • 经验证与 nend SDK 7.1.0 兼容。
  • 更新了错误代码,以捕获响应 UNSUPPORTED_DEVICE 错误。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.2.0。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 20.2.0。
  • Nend SDK 7.1.0。

版本 7.0.3.0

  • 经验证与 nend SDK 7.0.3 兼容。
  • 添加了描述性错误代码以及适配器加载/显示失败的原因。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 20.0.0。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 20.0.0
  • Nend SDK 7.0.3 版。

7.0.0.0 版

  • 经验证与 nend SDK 7.0.0 兼容。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.4.0。

构建和测试时所用的工具

  • Google 移动广告 SDK 19.4.0。
  • Nend SDK 7.0.0。

6.0.1.0 版

  • 经验证与 nend SDK 6.0.1 兼容。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.3.0。

构建和测试时所用的工具

  • Google 移动广告 SDK 19.3.0。
  • Nend SDK 版本 6.0.1。

6.0.0.0 版

  • 经验证与 nend SDK 6.0.0 兼容。
  • 将最低 Android SDK 版本更新为 API 19。

构建和测试时所用的工具

  • Google 移动广告 SDK 19.2.0 版。
  • Nend SDK 版本 6.0.0。

版本 5.4.2.1

  • 更新了适配器,以支持内嵌自适应横幅广告请求。
  • 修复了在销毁智能横幅广告时可能发生的罕见的竞态条件崩溃问题。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.2.0。

构建和测试时所用的工具

  • Google 移动广告 SDK 19.2.0 版。
  • Nend SDK 版本 5.4.2。

版本 5.4.2.0

  • 新增了对原生广告的支持。
  • 经验证与 nend SDK 5.4.2 兼容。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 19.0.0。

构建和测试时所用的工具

  • Google 移动广告 SDK 19.0.0。
  • Nend SDK 版本 5.4.2。

版本 5.3.0.0

  • 经验证与 nend SDK 5.3.0 兼容。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 18.2.0。

构建和测试时所用的工具

  • Google 移动广告 SDK 版本 18.2.0。
  • Nend SDK 5.3.0。

版本 5.2.0.0

  • 经验证与 nend SDK 5.2.0 兼容。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 18.1.1。

版本 5.1.0.4

  • 修复了横幅广告和插页式广告无法转发 onAdClicked() 事件的问题。
  • 修复了在销毁横幅广告时抛出 NullPointerException 的问题。
  • 将适配器迁移到了 AndroidX。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 18.0.0。

版本 5.1.0.3

  • 添加了在 SmartBanner 中显示一部分横幅广告的实现方法。智能横幅的相应尺寸
    • 纵向和横向
      • 手机:320×50
      • 平板电脑:728×90 或 320×50

版本 5.1.0.2

  • 新增了对灵活横幅广告尺寸的支持。

版本 5.1.0.1

  • 更新了适配器,以支持新的公开 Beta 版 API。
  • 将所需的最低 Google 移动广告 SDK 版本更新为 17.2.0。

版本 5.1.0.0

  • 经验证与 nend SDK 5.1.0 兼容。

版本 5.0.2.1

  • 移除了用于转发用户功能的函数,因为 AdRequest.Builder 上已弃用以下方法。
    • setGender()
    • setBirthday()
    • setIsDesignedForFamiles()

版本 5.0.2.0

  • 经验证与 nend SDK 5.0.2 兼容。

版本 5.0.1.0

  • 经验证与 nend SDK 5.0.1 兼容。

版本 5.0.0.0

  • 经验证与 nend SDK 5.0.0 兼容。

版本 4.0.5.0

  • 经验证与 nend SDK 4.0.5 兼容。

4.0.4.1 版

  • 支持 RewardedVideoAdListener 的 onRewardedVideoComplete() 方法。

版本 4.0.4.0

  • 经验证与 nend SDK 4.0.4 兼容。

版本 4.0.2.1

  • 添加了使用 NendExtrasBundleBuilder 类创建中介额外信息的 Bundle 的功能。

版本 4.0.2.0

  • Google 移动广告中介开源项目中的首个版本。
  • 新增了对横幅广告、插页式广告和激励视频广告的支持。