关于小程序转发分享功能,并实现计数埋点方式

前言

之前做的分享都是单页面分享,现在发现公司需要做所有页面的分享,然后指定页面和全局不一样,并且实现记录转发次数和分享者

思路

写一个全局的分享功能,单页面单独去写,

关于分享

去查了相关资料,发现有两种分享可以实现全局分享,单页面特定分享
1、使用page分享,在微信左上角的…出点击分享 2、使用Component组件分享,创建一个button按钮点击分享

关于计数埋点

根据官方的2018年05月16日公告,我们得知分享接口(onShareAppMessage)调用后,将不再返回分享结果事件(success事件)。及用户从小程序、小游戏中分享消息给好友时,开发者将无法获知用户是否分享完成,也无法在分享后立即获得群ID。
但是我们换了个思路去解决

效果

在这里插入图片描述

在这里插入图片描述

使用page分享

全局分享

在app.js处写上以下代码。

~function(){
  var PageTmp = Page;
  Page = function (pageConfig) {
    pageConfig = Object.assign({
      onShareAppMessage:function () {
        return {
          title: 'XXX携手优质供应商共建共赢',
          path: "pages/home/index/index",
          imageUrl:'https://626f-boshiwang-xksvq-1303040639.tcb.qcloud.la/shareBSW.png?sign=ad20decb028506624c638e6056c26a00&t=1605510052'
        };
      }
    },pageConfig);
    PageTmp(pageConfig);
  };
}();

单页分享

在单页面的.js处写下以下代码

  onShareAppMessage:function(){
    return {
      title: '您的好友分享给您一条需求',
      path: "pages/demand/detailsCL/detailsCL?id="+this.data.codeid,
      imageUrl:'https://626f-boshiwang-xksvq-1303040639.tcb.qcloud.la/shareXq.png?sign=6a19a7f039153ed5903200f3b2f6ae48&t=1605510319'
    }
  },

使用Component组件分享

全局分享

在app.js处放以下代码

!function(){
  // 获取页面配置进行页面分享配置
  var ComponentTmp = Component;
  Component = function (componentConfig) {
    // 设置全局默认分享
    let tmpMethods = Object.assign({
      onShareAppMessage () {
        return {
          title: 'XXX携手优质供应商共建共赢',
          path: "pages/home/index/index",
          imageUrl:'https://626f-boshiwang-xksvq-1303040639.tcb.qcloud.la/shareBSW.png?sign=ad20decb028506624c638e6056c26a00&t=1605510052',
        };
      }
    }, componentConfig.methods);
    componentConfig.methods = tmpMethods
    ComponentTmp(componentConfig);
  };
}();

单页面分享

methods: {
	onShareAppMessage () {
     return {
       title: '您的好友分享给您一条需求',
       path: "pages/demand/detailsCL/detailsCL?id="+this.data.codeid,
       imageUrl:'https://626f-boshiwang-xksvq-1303040639.tcb.qcloud.la/shareXq.png?sign=6a19a7f039153ed5903200f3b2f6ae48&t=1605510319'
     };
   },
}

计数埋点

前言我们知道,没有success的回调,没有办法计数
解决思路就是:我们转发的时候,带上shareID,分享页面的type,
当用户点击进来的时候,我们可以监听本地是否由userinfo,如果有,即跑接口,在数据库存储useID,shareID,以及type,并记录成一次有效分享,
毕竟无效分享可以得知谁比较积极,但是有效分享才是公司想要的有意义的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荒男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值