最近在做 jst app 的商城,全部是webview 页面,商品详情页面的分享,不知道该怎么分享到微信好友和微信朋友圈。找了一下想到几种解决方案,在此分析一下各方案的利弊。
1.调用微信公开的jssdk
很多人说的调用微信公众平台卡发着文档 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
这个是针对于在微信浏览器里运行的页面才能用,我们APP里面内嵌的h5页面是在原生浏览器而不是在微信内置浏览器里运行的。
2.微信开发者平台的sdk 接口
这个我没找到解决方法,全是安卓和苹果的方案,java不会有木有
3.原始方案:生成二维码截屏法
就是用户点击分享——微信——页面弹出了一个二维码,用户只能截图,然后用户再自主打开微信APP然后再发给朋友这张二维码图片。收到二维码图片的用户需要长按识别二维码,才能打开页面。
知乎原话:生成一个当前页面(或者计算过的链接)的二维码,提示用户截屏转发到朋友圈(因为现在在微信生态可以长按二维码识别)
这种方案对于用户来说体验很差,太麻烦,能有这个耐心的用户值得珍惜。而且大多数的APP是直接跳转到微信去的,跟大多数APP的方式相比,这种解决方案太low。
4.诱导法。
这个方案在知乎上有人提过,点击分享,出现一个弹层,弹层上面是图片或文字,让用户自己找到浏览器自带的分享工具;
这种方案很搞笑,APP内嵌的H5页面走的是原生浏览器,让用户几乎感觉不到是h5页面,但这种方式无异于告诉用户用的是一个H5页面,用户体验差极了。
而且有的用户的手机浏览器是没有自带分享工具的。我们不能只考虑UC浏览器或者QQ浏览器。很多用户是不会下载和使用这些浏览器的。最好的方式就是考虑用原生的浏览器。
5.借用原生。
我们打算采用借用原生的方法进行微信分享。H5自身是没有微信分享功能的。之前在开发JST APP 2.5时候也做过H5 页面通过JS调用原生的苹果和安卓方法。
用户点击分享按钮——点击“微信好友”或“微信朋友圈”,页面进行判断苹果还是安卓系统,触发JS调用安卓(或苹果)的方法比如方法名为jump,传参数过去,参数为当前页面的连接url,原生(安卓苹果)需要写jump方法,该方法让用户打开微信,分享参数(当前页面连接)以及图片。我们暂定图片为JST app标志图。
我们的商城头部比较复杂,安卓团队觉得还是用你们H5 自己的头部比较好,姐也介意这个问题,毕竟商品详情页的头部需要有首页,购物车,分类,我的等东西,原生需要调用太多东西。
分享是H5没办法解决不了,只能调用原生啦。
本文探讨了在APP内嵌H5页面如何分享到微信的多种方案,包括调用微信JSSDK(不适用于非微信内置浏览器)、微信开发者平台SDK(缺乏Java支持)、生成二维码截屏法(用户体验不佳)、诱导用户使用浏览器分享工具(用户体验差且不适用于所有浏览器),以及最后选择的借用原生应用功能实现分享,通过JS调用原生安卓和iOS的方法来完成分享操作。
322

被折叠的 条评论
为什么被折叠?



