打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
微信小程序如何知道分享是否成功的解决方案

来源:网络文章列表

2019-03-13

本文提供了微信分享后的统计数据的解决方案。

最近公司开发微信小程序有一个需求,需要统计某个业务员给用户分享的次数,之前记得微信对于分享这块有个回调函数的,但是貌似现在微信官方为了避免传销式拉人头的分享,已经把分享成功后的回调功能取消。简而言之,就是我们现在是不知道用户的分享动作是取消,还是转发出去。

对于这种情况,我们目前一般的有2种策略可以实施。

1、如果统计要求不是很严格,那么不管分享成功还是取消,只要点击了分享,就视为分享成功。

2、第二种则可以精确统计。只有分享到群里或者朋友,有用户打开后,通过ShareTicket拿用户信息,则判断分享成功,否则都是分享失败。

第一种做法比较简单

Page({  onShareAppMessage: function () {    const that = this    // 此处发送统计请求    wx.request({      url: globalData.apiDomainZt + 'xcx/news/flash_share',      data: {        uid: globalData.uid      },      header: globalData.postHeader,      success (res) {        console.log('', res)      }    })    return {      title: '我的顾问',      imageUrl: '',      path: '/pages/index/index,      success () {        console.log('新版微信此处已经不会再执行了', res)      }    };  }})

第二种方案:

// 页面入口页 App.jsApp({  onShow: function (ops) {    let that = this;    // 分享统计放到此处的目的是因为热启动会不走onload,导致统计不准确。    if (ops.scene == 1044) {      // 分享数据统计      wx.getShareInfo({          shareTicket: ops.shareTicket,          success: function(res){            var encryptedData = res.encryptedData;            var iv = res.iv;            if (ops.shareTicket != false) {              wx.getShareInfo({                  shareTicket: ops.shareTicket,                  success: function (res) {                      var encryptedData = res.encryptedData;                      var iv = res.iv;                      // 发送请求,后台解析出分享信息                        wx.request({                        url: that.globalData.apiDomainZt + 'xcx/login/xcx',                        data: {                           encry: encryptedData,                           iv: iv,                           key: that.globalData.sessionKey,                           tid: ops.query.tid // 推广者的ID                        },                        method: 'POST',                        header: that.globalData.postHeader,                        success: function(res) {                          // 成功后的逻辑处理                                                  },                        fail: function (res) {                          // console.log('用户打开', res)                        }                      })                  }              })            }          }      })    }  }})// 分享页的代码Page({  onLaunch: function () {    // 设置分享时带上分享信息    wx.showShareMenu({      withShareTicket: true    })  },  onShareAppMessage(res) {      return {        title: '转发时显示的标题',        path: '/pages/index/index?tid=推广者ID', // 转发的页面路径        success: res = >{                  },        fail: () = >{          console.log('--- 转发失败 ---', path);        }      }    }})
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
微信小程序群功能开发-前端篇 极乐君
微信小程序开发(一) 微信登录流程
微信小程序getPhoneNumber快速获取用户手机号组件 小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等, 有了这个组件可以快速获取微信绑定手机号码,无须用户填写。 1.getPhoneNumber这
微信小程序的简单制作开发流程,人人都可以自己开发小程序
微信小程序开发
如何在小程序中,获取微信群 ID?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服