这两个项目属于H5嵌入到webview中打包成SDK发给CP对接,属于同类做法的产品。 建议流程:
- 前端将服务器上的入口地址发给客户端,客户端在url上拼接参数,在app中做一个入口按钮来打开这个地址;
- 进入页面后查询当前是否已经购买商品,如果已经购买商品则显示当前订单状态,显示开关或关闭按钮,点击按钮调用客户端的相应方法,如果没有购买商品引导用户购买商品;
- 商品页执行相关交互(输入手机号、商品选择、显示错误信息等),接入第三方支付(汇元网、威富通等),客户端需要允许对应的UrlScheme(微信、支付宝等)协议的调用;
- 支付成功或失败页面执行相关操作(比如查询订单页面制作、成功页面、失败页面等);
- 支付成功后进入入口页面执行查询订单操作,循环执行 2、3、4、5;
- 当用户更换手机号、更换手机等可能进行激活操作,需要获取手机验证码,建议该操作由前端调用服务端相关协议将当前设备的uuid与手机号进行绑定再调用客户端方法打开相关业务。 遇到问题:
- 支付UrlScheme协议被拦截;
- ios端支付可能需要进行特别处理(可能需要H5添加处理UrlScheme代码);
- 横竖屏切换时android端与ios端的区别;
- 前端与客户端互相暴露方法(一般都是在window对象上添加方法);
- 初始化sdk时可能参数携带不全;
- 前端页面缓存权限可能在webview中被关闭;