Android聚合接入简介
支持的广告类型映射关系
优量汇广告类型 | 优量汇聚合功能入口类 | 穿山甲入口类 | 快手入口类 | 百青藤入口类 |
---|---|---|---|---|
激励视频 | RewardVideoAD | TTRewardAdAdapter | KSRewardVideoAdAdapter | BDRewardAdAdapter |
插屏全屏 | UnifiedInterstitialAD | TTInterstitialAdAdapter | KSInterstitialAdAdapter | BDInterstitialAdAdapter |
插屏半屏 | UnifiedInterstitialAD | TTInterstitialAdAdapter | KSInterstitialAdAdapter | BDInterstitialAdAdapter |
开屏 | SplashAD | TTSplashAdAdapter | KSSplashAdAdapter | BDSplashAdAdapter |
原生自渲染 | NativeUnifiedAD | TTNativeUnifiedAdAdapter | KSNativeAdAdapter | BDNativeUnifiedAdAdapter |
模板信息流 | NativeExpressAD | TTNativeExpressAdAdapter | KSNativeExpressAdAdapter | BDNativeExpressAdAdapter |
横幅 | UnifiedBannerView | TTBannerAdAdapter | 不支持 | BDBannerAdAdapter |
注意:因为流量分配竞价发生在拉取最后阶段,开屏无法支持 SplashAD#fetchAndShowIn 方法。如在开屏使用请使用 SplashAD#fetchAdOnly 方法。
版本支持情况
快手 SDK:Demo 工程版本为 v3.3.44
穿山甲 SDK:Demo 工程版本为 v5.3.0.5
百青藤 SDK:Demo 工程版本为 v9.29
注意:因为不同版本中有接口差异,如穿山甲在 v3.3.0.1 针对激励视频增加了回调的参数,开发者在切换版本时需要在Adapter代码中自行适配。
详细流程
- 定义每个广告样式的自定义类名,并在创建广告位组时填写到瀑布流广告位信息中。例如可以将 Demo 工程中的快手插屏广告“com.qq.e.union.adapter.kuaishou.interstitial.KSInterstitialAdAdapter"配置为“com.custompkg.adapter.AdnNameXxAdAdapter"或其他类名。(若需要自定义类名,则步骤3中请选择源码依赖方式,aar依赖方式不支持自定义类名,并且在聚合平台上修改对应的媒体下广告平台的自定义类名)
- 拷贝Demo工程aar/目录下穿山甲、快手、百青藤aar到开发者项目工程aar目录下,并在 build.gradle 中添加相应依赖
添加依赖示例:dependencies { implementation files('aars/kssdk-ad-3.3.17.1-publishRelease.aar') implementation files('aars/open_ad_sdk.aar_4.1.0.2') implementation files('aars/Baidu_MobAds_SDK-release_v9.17.aar') }
- adapter提供两种接入方式(两者任选其一即可)
(1) aar依赖(不支持自定义类名)
将Demo工程libs/目录下BDAdapter.aar、KSAdapter.aar、TTAdapter.aar、Utils.aar拷贝到开发者项目工程中aars目录下,并在build.gradle中进行依赖。
添加依赖示例:
(2)源码依赖dependencies { implementation files('aars/mediationBDAdapter-9.202.aar') implementation files('aars/mediation-KSAdapter-3.3.22.3.aar') implementation files('aars/mediation-TTAdapter-4.3.0.8.aar') implementation files('aars/mediation-Util.aar') }
将Demo工程中 mediationAdapters 文件夹直接复制到开发者项目工程中,在setting.gradle中配置模块声明,同时在build.gradle配置源码依赖,并按照步骤 1 中配置的自定义类名将开发者项目工程中对应的类进行修改;
setting.gradle声明示例:
build.gradle添加源码依赖示例:include ':mediationAdapters:Util',':mediationAdapters:BDAdapter',':mediationAdapters:TTAdapter',':mediationAdapters:KSAdapter'
dependencies { implementation project(path:':mediationAdapters:TTAdapter') implementation project(path:':mediationAdapters:BDAdapter') implementation project(path:':mediationAdapters:KSAdapter') implementation project(path:':mediationAdapters:Util') }
- 启动 Demo 工程,并使用优量汇开发者平台上申请的广告位组 ID (mediation id) 进行广告拉取测试(若使用测试账号测试,请务必在测试完成后切换至正式账号)。
- 请求广告
- 排查步骤
a. 检查接入的优量汇广告类型是否包含在上面表格中,以及开发者申请的第三方的广告位是否和表格中与优量汇广告类型对应的第三方渠道入口类匹配;
b. 检查拉广告时传入的广告位ID是否为您在优量汇平台申请的广告位组ID(mediation id);
c. 检查穿山甲及快手、百青藤的 SDK 是否接入正确;
d. 检查穿山甲及快手、百青藤的 Adapter 是否接入正确;
e. 检查拉取使用的 ID 为广告位组 ID,非优量汇广告位 ID;
f. 不同 ADN 的 UI 相似,主要区别在于页面中广告的角标,请注意查看确定广告来源;
g. Banner 广告需要关注,因为百度 ADN 拉广告需要提前将 View 加入到 View tree 中,及穿山甲广告需要传入容器宽高,所以需要开发者将 UnifiedBannerView 加入到 View tree 中,并且不隐藏,不遮挡;实时竞价获取 eCPM
eCPM 价格可以通过优量汇聚合 的 getECPMLevel() 方法获取。优量汇实时竞价返回的价格为参竞者的二价。胜出 ADN 如果是瀑布流,则获取值为胜出的 ADN 当前广告位在聚合平台上的设价。
激励视频服务端验证说明
开发者使用激励视频服务端验证需要向各个 ADN 平台进行申请。在某个 ADN 的激励视频播放后发放奖励时,对应的 ADN 服务端会向开发者服务端发送请求进行验证。因各 ADN 的服务端验证实现方式不同,所以开发者需要进行适配,例如:
(1) 优量汇 SDK 会回调开发者 APP transId,需要 APP 上报至开发者服务端进行校验;
(2) 穿山甲 SDK 不会回调开发者 transId,所以不需要 APP 上报服务端;