- 微信浏览器中,点击界面右上角,安卓用户可以看到一个“在浏览器中打开”,苹果手机用户可以看到一个“在Safari中打开”的功能,可以将链接在系统默认的浏览器中打开。当我们的网站被微信屏蔽了,或者需要的某些功能微信里面无法直接调用时,这是一种常用的离开微信环境的方法。
- 微信官方给出了微信小程序唤起APP的方法
微信小程序开发文档,从微信小程序中打开APP:
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html
3. 逐个方案验证
第一个方案:通过应用商店作为跳板打开我们的APP
经过与技术沟通和一顿百度,只有APP上架到了腾讯应用宝,然后用户访问应用宝对应的链接或二维码时,微信会根据系统判断,iOS自动打开苹果的APP Store,安卓打开腾讯应用宝。
我们APP本来就上架了腾讯应用宝,这点可以接受,但是这就带来二个额外的问题:安卓用户不是都装了腾讯应用宝;苹果App Store和腾讯应用宝是否能接受我们的传参,然后打开特定的页面呢?
腾讯应用宝的开发文档,提供了一项功能叫做“Applink能力”:
微下载能力不仅能够帮助开发者在微信等场景进行一键下载安装,目前已支持直接拉起应用的指定内容页,帮助开发者缩短内容触达路径,提升产品活跃和用户体验;
https://wiki.open.qq.com/index.php?title=mobile/应用宝微下载#3.3_Applink.E8.83.BD.E5.8A.9B
但是该功能使用需要申请,不是公开的。
首先,为了让用户能用支付宝支付,我们还得让用户装上腾讯应用宝,还要去申请他们的内测功能……能这么折腾我们为什么不让用户直接微信支付呢真是的。所以让我们去推广他的应用宝,现行情况下自然是不可能的。
在苹果iOS9以上的系统中,苹果提供了Universal Links功能,实现用户若未安装APP则跳到应用商店下载页,否则直接唤起APP的功能。
苹果对应开发文档(英文):
https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW1
苹果做这个功能的初衷就是为了让大家APP间能愉快的互相跳转,但不幸的是,微信对外屏蔽了该功能。
第二个方案:引导用户首先用浏览器打开我们的页面,我们再通过浏览器“为所欲为”。
目前看来是最可行的,首先微信浏览器内提供了在浏览器中打开的功能,其次在浏览器中唤起支付宝,这个支付宝已经有现成的接口了,在浏览器中打开自家APP或打开应用市场引导用户下载,这也是可以的。
但是有个用户体验不好的问题,根据支付宝的开发文档,在iOS系统中,唤起支付宝App支付完成后,不会自动回到浏览器或商户App。用户可手工切回到浏览器或商户App。
在手机浏览器上使用支付宝支付开发文档:
https://opendocs.alipay.com/open/203
第三个方案:微信小程序中直接唤起我方APP,再由我方APP唤起支付宝支付。
这里又有两个问题,一个是用户未必装了我们的APP,另外一个就是微信小程序唤起我方APP是有限制的:
当小程序从 APP 分享消息卡片的场景打开或从 APP 打开的场景打开微信小程序时时,小程序会获得打开 APP 的能力,此时用户点击按钮可以打开分享该小程序卡片/拉起该小程序的 APP。即小程序不能打开任意 APP,只能“跳回”APP。
所以方案三也无法实现。但是结合方案二的思路,可以考虑在小程序中引导用户复制链接,然后去浏览器中打开,然后进行后面的步骤。
03 方案设计微信小程序开发文档:
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html
通过对各种方案进行验证后,我们决定了将用户引导到浏览器,然后再进行下一步的流程。如果用户回到微信的页面里,则自动检查用户是否已完成支付,然后再继续后面的流程。
- 用户在微信浏览器内,支付方式选择支付宝后,提示用户选择在浏览器中打开页面;如果是微信小程序内,则只能用户复制链接后自行去浏览器中粘贴打开。
- 在浏览器中检查用户是否已安装APP,如果是则提示打开APP,否则直接唤起支付宝支付;
- iOS系统下,支付宝支付完,可以回浏览器页面或者回微信页面,都会自动检测支付结果,然后跳到对应的成功或者失败页面;安卓则支付宝支付完能跳回浏览器,然后提示可以下载APP查看更多内容(或其他的宣传)。
与技术及领导沟通后,第二点中,本来还想打开APP的,但是考虑到打开APP后还要再帮用户打开支付宝支付,流程太长容易出错,且用户看着页面不断的切换甚至可能以为自己手机中毒了,所以就不检测是否已安装了APP。
至此,我们就完成了微信中进行支付宝支付的通路,尤其是在微信浏览器中,用户只需要多点击两步:
点击更多->用浏览器打开,然后就能解决问题,整体体验习惯了还是可以的,只是谁会去习惯这玩意儿呀,所以我们还要配合微信公众号、小程序大量宣传,引导用户去APP或支付宝生活号中进行购买,能享受一定优惠或参与活动抽奖等,逐渐引流。
04 补充方案我们之所以设计微信使用支付宝支付,其实还是舍不得微信的用户量,但是每次都这么折腾,用户就可能在这样折腾中流失了。所以我们还要考虑其他补充方案:
- 钱包支付:允许用户储值付款,储值可以享受一定优惠
- 银行卡支付:与银联合作(我们只是说不用微信支付而已),实现绑卡支付
- 基于钱包、银行卡支付实现进一步的小额免密支付:进一步为熟客降低支付的门槛,最大程度的留住用户
- 其他:例如电子购物卡之类的,还有引入一些其他支付方式,如云闪付、翼支付或别的
通过对用户支付方式的补充,其实只能很小程度的降低用户的门槛,不过能留存住一部分老客户,也算是挽回一些损失。
为什么要去掉微信支付
这时候如果你还在阅读文章,那请仔细回忆一下那些触手可及的APP: