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

 调用按钮

<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);

猜你喜欢

转载自blog.csdn.net/liuchenhaoy/article/details/129400203