MyCRED推荐链接在微信里分享时链接参数被微信客户端截断的解决方法

先讲讲MyCRED积分插件:
我的一个客户在网站后台开通了积分功能,积分插件使用的是MyCRED,MyCRED会为每一位参与推广网页内容的注册会员分配与其注册ID或者ID序号绑定的推荐链接。比如这个网页

http://www.redren.net/2016/01/abc/

当与某ID绑定时,就变成了

http://www.redren.net/2016/02/woshiyigelizi/?mref=wx3882963888

这里wx3882963888是该会员使用微信登陆网站是自动分配的ID号,是与其OpenID绑定的一个账户。

会员wx3882963888登陆网站之后,在任何一个文章详情页都可以自助生成自己的推广链接,具体连接形式与上面的相仿,又如这个链接地址:

http://www.redren.net/2016/03/iamanexample/?mref=wx3882963888

链接末尾的?mref=wx3882963888就是推荐链的参数了。当链接被通过某种方式(微信/微博/短信息/电邮/论坛推广等)分享出去之后,每次被网友点击打开,我们的系统就会为会员 wx3482963888 加上一笔奖励金额。

再说说微信分享JS-SDK:
微信分享的JS-SDK给我们创造了自定义分享页面内容的方便,有了微信JS-SDK,我们可以自定义分享页面的链接、描述及缩略图,比起传统的分享方式来说,页面分享展示出来的内容更加丰富,更加吸引人。

MyCRED推荐链接与微信JS-SDK的冲突:
MyCRED的积分奖励体系在微信以外都运行得很好,但是在微信里面就不好使了,因为微信客户端会在我们分享的页面地址之后加上一段微信自己的参数,如下所示:

  • 朋友圈 ?from=timeline&isappinstalled=0
  • 微信微信群 ?from=groupmessage&isappinstalled=0
  • 好友分享 ?from=singlemessage&isappinstalled=0

这对于我们已经带有动态参数的网页地址来说就非常不友好了。微信的参数会将原链接参数截断,并把原参数放在微信自己生成的参数之后,以一个分号“;”隔离开来。这样原来的推荐链接就被微信改成了下面这种形式:

http://www.redren.net/2016/03/iamanexample/?from=singlemessage&isappinstalled=0;mref=wx3882963888

这就导致MyCRED不能识别出真实的会员ID,也就无法把积分奖励发放给对应的会员了。

解决办法如下:

  1. 在PC端用微信扫码的方式登陆网站,并在PC端访问文章页面;
  2. 点击页面上的推荐链接生成按钮,将新生成的页面地址链接用某种方式发送给自己的微信手机客户端(可以用微信网页版);
  3. 在手机上的微信客户端打开这个页面,然后用微信JS-SDK发送页面给好友或者分享到朋友圈。

经实际测试,微信对这种形式的链接就不会截断,并且这种链接被分享出去,继而被其他微信帐号点击打开之后,其他人的微信ID也会被直接传递到推荐链接里,也就是说下一个访问者也能自助生成自己的推荐链接,参与我们的积分推广活动。关于怎样用微信直接登录网站 请参考《如何更好地把wordpress与微信公众号融合起来》,关于怎样在微信JS-SDK里自定义链接形式并将会员推荐ID绑定到这个链接里 请参考《在微信JS-SDK自定义分享链接中加入积分推广参数的方法(wordpress+MyCRED适用)》。

具体传播过程如下:

  1. Michael通过PC端生成自己的推荐链,并将这个链接分享到朋友圈;
  2. David在朋友圈信息流中看到Michael分享的内容,点击打开网页(这时候,Michael获得一次积分奖励);
  3. David觉得Michael分享的这个页面内容挺不错,于是也在微信中将这个页面分享到自己的朋友圈;
  4. Lisa是David的朋友,Lisa在朋友圈信息流中看到David分享的内容,点击打开网页(这时候,David获得一次积分);
  5. ......一直循环下去,每一位参与者都能通过这种分享参与积分奖励计划。

上述过程中,Michael分享出去的链接地址是

http://www.redren.net/2016/03/iamanexample/?mref=wx3882963888&from=singlemessage&isappinstalled=0#038;from=singlemessage&isappinstalled=0

wx3882963888 代表的是Michael的微信ID

David二次分享出去的链接地址是

http://www.redren.net/2016/03/iamanexample/?mref=wx3472963699&from=singlemessage&isappinstalled=0#038;from=singlemessage&isappinstalled=0

wx3472963699 代表的是David的微信ID

如果Lisa继续按照这种方式分享的话,Lisa分享出去的链接地址将会是

http://www.redren.net/2016/03/iamanexample/?mref=wx3462066678&from=singlemessage&isappinstalled=0#038;from=singlemessage&isappinstalled=0

wx3462066678 代表的是Lisa的微信ID

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注