💡Tips
- Taku SDK Version Requirement: v6.5.70 and above.
- Baidu SDK Version Requirement: v9.432 and above.
// 1. When requesting an ad, pass in the Baidu RewardVideoRewardInfo object.
Map<String, Object> localMap = new HashMap<>();
localMap.put(ATAdConst.KEY.USER_ID, userid);
localMap.put(ATAdConst.KEY.USER_CUSTOM_DATA, userdata);
RewardVideoRewardInfo rewardInfo = RewardVideoRewardInfo.builder()
// Select reward type, 1: Inflated Reward, 2: Doubled Reward
.setRewardType(new Random().nextInt(2) + 1)
// Basic reward value, enter a number, supports up to 5 digits
.setBasicReward("9999")
// Basic reward unit, supports up to 3 characters
.setBasicUnit("coins")
// Two-stage reward value, enter a number, supports up to 5 digits
.setAdvancedReward("99999")
// Two-stage reward unit, supports up to 3 characters
.setAdvancedUnit("coins")
// When the reward type is Doubled Reward, the reward multiplier needs to be entered
.setMultiple("2").create();
localMap.put(BaiduATConst.BD_REWARD_INFO, rewardInfo);
mRewardVideoAd.setLocalExtra(localMap);
mRewardVideoAd.load();
// 2. When the reward callback is received, rewardMap is the reward info returned by Baidu.
@Override
public void onReward(ATAdInfo entity) {
if (entity.getNetworkFirmId() == BaiduATConst.NETWORK_FIRM_ID) {
Map<String, Object> extInfoMap = entity.getExtInfoMap();
if (extInfoMap != null){
Object rewardInfoObj = extInfoMap.get(ATAdConst.REWARD_EXTRA.REWARD_INFO);
if (rewardInfoObj instanceof Map) {
Map<String, Object> rewardMap = (Map<String, Object>) rewardInfoObj;
}
}
}
}