客户端出价集成方式支持在广告填充时返回特定价格。开发者可以使用此功能在客户端与其他广告网络竞争,以确定最高价格的广告,从而最大化总收入。
客户端竞价的工作流程如下:
Step1、同时向TopOn SDK和其他广告源SDK发送广告请求;
Step2、广告双方异步填充,广告填充后TopOn会返回具体价格;
Step3、 当广告机会发生时,开发者应验证每个广告的状态,如果广告过期,则删除广告,否则广告已准备好相互竞价;
Step4、比较广告价格,确定哪个广告可以赢得这次展示;
Step5、 如果没有广告获胜,或者广告展示完毕后,重复步骤1
* 本文档仅适用于in-house聚合单接TopOn ADX的集成模式。若除了TopOn ADX 之外还需要启用 TopOn 聚合功能,请联系我们的客户经理以获得集成帮助。
安卓指南
一、前提条件
- Android TopOn SDK 版本 >= 6.2.79
二、集成指南
1. 创建TopOn AppId & Placement Id
创建详情:TopOn应用管理。
2. 集成TopOn SDK
步骤1:
您可以通过此文档集成TopOn SDK:Android SDK 集成指南。
步骤2:
在初始化TopOn SDK之前,调用此代码将广告位设置为单接Adx模式。“TopOnPlacementId”需要替换为相应的TopOn展示位置ID。
步骤3:
您可以开始使用 TopOn SDK 来处理广告请求和展示:Android SDK 初始化
3. 获取价格
请遵循集成每种广告类型的说明。然后您可以按照以下方法获取广告填充时的价格:
广告加载成功后,您可以在回调接口中获取“ ATAdInfo ”,然后通过ATAdInfo的“ getEcpm() ”获取该广告的Ecpm 。
“ getEcpm() ”返回货币单位与后台账号下的货币单位一致,通常为元(CNY)或美元(USD),具体可以通过adInfo.getCurrency();判断。
示例代码如下:
4.客户端竞价
4.1 TopOn Adx 竞胜
如果 TopOn 比价胜出,您应该在展示广告之前将第二个出价者的最高价格传递给 TopOn。这一步将帮助我们优化收益。
注意:SECOND_PRICE传入的价格货币单位必须为美元
4.1 TopOn Adx 竞败
如果 TopOn 竞价失败,您应该在展示广告之前将最高价出价者的价格传递给 TopOn。这一步将帮助我们优化收益。
注意:winEcpm传入的价格货币单位必须为美元
竞败原因:
代码 | 描述 |
IATAdxHandler.LOSS_REASON.LOSS_TO_HIGHER_BID |
Topon adx 出价低于价格较高的竞价广告源 |
IATAdxHandler.LOSS_REASON.LOSS_TO_NORMAL
|
adx 的价格低于价格较高的固定价格广告源(非竞价广告) |
5.展示广告
如果TopOn获胜,请参考 Android SDK集成 并展示TopOn广告
iOS指南
一、前提条件
- iOS Taku SDK 版本 >= 6.2.76
二、集成指南
1. 创建Taku AppId & Placement Id
创建详情:Taku应用管理。
2. 集成Taku SDK
步骤1:
您可以通过此文档集成Taku SDK:iOS SDK 集成指南。
步骤2:
在初始化Taku SDK之前,调用此代码将广告位设置为单接Adx模式。该模式开启后在本次app启动周期一直生效并且不能重置。“TakuPlacementId”需要替换为相应的Taku展示位置ID。
步骤3:
您可以开始使用 Taku SDK 来处理广告请求和展示:iOS SDK 初始化
3. 获取价格
请遵循集成每种广告类型的说明。然后您可以按照以下方法获取广告填充时的价格:
广告加载成功后,您可以在加载成功回调接口中调用对应广告样式获取有效缓存列表的api接口拿到validAds 数组,然后通过validAds数组获取到排序第一的缓存信息"adOfferInfo",通过”adOfferInfo“字典信息key取“ adsource_price ”的值,就能获取该广告的Ecpm 。
“ adsource_price ”返回货币单位与后台账号下的货币单位一致,通常为元(CNY)或美元(USD),具体可以通过adOfferInfo[@"currency"]判断。更多key值具体可以参考官网文档:回调信息说明
示例代码如下:
4.客户端竞价
请参考上述第三点的获取方式,根据不一样的广告类型获取到的数组后调用以下方法,从而获取adxObject,该对象可以进行后续的Adx 竞胜和竞败操作,以激励视频广告为例:
// RewardedVideo
NSArray *validAds = [[ATAdManager sharedManager] getRewardedVideoValidAdsForPlacementID:@"Your Placement Id"];
NSDictionary *adOfferInfo = validAds.firstObject;
ATADXObject *adxObject = adOfferInfo[@"adx_object"];
4.1 Taku Adx 竞胜
如果 Taku 比价胜出,您应该在展示广告之前将第二个出价者的最高价格传递给 Taku。这一步将帮助我们优化收益。
注意:kATADXObjectSecondLossPrice传入的价格货币单位必须为美元
4.2 Taku Adx 竞败
如果 Taku 竞价失败,您应该在展示广告之前将最高价出价者的价格传递给 Taku。这一步将帮助我们优化收益。
注意:kATADXObjectWinPrice传入的价格货币单位必须为美元
竞败原因:
代码 | 描述 |
kATADXObjectLossReasonBidLowPrice |
Topon adx 出价低于价格较高的竞价广告源 |
kATADXObjectLossReasonLowPrice |
adx 的价格低于价格较高的固定价格广告源(非竞价广告) |
5.展示广告
如果Taku获胜,请参考 iOS SDK集成 并展示Taku广告
6.隐私信息配置
可以参考此文档 设置隐私信息控制开关 限制隐私数据收集
建议:尽量不要限制设备id(IDFA、IDFV等)相关的设备信息上报,避免影响Adx填充