onShareAppMessage的回调
发布于 5 年前 作者 qiangmo 14371 次浏览 来自 问答

问题描述:微信关闭了onShareAppMessage的回调,但是需求是:想要知道用户转发成功,来做下一步的业务。

- 希望提供的能力:

寻求方法解决。

致谢

3 回复

下面方式测试无效,没有收到回调

onShareAppMessage: function (ops) {
    if (ops.from === 'button') {
      // 来自页面内转发按钮
      console.log(ops.target)
    }
    var that = this;
    var title = this.data.title;
    return {
      title: title ? title : '小白群管理助手',
      success: function (res) {
        // 转发成功
        console.log(res);
      },
      fail: function (res) {
        // 转发失败
        console.log(res);
      }
    }
  }

但是经过测试发现,你如果点击分享小程序,在app.js中可以拿到:

onShow: function (ops){
    console.log("APP-每次启动");
    if (ops.shareTicket) {
      wx.getShareInfo({
        shareTicket: ops.shareTicket,
        success: function (res) {
          console.log(res);
          // { errMsg: "getShareInfo:ok", iv: "OJX/PX3nna0HHVID9zw==", encryptedData: "Vtnj6nlqduHBWFJKYSyKh4yHDMPuU1Hs7l6iPQCNMZ6U4qCstX…vk2HiraBektRNdOkxHi0FgGVkgSxwQxWz2LQrw==" }
        },
        fail: function (res) {
 
        },
        complete: function (res) {
 
        },
      })
    }

当别人点了你转发的小程序,就可以获取到了。

做的麻烦一点来实现类似的功能。分享成功应该可以理解成有其他用户通过分享者分享出去的卡片访问。

可以在分享出去的页面路径里面加上一个唯一标识,例如userid + guid + 时间戳, 当如果有用户通过分享出来的卡片访问该页面,就进行上报,如果唯一标识对应的访问数据是有的,即可认为是分享成功了

官方就不想让你知道转发是否成功

回到顶部