菜单

服务端激励

1. 服务端激励介绍

服务端激励(Server-to-Server):允许开发者自己判断是否下发奖励给观看激励视频的用户。当用户看完激励视频时,将通知开发者的服务器,由开发者自己进行奖励的下发

注意:为了保障服务端激励的准确性,针对第三方广告平台建议开发者优先使用第三方广告平台的服务端激励回调。针对Taku Adx、直投、交叉推广,开发者可以直接使用Taku的服务端激励回调。您可以根据 Network Firm ID来判断是否只接受Taku服务端激励回调:

① Taku Adx的Network Firm ID=66

② Taku 直投广告的Network Firm ID=67

③ Taku 交叉推广的Network Firm ID=35

 

2. 第三方广告平台服务端激励的使用流程

(1) 开发者需要到第三方广告平台的后台设置开发者自己服务器的回调URL地址

(2) 开发者在代码中通过Taku SDK的API传入UserID(用户唯一ID)UserCustomData(用户自定义数据). 这些参数最终将通过回调URL通知开发者

(3) 当用户看完激励视频时,广告平台将通过设置的回调URL地址通知开发者,由开发者自行判断并下发奖励

支持服务端激励的广告平台如下:(可点击跳转到广告平台关于服务端激励的文档说明,不能跳转的请直接登录广告平台后台进行回调URL的设置)

 

2.1 Android

广告平台 参考网址 备注
Facebook https://developers.facebook.com/docs/audience-network/guides/ad-formats/rewarded-video/android  
Admob & Google Ad Manger https://support.google.com/admob/answer/9603226?hl=zh-Hans&ref_topic=7382891  
Applovin - 请登录Applovin后台设置回调URL
Mintegral http://cdn-adn.rayjump.com/cdn-adn/v2/markdown_v2/index.html?file=sdk-m_sdk-android&lang=cn  
Mopub https://developers.mopub.com/publishers/android/rewarded-video/#passing-custom-data  
ironSource https://developers.ironsrc.com/ironsource-mobile/android/advanced-settings/#step-2  
UnityAds http://unityads.unity3d.com/help/resources/s2s-redeem-callbacks  
Vungle https://support.vungle.com/hc/en-us/articles/204374244-Setting-Up-Rewarded-Ads#server-to-server-s2s-callbacks-0-0  
AdColony https://github.com/AdColony/AdColony-Android-SDK/wiki/Showing-Rewarded-Interstitial-Ads#server-side-rewards  
穿山甲(Pangle) https://www.pangle.cn/union/media/union/download/detail?id=4&docId=5de8d9b725b16b00113af0e5&osType=android#5d15f2  
AppNext https://developers.appnext.com/docs/appnext-android-rewarded-fullscreen#server-side-postback---rewarded-video  
Ogury https://ogury-ltd.gitbook.io/android/ad-formats/opt-in-video-ad  
Huawei - 请登录Huawei后台设置回调URL
腾讯广告 https://developers.adnet.qq.com/doc/android/union/union_reward_video 请登录腾讯广告 后台设置回调URL
Taku SDK v5.7.8及以上版本支持
Sigmob https://support.sigmob.com/#/%E5%B9%B3%E5%8F%B0%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/Sigmob%E5%8F%98%E7%8E%B0/%E6%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91%E6%9C%8D%E5%8A%A1%E7%AB%AF%E9%AA%8C%E8%AF%81/ v5.7.40版本开始,支持customData的传入,以Json字符串的形式通过开发者设置的回调URL通知开发者(Key为user_custom_data,Value为customeData)
快手 https://static.yximgs.com/udata/pkg/KS-Android-KSAdSDk/doc/4701b963d40a77bc0f45fd71d30b57da.pdf 从v5.7.25版本支持,在广告加载前必须同时传入userId、customData
百度 https://union.baidu.com/miniappblog/2020/12/01/newAndroidSDK/  

 

2.2 iOS

广告平台 参考网址 备注
Facebook https://developers.facebook.com/docs/audience-network/guides/ad-formats/rewarded-video/ios  
Admob & Google Ad Manger https://developers.google.com/admob/ios/rewarded-video-ssv  
Applovin https://dash.applovin.com/docs/integration#iosRewardedVids  
Mintegral http://cdn-adn.rayjump.com/cdn-adn/v2/markdown_v2/index.html?file=sdk-m_sdk-ios&lang=cn  
ironSource https://developers.ironsrc.com/ironsource-mobile/ios/advanced-settings-2/#step-3  
Vungle https://support.vungle.com/hc/en-us/articles/204374244-Setting-Up-Rewarded-Ads#server-to-server-s2s-callbacks-0-0  
AdColony https://github.com/AdColony/AdColony-iOS-SDK/wiki/Showing-Rewarded-Interstitial-Ads#server-side-rewards  
穿山甲(Pangle) https://www.pangle.cn/union/media/union/download/detail?id=23&docId=5de8d72ab1afac00129330e6&osType=ios#620104  
AppNext https://developers.appnext.com/docs/appnext-ios-rewarded-fullscreen#server-side-postback---rewarded-video-ad  
Ogury https://ogury-ltd.gitbook.io/ios/ad-formats/opt-in-video-ad  
Nend 点击查看  
Sigmob https://support.sigmob.com/#/%E5%B9%B3%E5%8F%B0%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/Sigmob%E5%8F%98%E7%8E%B0/%E6%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91%E6%9C%8D%E5%8A%A1%E7%AB%AF%E9%AA%8C%E8%AF%81/ v5.7.41版本开始,支持customData的传入,以Json字符串的形式通过开发者设置的回调URL通知开发者(Key为user_custom_data,Value为customeData)
UnityAds https://unityads.unity3d.com/help/resources/s2s-redeem-callbacks  
Tapjoy - 请登录Tapjoy后台设置回调URL
腾讯广告 https://developers.adnet.qq.com/doc/ios/union/union_reward_video 请登录腾讯广告 后台设置回调URL
Taku SDK v5.7.8及以上版本支持
快手 https://static.yximgs.com/udata/pkg/KSAdSDKTarGz/doc/ksadsdk-iOS-readme-ad-3.3.9.pdf  
百度 https://union.baidu.com/miniappblog/2020/08/11/iOSSDK/  

 

3. Taku服务端激励的使用说明

① Taku SDK >= v5.7.56可以使用Taku服务激励回调

② Taku SDK >= v5.7.78及以上版本支持在Taku服务激励回调中返回展示级别的数据(开发者可以在回调URL中添加{ilrd}参数获取相应数据)

 

3.1 服务端激励使用流程

(1) 开发者需要在Taku后台的激励视频广告位上打开服务端激励,并设置回调URL地址

(2) 开发者需要在代码中通过Taku SDK的API传入UserID(用户唯一ID)、UserCustomData(用户自定义数据). 这些参数最终将通过回调URL通知开发者

(3) 当用户看完激励视频时,Taku平台将通过设置的回调URL地址通知开发者,由开发者自行判断并下发奖励

 

3.2 开发者的服务端激励接入指南

(1) 开发者需要Taku后台的激励视频广告位打开服务端激励,并设置开发者服务端激励的回调URL,示例如下:

开发者的回调URL示例如下:

https://www.takuad.com/onrewardedverify?user_id={user_id}&trans_id={trans_id}&reward_amount={reward_amount}&reward_name={reward_name}&placement_id={placement_id}&extra_data={extra_data}&network_firm_id={network_firm_id}&adsource_id={adsource_id}&scenario_id={scenario_id}&sign={sign}&ilrd={ilrd}

 

(2) Taku会以 GET 方式请求开发者的回调URL,并拼接以下参数回传:

user_id={user_id}&trans_id={trans_id}&reward_amount={reward_amount}&reward_name={reward_name}&placement_id={placement_id}&extra_data={extra_data}&network_firm_id={network_firm_id}&adsource_id={adsource_id}&scenario_id={scenario_id}&sign={sign}&ilrd={ilrd}

 

(3) 开发者url自定义回调信息的占位符如下,注意

① 不一定要配置所有占位符,即需要哪些信息就配置哪些占位符

② 如果需要签名机制(即有配置:sign={sign}),那么涉及签名相关(见下面:sign签名规则说明)的所有占位符都需要配置

③ 回调给开发者的url除了自定义配置信息外,某些情况还有可能额外返回人民币转美元汇率信息(例如:exch_rate_c2u=0.1375),不关注可忽略

④ 使用开发者后台创建或编辑服务端激励广告位时,默认会回调一次开发者在后台配置的激励url,目的是为了一开始就检测开发者配置的url是否正常,即此时回调的url占位符是没有替换的并且会增加回调参数:is_test=1

参数 说明 备注
{user_id} 用户ID 由开发者通过Taku SDK API设置
{extra_data} 用户业务参数 由开发者通过Taku SDK API设置
{trans_id} Taku服务端生成的trans_id,具有唯一性 强烈建议开发者在服务器发放激励前校验trans_id是否已发放激励,以规避对相同的trans_id重复发放激励,(对应客户端展示回调信息中getShowId()
{reward_name} 激励名称 在开发者后台设置(支持广告位广告场景设置)
{reward_amount} 激励数量 在开发者后台设置 (支持广告位广告场景设置)
{placement_id} Taku广告位ID -
{network_firm_id} Taku聚合的广告平台ID 【特别注意】1). 如果您需要使用服务端激励,同时有使用Taku Adx、直投、交叉推广时:针对第三方广告平台建议您优先使用第三方广告平台的服务端激励回调;针对Taku Adx、直投、交叉推广,您可以使用Taku的服务端激励回调。2). 您可以根据 Network Firm ID来判断是否只接受Taku服务端激励回调:
1. Taku Adx的Network Firm ID=66
2. Taku 直投广告的Network Firm ID=67
3. Taku 交叉推广的Network Firm ID=35
查看Taku广告平台ID列表
{adsource_id} Taku广告源ID -
{scenario_id} Taku广告场景ID 由开发者通过Taku SDK API设置
{package_name} 开发者应用的包名或Bundle ID 由Taku SDK获取开发者的应用包名或Bundle ID
{platform} 系统平台,Android 或 iOS 按以下枚举类型返回,1:Android,2:iOS
{ilrd} Taku SDK回调的展示级别数据. 数据为json字符串 Taku SDK v5.7.78及以上版本支持。Taku SDK在回调激励视频OnReward时给开发者提供展示级别的数据,具体数据格式参考
{sign} 签名信息 参考签名规则说明

 

(4) sign签名规则说明

开发者在收到Taku的服务端激励回调时,可以通过sign对回调参数进行校验。

① Taku服务器按以下规则生成sign签名(不带ilrd)

sign =MD5("trans_id="+trans_id+"&placement_id="+placement_id+"&adsource_id="+adsource_id+"&reward_amount="+reward_amount+"&reward_name="+reward_name+"&sec_key="+sec_key)

② Taku服务器按以下规则生成sign签名(带ilrd)

如果回调URL中有 {ilrd} 参数,需要使用以下sign签名规则:

sign =MD5("trans_id="+trans_id+"&placement_id="+placement_id+"&adsource_id="+adsource_id+"&reward_amount="+reward_amount+"&reward_name="+reward_name+"&sec_key="+sec_key+"&ilrd="+ilrd)

 

(5) sign签名示例

参数 示例
trans_id xxxxxxxxxxxxxxxx
placement_id b5b449fb3d89d7
adsource_id 56789
reward_amount 1
reward_name coin
sec_key cyvmwmzrqts7csphhexpqxqxxgljfisb
ilrd abc

sign签名示例如下:

sign=MD5(trans_id=xxxxxxxxxxxxxxxx&placement_id=b5b449fb3d89d7&adsource_id=56789&reward_amount=1&reward_name=coin&sec_key=cyvmwmzrqts7csphhexpqxqxxgljfisb&ilrd=abc)

 

(6) 开发者回调URL收到Taku的服务端激励回调后,需给Taku服务器返回状态码200 或 601或 602 。Taku收到成功或失败状态码后,都不会重发服务端激励回调

返回状态码 说明
200 成功
601 签名验证失败
602 其他失败

Taku服务器发起服务端激励回调后2秒内无响应则视为超时,超时后会每隔一会(比如2秒,4秒,8秒等)重试发送激励回调。Taku最大重试5次还超时,则不再向开发者回调URL发起激励回调

 

3.3 分广告场景的服务端激励

为了满足开发者在不同的激励视频广告场景下发不同的激励,Taku允许开发者除了在不同的广告场景上设置不同的激励名称和激励数量,具体使用流程如下:

(1) 打开激励视频广告位的服务端激励回调,并在回调URL中接收Taku回调的广告场景ID{scenario_id}

(2) 在Taku后台的广告场景下设置激励数量激励名称,参考如下:

(3) 开发者在收到Taku的服务端激励回调时,根据广告场景ID{scenario_id}下发不同的激励

 

3.4 服务端激励规则快捷复用

为了减少开发者手动配置服务端回调规则的时间,Taku允许开发者快捷复用服务端回调规则,步骤如下:

(1) 在高级功能的下拉界面中,进入服务端回调

(2) 新建回调规则,编辑好后保存规则。

(3) 在新建或修改广告位时,打开服务端回调按钮,选择对应规则,即可实现该规则的快捷复用。

 

4. Taku SDK接入

4.1 Taku Android SDK代码示例

Map localMap = new HashMap<>();
localMap.put(ATAdConst.KEY.USER_ID, "test_user_id");
localMap.put(ATAdConst.KEY.USER_CUSTOM_DATA, "test_user_data");
mRewardVideoAd.setLocalExtra(localMap);

mRewardVideoAd.load();

 

4.2 Taku iOS SDK代码示例

[[ATAdManager sharedManager] loadADWithPlacementID:placementId extra:@{kATAdLoadingExtraMediaExtraKey:@"test_user_data", kATAdLoadingExtraUserIDKey:@"test_user_id"} delegate:self];

 

4.3 Taku Unity SDK代码示例

Dictionary jsonmap = new Dictionary();

jsonmap.Add(ATConst.USERID_KEY, "test_user_id");
jsonmap.Add(ATConst.USER_EXTRA_DATA, "test_user_data");

ATRewardedVideo.Instance.loadVideoAd(placementId, jsonmap);

 

4.4 Taku Cocos2dx SDK代码示例

cocos2d::ValueMap extra;
extra[ATCocosSdk::KEY_USER_ID] = "test_user_id";
extra[ATCocosSdk::KEY_MEDIA_EXT] = "test_user_data";
ATCocosSdk::loadRewardedVideoAd(placementId, extra);

 

4.5 Taku CocosCreator SDK代码示例

var setting = {};
setting[ATRewardedVideoJSSDK.userIdKey] = "test_user_id";
setting[ATRewardedVideoJSSDK.userDataKey] = "test_user_data";
ATRewardedVideoJSSDK.loadRewardedVideo(placementId, setting);

 

4.6 Taku ReactNative SDK代码示例

var setting = {};
settings[ATRewardedVideoRNSDK.userIdKey] = "test_user_id";
settings[ATRewardedVideoRNSDK.userDataKey] = "test_user_data";
ATRewardedVideoRNSDK.loadAd(placementId, settings);

 

5. ILRD数据说明

变量 类型 说明
network_firm_id int 获取 广告平台对应的ID,用于区分广告平台
adsource_id string 获取 广告源ID. 可在开发者后台或Taku Open API 通过广告源ID查询具体的Network信息
adsource_index int 获取 当前广告源在WaterFall中的排序(从0开始)
adsource_price dounble 获取 ECPM,单位可通过"currency"获取
adsource_isheaderbidding int 是否为头部竞价的广告源,1:是,2:否
id string 获取 每次展示广告时生成的独立ID
publisher_revenue double 获取 展示收益
currency string 获取 货币单位,例如:"USD"
country string 获取 国家代码, 例如:”CN"
adunit_id string 获取 Taku广告位ID
adunit_format string 获取 广告类型,包括:"Native"、"RewardedVideo"、"Banner""Interstitial"、"Splash"
precision string 获取 ECPM精度
"publisher_defined":开发者在Taku后台为广告源定义的eCPM(交互推广的eCPM也属于该类型)
"estimated": Taku的预估eCPM(auto eCPM)
"exact":Header Bidding实时竞价的eCPM
network_type string 获取 Network类型
"Network":第三方广告平台
"Cross_Promotion":交互推广
"Adx":Taku Adx
network_placement_id string 获取 Network的广告位ID
ecpm_level int 获取 广告源的eCPM层级,头部竞价广告源默认为0
segment_id int 获取 流量分组ID
scenario_id string 获取 广告场景ID,仅Rewarded Video&Interstitial支持(v5.7.20开始,支持Native&Banner)
scenario_reward_name string 获取 广告场景的激励名称,仅Rewarded Video支持
scenario_reward_number int 获取 广告场景的激励数量,仅Rewarded Video支持
sub_channel string 获取 子渠道信息
channel string 获取 渠道信息
custom_rule Dictionary 获取 Placement+App维度的自定义规则的Json字符串
user_load_extra_data string 获取 Load 时传入的自定义参数,对应 getLocalExtra()
show_custom_ext show_custom_ext 获取 Show时传入的自定义参数,对应getShowCustomExt()

 

6. 常见问题

(1) Taku的服务端激励回调和三方平台的有什么区别

① Taku的服务端激励回调会提供包括Taku ADX、三方平台预估eCPM等数据的激励回调。

若使用Taku ADX、交叉推广、直投广告等,在Taku设置服务端激励回调会更加准确。三方平台的服务端激励回调则是走三方平台的会更加准确。

② Taku和三方平台的激励回调建议二者只选择配置一个。

例如若希望使用穿山甲的激励回调,则不需要在Taku后台创建。

 

(2) 是否一定要配置服务端端激励回调

一般来说,若产品策略,需要针对不同的eCPM/广告场景下发不同的奖励,则需要配置服务端激励回调。

例如:希望给在特定广告场景观看了广告的用户发放特殊的奖励。

若没有这一类的需求,则可以不配置服务端端激励回调。

上一个
SDK预置策略
下一个
Open API接入指南
最近修改: 2025-05-30Powered by