Skip to main content

积分墙

一、注意事项#

  • 禁止在onAdLoadFailed回调中执行广告加载的方法,否则会引起死循环。

  • 禁止在onAdLoaded回调中直接执行广告展示的方法。SDK有广告过期自动补充功能。如果在onAdLoaded回调中执行showOfferwallAd (),开发者会无法精准控制告展示的时机。

  • 开发者可以参考Demo中的offerwall.dart集成。

二、集成步骤#

1、请求广告#

//参数设置
Map customMap = {};
Map extraMap = TPOfferWallManager.loadOfferwallAd .createRewardVideoExtraMap(
customMap: customMap,
);
//加载广告
TPOfferWallManager.loadOfferwallAd("在TP平台创建的广告位ID",extraMap: extraMap);

参数说明

unitId:TradPlus后台创建的广告位ID#
  • 开发者需正确填入,例如:unitId设置前后有空格,均会导致广告因拉不到配置而请求失败。
extraMap:额外参数#
  • customMap:设置流量分组相关属性参数
  • localParams:设置本地参数。个别广告平台特殊需要设定的参数。

2、检查是否有可用广告#

  • 开发者在监听到onAdLoaded回调后调用。
  • 建议开发者展示广告前,调用该API判断是否有可用广告,有广告再调用show方法
  • true表示有可用广告,false表示暂时无可用广告
  • 当调用offerwallAdReady返回false时,sdk会重新请求广告,无需开发者再次调用load方法。
bool isReady = await TPOfferWallManager.offerwallAdReady(unitId);

3、展示广告#

TPOfferWallManager.showOfferwallAd(unitId);

4、其他API#

这些API通过对应的回调返回结果信息。

  • 设置UserId 用户切换账号时设置,UserId跟后面的积分API绑定, 在首次加载成功后设置。
TPOfferWallManager.setUserId(unitId,"test_userid");
  • 获取当前用户的积分余额
TPOfferWallManager.getCurrencyBalance(unitId);
  • 消费积分 用积分兑换道具时使用
TPOfferWallManager.spendBalance(unitId, 20);
  • 应用主动奖励积分
TPOfferWallManager.awardBalance(unitId, 20);

5、监听回调#

参数说明

基础回调监听#

addListener() {
listener = TPOfferwallAdListener(
//加载成功
onAdLoaded: (adUnitId, adInfo) {
},
//加载失败
onAdLoadFailed: (adUnitId, error) {
},
//展示成功
onAdImpression: (adUnitId, adInfo) {
},
//展示失败
onAdShowFailed: (adUnitId, adInfo, error) {
},
//广告点击
onAdClicked: (adUnitId, adInfo) {
},
//广告关闭
onAdClosed: (adUnitId, adInfo) {
},
//单层广告加载失败
oneLayerLoadFailed: (adUnitId, adInfo, error) {
},
)
//设置监听
TPOfferWallManager.setOfferwallListener(listener!);
}

广告源维度回调监听(可选)#

//开始加载
onAdStartLoad: (adUnitId, adInfo) {
},
//开始竞价
onBiddingStart: (adUnitId, adInfo) {
},
//竞价结束
onBiddingEnd: (adUnitId, adInfo, error) {
},
//单层广告源开始加载
oneLayerStartLoad: (adUnitId, adInfo) {
},
//单层广告源加载成功
oneLayerLoaded: (adUnitId, adInfo) {
},
//视频播放开始
onVideoPlayStart: (adUnitId, adInfo) {
},
//视频播放结束
onVideoPlayEnd: (adUnitId, adInfo) {
},
//所有广告源加载完成,isSuccess为true时表示有成功加载的广告源
onAdAllLoaded: (adUnitId, isSuccess) {
},
// V1.0.5 新增
// 调用load之后如果收到此回调,说明广告位仍处于加载状态,无法触发新的一轮广告加载。
onAdIsLoading: (adUnitId) {
}

积分相关回调(可选)#

//获取当前积分余额成功,amount为积分余额
currencyBalanceSuccess: (adUnitId, amount, msg) {
},
//获取当前积分余额失败,msg为失败原因
currencyBalanceFailed: (adUnitId, msg) {
},
//消费货币成功,amount为消费后的余额
spendCurrencySuccess: (adUnitId, amount, msg) {
},
//消费积分失败,msg为失败原因
spendCurrencyFailed: (adUnitId, msg) {
},
//奖励积分成功,amount为奖励后的余额
awardCurrencySuccess: (adUnitId, amount, msg) {
},
//奖励积分失败,msg为失败原因
awardCurrencyFailed: (adUnitId, msg) {
},
//设置用户id完成,isSuccess为是否成功
setUserIdFinish: (adUnitId , isSuccess)
{
},