小程序看完激励视频发放奖励(含解决重复发放奖励的bug)

  • Post author:
  • Post category:小程序


最新在写抖音小程序,和微信小程序基本一样,这里主要说一下小程序怎么使用激励视频并且看完激励视频发放广告(关闭清除广告奖励就不会重复发放)

首先,得去开放者平台的广告中心,里面有一个流量主,然后点击广告管理去新建一个广告位,选择激励广告,然后你就有了一个广告位ID,先把它复制下来,备用。

第二步,在需要用激励视频的页面定义变量

var videoAd = null;
Page({})

第三步,在页面加载的时侯创建广告

onLoad: function(options) {
if (tt.createRewardedVideoAd) {

                    videoAd = tt.createRewardedVideoAd({
                        adUnitId: res.data.advTiktokId,
                    });
                    //防止奖励重复发放
                    try {
                        if (videoAd.closeHandler) {
                            videoAd.offClose(videoAd.closeHandler);
                            console.log("videoAd.offClose卸载成功");
                        }
                    } catch (e) {
                        console.log("videoAd.offClose 卸载失败");
                        console.error(e);
                    }
                    videoAd.closeHandler = (res) => {
                        // 用户点击了【关闭广告】按钮
                        if (res && res.isEnded || res === undefined) {
                            // 正常播放结束,可以下发奖励
                            console.log("播放完毕");
                            tt.authorize({
                                scope: "scope.album",
                                success: (res) => {
           
                                        tt.downloadFile({
                                            url: "",
                                            header: {
                                                "content-type": "application/json",
                                            },
                                            success: (res) => {
                                                let filePath = res.tempFilePath;
                                                tt.saveImageToPhotosAlbum({
                                                    filePath, // 暂不支持网络图片/本地图片地址,需与tt.downloadFile一起使用
                                                    success: (res) => {
                                                     tt.$msg("none", "壁纸已保存到相册")
                                                       
                                                    },
                                                    fail: (err) => {}
                                                });
                                            },
                                            fail: (err) => {
                                                console.log(err);
                                            },
                                        });
                                     
                                },
                                fail: (err) => {
                                    console.log("authorize fail", err);
                                    tt.$msg("none", "请打开相册权限")
                                },
                            });

                        } else {
                            //提前关闭小程序
                            tt.$msg("none", "您看完广告后才能下载~")
                        }
                    };
                    videoAd.onClose(videoAd.closeHandler);
                }
    },

第四步,在点击的时侯播放广告

//超清下载
    submit() {
        // 在合适的位置打开广告
            tt.authorize({
                scope: "scope.album",
                success: (res) => {
                    videoAd.show().catch(err => {
                        // 失败重试
                        videoAd.load()
                            .then(() => videoAd.show())
                    })
                },
                fail: (err) => {
                    tt.$msg("none", "请打开相册权限")
                },
            });
        
    },

结束了,欢迎留言~



版权声明:本文为weixin_52921391原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。