• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

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

分享统计场景分析:

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

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

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

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

  1. 登陆成功后调用写日志操作
  2. 分享页调用写日志操作------采用此种

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 ;

  

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
小程序初入门发布时间:2022-07-18
下一篇:
小程序|App抓包( 五)-Drony配合Burp实现App定向抓包发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap