收藏
回答

onShareAppMessage的回调

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 需求 onShareAppMessage 工具 7.0.1 2.4.3

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

- 希望提供的能力:

寻求方法解决。

致谢

回答关注问题邀请回答
收藏

3 个回答

  • 浴火小青春
    浴火小青春
    2019-01-03

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

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

    2019-01-03
    赞同 1
    回复 1
    • forget 、
      forget 、
      2019-01-04

      这个问题也考虑过,目前最好的办法应该只有这样了。谢谢。

      2019-01-04
      回复
  • GG
    GG
    2019-07-31

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

    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) {
     
            },
          })
        }

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

    2019-07-31
    赞同
    回复
  • 拾忆
    拾忆
    2019-01-02

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

    2019-01-02
    赞同
    回复 2
    • forget 、
      forget 、
      2019-01-02

      那也就是这方面的业务全都别想咯......?

      忧伤

      2019-01-02
      回复
    • 拾忆
      拾忆
      2019-01-02回复forget 、

      2019-01-02
      回复
登录 后发表内容