小程序分享統計功能 設置查看分享時長才可增加積分

小程序自帶的有數據分析功能,而且很詳細:概況、昨日概況、實時統計、訪問分析、來源分析、自定義分析、用戶畫像、累計訪問人數、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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章