微信小程序> 小程序分享统计功能设置查看分享时长才可增加积分

小程序分享统计功能设置查看分享时长才可增加积分

浏览量:780 时间: 来源:t2337025

小程序自带的有数据分析功能,而且很详细:概况、昨日概况、实时统计、访问分析、来源分析、自定义分析、用户画像、累计访问人数、TOP受访页面等等,并且也提供了表格下载功能。

这里增加的分享统计日志功能主要是用来记录分享页面的访问分析,即是谁分享的页面被谁打开了,一次打开从前台进入后台这个浏览时间有多长。说白了,也就是出于营销推广方面的需要,来进行分享统计,谁分享了页面增加积分,页面分享到群组里面后,被别人打开了,打开了多长时间,再增加多少积分,就是这样的一个操作。下面是实现的思路流程。

分享统计场景分析:

用户打开分享的小程序链接,此时,如果该用户未登陆小程序,会直接跳转至登陆界面,提醒用户点击登陆,只有在用户点击了微信登陆按钮后,才会获取到该用户的信息,然后开始执行写日志操作,记录下是谁打开了谁的分享。

设置一个初始时间,来统计该用户浏览了多长时间的小程序内容。

设置一个结束时间,当关闭小程序或者离开微信后,通过调用onShow来判断。

写日志操作放在哪里进行需要考虑清楚:

登陆成功后调用写日志操作
分享页调用写日志操作------采用此种
1、首先要保证分享的小程序页面链接带有可识别分享者信息的数据,以此作为判断是谁分享了小程序。当该条分享小程序记录被打开后,获取分享者信息,再做进一步逻辑判断。分享页面js部分代码如下:
 

//设置该页面的转发信息  onShareAppMessage: function (res) {    var value = wx.getStorageSync('user');    //获取分享者的用户信息     if (res.from === 'button') {      // 来自页面内转发按钮      console.log(res.target)    } else {      //console.log(res.target)    }     if (value.id) {      return {        title: '河南米云信息科技有限公司邀你来分享~~',        path: '/pages/index/index?uinfo='+value.id,        success: function (res) {          // 转发成功            var shareTickets = res.shareTickets;          var shareTicket = shareTickets;          wx.getShareInfo({            shareTicket: shareTicket,            success: function (res) {              wx.showToast({                title: '转发成功',                duration: 5000              })            },            fail: function (res) {              console.log('fail');              console.log(res);              wx.showToast({                title: 'fail:' + res.errMsg,                duration: 5000              })            }          });        },        fail: function (res) {          // 转发失败          }      }    } else {      console.log('分享者ID未能获取......')          }      },

通过以上分享设置就能获取到分享者的id信息,为下一步分析做准备。

2、当分享信息被点击后,通过判断是否带有id标志来判断下一步操作,获取到分享者id后,开启写如统计分享代码,将统计功能代码封装为函数,放到入口app.js中:

为什么放入app.js中?当然是方便其他页面调用了,当然也可以放在自己定义的js中。

查看分享数据统计对应数据库表字段:

CREATE TABLE IF NOT EXISTS `wxapp_shareview` (   `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,   `uid` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '浏览者ID',   `shareUid` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '分享者ID',   `brand` varchar(50) NOT NULL DEFAULT '' COMMENT '手机品牌',     `model` varchar(100) NOT NULL DEFAULT '' COMMENT '手机型号',   `system` varchar(100) NOT NULL DEFAULT '' COMMENT '操作系统版本',   `pixelRatio` varchar(100) NOT NULL DEFAULT '' COMMENT '设备像素比',   `language` varchar(100) NOT NULL DEFAULT '' COMMENT '微信设置的语言',   `version` varchar(100) NOT NULL DEFAULT '' COMMENT '微信版本号',   `begin_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '初始访问时间',   `end_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '结束访问时间',   PRIMARY KEY (`id`),   KEY `uid` (`uid`),   KEY `shareUid` (`shareUid`),   KEY `begin_time` (`end_time`) USING BTREE ) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='微信分享查看统计表' AUTO_INCREMENT=1 ;

浏览者打开分享的小程序链接写入日志,给定一个初始时间;离开小程序关闭后再记录一条结束时间,通过两个时间差值来判断这条浏览记录是否为有效的分享浏览,有效则增加分享者积分,否则略过即可。

转载:https://blog.csdn.net/seoalphas/article/details/81480271

 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎