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

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

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

对于这种情况,我们目前一般的有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.js
App({
    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);
            }
        }
    }

})

微信小程序是一种基于微信平台开发的应用程序,通过该平台,用户可以快速开发和发布小程序。而uni是一款跨平台的开发框架,可以利用一套代码同时开发iOS、Android和Web等多个平台的应用程序。 在全局分享分销问题上,uni开发微信小程序可以提供以下解决方案: 1. 全局分享功能:利用uni框架开发的微信小程序可以轻松实现全局分享功能。通过开发者可以设置分享标题、图片和链接等信息,用户可以在小程序内或外进行分享,提高用户的分享率和传播效果。 2. 分销功能:微信小程序提供了丰富的支付功能,可以进行分销的佣金结算。通过uni开发的小程序,可以实现用户之间的分销关系建立和佣金结算。例如,用户A通过自己的小程序链接推广产品,当用户B通过A的链接购买产品时,A可以得到相应的佣金。 3. 数据统计和分析:uni开发的微信小程序可以结合微信提供的数据统计和分析工具,对用户的分享和分销行为进行跟踪和分析。通过分析用户的分享路径、转化率等数据,开发者可以优化分销策略,提高分销效果。 4. 提供用户便捷的购买渠道:通过微信支付功能,uni开发的微信小程序可以提供用户便捷的购买渠道。用户可以直接在小程序内完成购买操作,避免了跳转到其他平台的繁琐步骤,提高购买转化率。 总之,利用uni开发微信小程序可以解决全局分享分销问题,提供全局分享、分销功能,以及数据统计和分析等服务,为用户提供更好的分销和购买体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值