my.createrewardedad(object object)
基础库 或更高版本; 且 支付宝客户端 10.3.76 或更高版本; 若版本较低,建议采取 兼容处理 。
主体: 企业支付宝小程序
创建激励广告实例。
调用该方法创建的激励广告默认是一个单例(小程序端是页面内单例,在小程序端的单例对象不允许跨页面使用)。如果需要在小程序单个页面中使用多个实例,可在入参中传入 multiton,用多例模式进行创建。
广告实例创建
激励广告默认是隐藏的,因此可以提前创建,建议开发者在小程序页面的onload
事件中创建广告实例,并在该页面的中使用创建返回的激励广告实例对象。
创建示例代码
广告加载和显示
创建激励广告实例之后,需要使用rewardedad.load()
和rewardedad.show()
来加载和显示广告。
加载和显示示例代码
监听用户关闭广告
只有在用户点击激励广告上的关闭广告
按钮时,广告才会关闭。这个事件可以通过rewardedad.onclose()
监听。回调会返回一个对象,对象里的参数isended
可以表示广告是否是播放结束之后才被关闭的。
监听示例代码
使用接口之前,请先到 提交审核并开通广告功能。
接入激励广告
是否必须: 是。
1、注册企业支付宝账号:https://certifyweb.alipay.com/certify/reg/guide#/ 。
2、入驻商家平台地址:https://b.alipay.com/page/home 。
是否必须: 是。
支付宝媒体管理平台地址:https://admedia.alipay.com/main/login 。
是否必须: 是。
签约完成后,登陆 ,在“流量管理“→“应用管理” →“新建应用”模块下添加名下的小程序/生活号应用信息。 如果没有,请前往或者,新建应用。
是否必须: 是。
登陆,“流量管理”→“广告位管理”→“新建广告位”,进行广告位的新建。
是否必须: 是。
详细请参考:代码示例。
注意:入参中需要的 adunitid 不是广告位id,而是广告位详情中的 spacecode
object object
查看示例
属性 | 类型 | 默认值 | 必填 | 兼容性 | 描述 |
---|---|---|---|---|---|
adunitid | string | - | 是 | - | 展位码,即 spacecode,非广告 id; |
multiton | boolean | false | 否 | 基础库: 2.8.15 |
是否使用多例模式来创建广告实例 |
返回 rewardedvideoad 实例对象
const ad = my.createrewardedad();
let success = false;
// 广告实例加载完成
ad.onload(() => {
success = true;
});
// 监听错误原因
ad.onerror(err => {
// 处理错误
})
// 监听广告完成
ad.onclose((res) => {
if (res.isended) {
// 播放结束
} else {
// 播放中途退出
}
})
// 触发广告数据获取和显示
// 注意,广告数据获取和显示应该在上面的回调注册完成(onerror、onclose)后才调用
if (success) {
ad.load().then(() => {
ad.show().catch(() => {
// 广告展示失败
})
}).catch(() => {
// 广告请求数据失败
})
}
let rewardedad = null;
page({
onload() {
rewardedad = my.createrewardedad({ adunitid: 'test_video' });
}
})
// 激励广告加载和显示
// load 加载广告
rewardedad.load().then(() => {
// 加载广告完成之后,通过 show 显示广告
rewardedad.show().catch((err) => {
console.log('激励广告显示失败', err);
});
}).catch((err) => {
console.log('激励广告加载失败', err);
});
rewardedad.onclose((res) => {
if (res.isended) {
// 播放结束
} else {
// 播放中途退出
}
})