微信小程序调用并跳转视频号 判断用户观看时长

文章讲述了如何在uniapp应用中,通过wx.openChannelsActivity方法调用视频号并追踪用户行为。当用户点击按钮,通过success或fail方法判断是否允许跳转,然后在onHide生命周期中启动计时器记录观看时长。当用户返回,onShow事件中检查计时器并获取观看时间。
摘要由CSDN通过智能技术生成

 调用按钮

<button @click="goAdsBuy(item)">

调用方法:

finderUserName = 视频号的用户ID(视频号ID)

feedId = 视频ID 

 

goAdsBuy(item){
			console.log('弹出1次')
			 var that = this;
			
			 wx.openChannelsActivity({
			      finderUserName: item.finderUserName,
			      feedId: item.feedId,
			      success (res) {
					   that.ifCatAds =true;
			      },
				  fail(res) {
					  console.log('取消?')
				  },
				  complete(res) {
					  setTimeout(function(){
						  
					  },500)
				  }
			});
			that.catVideoId = item.id;
		},

       

判断观看时长及是否观看 :

在点击按钮后

取消会进入到 wx.openChannelsActivity.fail方法

允许会进入到  wx.openChannelsActivity.success方法

在点击允许 success方法-> 修改某个标识 例如ifCatAds  =true

进入视频号之后  uniapp的onHide先会执行 (页面被隐藏了 代表用户跳出去了 干嘛了不知道)

根据这个逻辑 判断当前页面隐藏时 执行OnHide时 是否点击了跳转视频号的操作 

if (ifCatAds) 如果是点击了跳转视频号并执行了onHide 那么开始计时一共隐藏了几秒 直到下一个onShow

onHide: function() {
			var that = this;
			console.log("是否在观看", this.$refs.adsList.ifCatAds)
			if (that.$refs.adsList.ifCatAds) {
				that.timer = setInterval(function() {
					that.catAdsTime += 1;
					console.log("观看", that.catAdsTime, "秒")
				}, 1000);

			}
		},

当用户返回来的时候 就进入到 onShow uniapp回显的生命周期 那么在之类判断catAdsTime时间即可 从hideshow 计时了几秒 

 最后是timer 计时器的 给个默认值就行 

 

 

 计时方法: (1000秒执行一次catAdsTime+1)

				that.timer = setInterval(function() {
					that.catAdsTime += 1;
					console.log("观看", that.catAdsTime, "秒")
				}, 1000);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值