本指南介绍了如何使用 Google 移动广告 SDK 利用中介从 Tapjoy 加载和展示广告,其中包括出价和广告瀑布流集成。该指南介绍了如何将 Tapjoy 添加到广告单元的中介配置中,以及如何将 Tapjoy SDK 和适配器集成到 Unity 应用中。
支持的集成和广告格式
Tapjoy 的 Ad Manager 中介适配器具有以下功能:
集成 | |
---|---|
出价 | |
瀑布 | |
表现形式 | |
横幅 | |
插页式广告 | |
已奖励 |
要求
- Unity 4 或更高版本
- 最新版 Google 移动广告 SDK
- [用于出价]:适用于 Tapjoy 2.3.0 或更高版本的 Google 移动广告中介插件(推荐使用最新版本)
- 在 Android 上部署
- Android API 级别 19 或更高级别
- 在 iOS 上部署
- iOS 部署目标为 12.0 或更高版本
- 配置了 Google 移动广告 SDK 且处于有效状态的 Unity 项目。如需了解详情,请参阅使用入门。
- 完成中介 入门指南
第 1 步:在 Tapjoy 界面中设置配置
添加应用
前往右上角的应用列表,然后点击 Add App(添加应用)按钮,将您的应用添加到 Tapjoy 信息中心。然后,系统会提示您输入应用的详细信息。
填写表单,然后点击 Create Now 按钮,将您的应用添加到 Tapjoy 信息中心。
您可以跳过 Tapjoy 提供的集成步骤,直接创建可与中介结合使用的展示位置。 Ad Manager
如果您的应用同时支持这两种平台,请选择两者作为平台。
Android
iOS
展示位置、虚拟货币和内容
展示位置
依次前往创收 > 展示位置,然后点击右上角的创建展示位置按钮。即使您已有展示位置,也最好为 Ad Manager 创建一个新展示位置,以便单独进行跟踪和报告。
为展示位置输入名称,选中中介复选框,然后从下拉列表中选择 AdMob。完成后,点击创建。
在下一部分中,系统将使用在此输入的展示位置名称为中介设置Ad Manager 广告单元。此示例中使用了“Ad Manager 中介”,但您可以随意调用展示位置。
虚拟货币
依次前往创收 > 虚拟货币,然后点击右上角的创建虚拟货币按钮。
填写表单,然后点击立即创建。使用 NO_CALLBACK 作为回调网址。这样可以确保 Tapjoy SDK 避免对服务器进行不必要的调用。
货币值和名称不会通过 Tapjoy 适配器转发,因此您可以选择货币名称和金额的任何通用值。
Android
iOS
内容
依次前往创收 > 创建内容,创建与展示位置一起展示的内容。
如需了解有关创建内容的更多说明,请选择与首选广告格式对应的标签页:
出价
插页式广告
点击程序化插页式视频广告内容对应的 Create 按钮。 为内容提供名称,然后选择您的平台。 * {Android} * {iOS} 选择之前创建的虚拟货币作为虚拟货币。 选择之前创建的插页式广告展示位置。完成后,点击底部的保存按钮以创建内容。已奖励
点击程序化激励视频广告内容的创建按钮。 * {Android} * {iOS} 选择之前创建的虚拟货币作为虚拟货币。 选择之前创建的激励广告展示位置。完成后,点击底部的保存按钮以创建内容。瀑布
插页式广告
点击插页式视频广告内容对应的创建按钮。 为内容提供名称,然后选择您的平台。 * {Android} * {iOS} 选择之前创建的虚拟货币作为虚拟货币。 选择之前创建的插页式广告展示位置。完成后,点击底部的保存按钮以创建内容。已奖励
点击激励视频广告内容对应的创建按钮。 为内容提供名称,然后选择您的平台。 * {Android} * {iOS} 选择之前创建的虚拟货币作为虚拟货币。 选择之前创建的激励广告展示位置。完成后,点击底部的保存按钮以创建内容。查找 SDK 密钥
除了展示位置名称之外,您还需要 SDK 密钥才能设置广告单元 Ad Manager 。
依次转到设置 > 应用设置。您可以从应用平台标签页下的应用信息中获取 SDK 密钥。
Android
iOS
找到报告键
出价
出价集成不需要执行此步骤。
瀑布
您需要有发布商 OAuth 密钥和中介密钥才能继续操作。您的发布商 OAuth 密钥可以在同一页面的 API 密钥标签页下获取。
在同一页面中,您可以在报告 API 密钥列下的中介密钥标签页下获取中介密钥。该密钥带有“AdMob”标签。 尽管名称不匹配,Google Ad Manager 发布商仍应使用此值。
开启测试模式
您可以在 Tapjoy 信息中心通过 Settings > App Settings > Test Devices 启用测试广告。使用设备的广告 ID 创建一个新的测试设备:
Android
可在设备设置中依次转到 Google > 广告,找到设备的广告 ID。
iOS
要获取您设备的广告 ID,请将以下代码添加到您的应用中。请务必先将 AdSupport 框架导入您的应用,然后再使用下面的代码。
Swift
let advertisingId: String = ASIdentifierManager.shared().advertisingIdentifier.uuidString
print("Advertising ID: \(advertisingId)")
Objective-C
NSString *advertisingId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
NSLog(@"Advertising ID: %@", advertisingId);
接下来,修改您之前创建的内容。
如需修改您的内容,请先依次转到创收 > 展示位置,然后点击用户发起标签页。接下来,选择要修改的内容的下拉菜单,然后选择修改。
在内容的 Basic 部分下,选中 Only for Test Devices 复选框。然后,点击页面底部的保存。大功告成!现在,您已与 Tapjoy 有效集成了中介。
Android
iOS
第 2 步:在界面中设置 Tapjoy 需求 Ad Manager
为广告单元配置中介设置
添加到 GDPR 和美国州级法规的广告合作伙伴列表中 Tapjoy
按照 GDPR 设置 和 美国州级法规设置 中的步骤,将 Tapjoy 添加到 Ad Manager 界面中的 GDPR 和美国州级法规广告合作伙伴列表中。
第 3 步:导入 Tapjoy SDK 和适配器
通过更新日志中的下载链接下载适用于 Tapjoy 的最新版 Google 移动广告中介插件,并从 zip 文件中提取 GoogleMobileAdsTapjoyMediation.unitypackage
。
在 Unity 项目编辑器中,依次选择 Assets > Import Package > Custom Package,然后选择您下载的 GoogleMobileAdsTapjoyMediation.unitypackage
文件。确保选择所有文件,然后点击 Import。
然后,依次选择 Assets > Play Services Resolver > Android Resolver > Force Resolve。Unity Play 服务解析器库将从头开始执行依赖项解析,并将声明的依赖项复制到 Unity 应用的 Assets/Plugins/Android
目录中。
第 4 步:在 Tapjoy SDK 上实现隐私设置
欧盟地区用户意见征求和 GDPR
根据 Google 欧盟地区用户意见征求政策,您必须确保就设备标识符和个人数据的使用向欧洲经济区 (EEA) 用户披露特定披露信息,并征得其同意。此政策反映了欧盟《电子隐私指令》和《一般数据保护条例》(GDPR) 的要求。在征求用户意见时,您必须指明中介链中可能会收集、接收或使用个人数据的各个广告联盟,并提供有关每个广告联盟使用情况的信息。Google 目前无法自动将用户的同意情况传送给此类广告联盟。
适用于 Tapjoy 1.1.1 版的 Google 移动广告中介插件包含 SetUserConsent()
和 SubjectToGDPR()
方法。以下示例代码展示了如何将用户意见征求信息传递给 Tapjoy SDK。如果您选择调用此方法,请在通过 Google 移动广告 SDK 请求广告之前调用。
using GoogleMobileAds.Api.Mediation.Tapjoy;
// ...
Tapjoy.SetUserConsent("myUserConsent");
此外,您可以设置一个可选标志,以指明用户是否需要遵守 GDPR。
Tapjoy.SubjectToGDPR(true);
如需了解详情以及可通过该方法提供的值,请参阅 Tapjoy 的用户隐私指南。
美国州级隐私保护法律
美国州级隐私保护法 规定,必须让用户有权选择不“出售”其“个人信息”(该法律对这些术语进行了定义)。“出售”方须在首页醒目位置提供“请勿出售我的个人信息”链接,以供用户选择。美国州级隐私保护法律合规性指南让您可以为 Google 广告投放启用受限的数据处理,但 Google 无法将此设置应用于中介链中的每个广告联盟。因此,您必须确定中介链中可能参与个人信息出售的每个广告网络,并遵循每个广告网络的指导以确保合规性。
适用于 Tapjoy 2.9.1 版的 Google 移动广告中介插件包含 SetUSPrivacy()
方法。以下示例代码展示了如何将用户意见征求信息传递给 Tapjoy SDK。如果您选择调用此方法,请在通过 Google 移动广告 SDK 请求广告之前调用。
using GoogleMobileAds.Api.Mediation.Tapjoy;
// ...
Tapjoy.SetUSPrivacy("myUSPrivacyString");
如需了解详情以及可通过该方法提供的值,请参阅 Tapjoy 的用户隐私指南。
第 5 步:添加所需的代码:
Android
Tapjoy 集成无需其他代码。
iOS
SKAdNetwork 集成
按照 Tapjoy 的文档操作,将 SKAdNetwork 标识符添加到项目的 Info.plist
文件中。
第 6 步:测试实现效果
启用测试广告
请务必为Ad Manager 注册您的测试设备,并在 Tapjoy 界面中启用测试模式。
验证测试广告
如需验证您收到的是来自Tapjoy的测试广告,请使用相应广告来源在广告检查器中启用单一广告来源测试。 Tapjoy (Bidding) and Tapjoy (Waterfall)
可选步骤
Android
权限
为了获得最佳性能,Tapjoy 建议将以下可选权限添加到应用的 AndroidManifest.xml
文件中。修改位于 Assets/Plugins/Android/GoogleMobileAdsTapjoyMediation
文件夹下的 AndroidManifest.xml
文件,并添加以下可选权限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
iOS
无需执行额外的步骤即可进行 iOS 集成。
错误代码
如果适配器无法从 Tapjoy 接收广告,发布商可以使用以下类下的 ResponseInfo
检查广告响应的底层错误:
Android
形式 | 类名称 |
---|---|
插页式广告 | TapjoyAdapter |
已奖励 | TapjoyMediationAdapter |
iOS
形式 | 类名称 |
---|---|
插页式广告 | GADMAdapterTapjoy |
已奖励 | GADMAdapterTapjoy |
以下是广告加载失败时 Tapjoy 适配器抛出的代码及相应消息:
Android
错误代码 | 原因 |
---|---|
101 | 在界面中配置的 Ad Manager 服务器参数缺失/无效。 |
103 | 发布商必须在 Activity 上下文中请求广告。 |
104 | Tapjoy SDK 未能初始化。 |
105 | 视频播放期间发生了 Tapjoy 演示错误。 |
106 | Tapjoy SDK 无法同时为同一展示位置 ID 加载两个广告。 |
107 | 应用未请求投放原生广告。 |
108 | Tapjoy SDK 没有可用广告内容。 |
iOS
错误代码 | 原因 |
---|---|
101 | 在界面中配置的 Ad Manager 服务器参数缺失/无效。 |
102 | Tapjoy SDK 未能初始化。 |
103 | Tapjoy 适配器不支持所请求的广告格式。 |
104 | Tapjoy 发送了一个成功的加载回调,但没有可用的内容。 |
105 | 已针对此网络配置加载了一个广告。 |
106 | Tapjoy SDK 返回了视频失败错误回调。 |
Tapjoy Unity 中介插件更新日志
版本 3.2.0
- 支持 Tapjoy Android 适配器版本 13.2.1.0。
- 支持 Tapjoy iOS Adapter 版本 13.2.1.0。
- 使用 Google 移动广告 Unity 插件 8.6.0 版进行构建和测试。
版本 3.1.1
- 支持 Tapjoy Android 适配器版本 13.1.2.0。
- 支持 Tapjoy iOS Adapter 版本 13.1.2.0。
- 使用 Google 移动广告 Unity 插件 8.4.1 版进行构建和测试。
版本 3.1.0
- 支持 Tapjoy Android 适配器版本 13.1.1.0。
- 支持 Tapjoy iOS Adapter 版本 13.1.1.0。
- 使用 Google 移动广告 Unity 插件 8.4.0 版进行构建和测试。
版本 3.0.0
- 将适配器内容移到了
GoogleMobileAds/Mediation/Tapjoy/
。 - 重构了适配器命名空间,以使用
GoogleMobileAds.Mediation.Tapjoy
。 - 支持 Tapjoy Android 适配器版本 13.0.1.0。
- 支持 Tapjoy iOS Adapter 版本 13.0.1.0。
- 使用 Google 移动广告 Unity 插件 8.1.0 版进行构建和测试。
版本 2.10.1
- 支持 Tapjoy Android 适配器版本 12.11.1.0。
- 支持 Tapjoy iOS Adapter 版本 12.11.1.0。
- 使用 Google 移动广告 Unity 插件 7.4.1 版进行构建和测试。
版本 2.10.0
- 支持 Tapjoy Android 适配器版本 12.11.0.0。
- 支持 Tapjoy iOS Adapter 版本 12.11.0.0。
- 使用 Google 移动广告 Unity 插件 7.3.0 版进行构建和测试。
版本 2.9.1
- 添加了
Tapjoy.SetUSPrivacy(string)
方法。 - 支持 Tapjoy Android 适配器版本 12.10.0.1。
- 支持 Tapjoy iOS Adapter 版本 12.10.0.0。
- 使用 Google 移动广告 Unity 插件 7.2.0 版进行构建和测试。
版本 2.9.0
- 支持 Tapjoy Android 适配器版本 12.10.0.1。
- 支持 Tapjoy iOS Adapter 版本 12.10.0.0。
- 使用 Google 移动广告 Unity 插件 7.0.2 版进行构建和测试。
版本 2.8.2
- 支持 Tapjoy Android 适配器版本 12.9.1.0。
- 支持 Tapjoy iOS Adapter 版本 12.9.1.0。
- 使用 Google 移动广告 Unity 插件 7.0.0 版进行构建和测试。
版本 2.8.1
- 支持 Tapjoy Android 适配器版本 12.9.0.0。
- 支持 Tapjoy iOS Adapter 版本 12.9.0.1。
- 使用 Google 移动广告 Unity 插件 7.0.0 版进行构建和测试。
版本 2.8.0
版本 2.7.1
版本 2.7.0
版本 2.6.1
版本 2.6.0
版本 2.5.1
版本 2.5.0
版本 2.4.2
版本 2.4.1
版本 2.4.0
版本 2.3.1
版本 2.3.0
- 支持 Tapjoy Android 适配器版本 12.3.1.0。
- 支持 Tapjoy iOS 适配器版本 12.3.1.0。
版本 2.2.0
- 更新了插件以支持新的激励广告 API。
- 支持 Tapjoy Android 适配器版本 12.2.1.0。
- 支持 Tapjoy iOS 适配器版本 12.2.1.0。
版本 2.1.0
- 支持 Tapjoy Android 适配器版本 12.2.0.0。
- 支持 Tapjoy iOS 适配器版本 12.1.0.0。
版本 2.0.1
- 支持 Tapjoy Android 适配器版本 12.0.0.1。
- 支持 Tapjoy iOS 适配器版本 12.0.0.0。
版本 2.0.0
- 支持 Tapjoy Android 适配器版本 12.0.0.0。
- 支持 Tapjoy iOS 适配器版本 12.0.0.0。
版本 1.1.1
- 支持 Tapjoy Android SDK 版本 11.12.2。
- 支持 Tapjoy iOS SDK 版本 11.12.2。
- 添加了
Tapjoy.SetUserConsent()
方法,用于将用户的同意情况以用户意见征求字符串的形式转发到 Tapjoy SDK。 - 添加了
Tapjoy.SubjectToGDPR()
方法,用于指明 GDPR 是否适用于用户。
版本 1.1.0
- 支持 Tapjoy Android SDK 版本 11.12.1。
- 支持 Tapjoy iOS SDK 版本 11.12.1。
版本 1.0.0
- 首个版本!
- 支持 Tapjoy Android SDK 版本 11.11.1。
- 支持 Tapjoy iOS SDK 版本 11.11.1。