0.定下来使用什么框架开发app
这边决定的是用DCloud的uni-app,让前端进行IOS和安卓端的开发
https://www.dcloud.io/
1.创建IOS开发者账号
获取 bundleId,后续操作需要使用
教程:https://www.jianshu.com/p/b38c40a4f438
文章是17年的,目前在网站上注册后还需要在IOS设备上进行后续的账号确认和邓白氏编码的申请
创建完成账号后:
获取开发者证书、appId等内容
https://ask.dcloud.net.cn/article/152
2.确认安卓包名和签名
后续操作需要使用,我这里是由前端提供的
3.对接消息推送
需要消息推送,使用的是个推。创建个推应用时需要使用到bundleId和安卓包名。
在使用uni-app时,建议使用uni-app联合个推的uni-push功能,在个推注册后使用uni-app账号进行关联即可使用
https://ask.dcloud.net.cn/article/35622
注意事项:IOS消息推送点击跳转问题相关详见
https://docs.getui.com/getui/question/ios/
4.对接微信支付
使用微信开放平台账号注册一个APP项目,需要使用到bundleId和安卓包名。
然后去微信支付平台进行APP支付的开通,需提供APP项目的appId,进行绑定后即可用来支付
对接支付时踩的坑
后端创建使用的是统一下单接口https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
开始以为除了trade_type以外后续没有不同,结果发现APP的调用和公众号的调用使用的参数不同:
app调起支付:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12&index=2
JSAPI调起支付:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6
二者在前端所需的参数不同,生成签名的参数也不同。并且JSAPI调起支付时参数名是遵循小驼峰 原则的;而APP调起调起支付时的参数名是全小写的。所以生成签名需要分别处理。
5.对接支付宝支付
参考https://blog.csdn.net/m0_37779838/article/details/105558757
支付宝无需特地填写bundleId之类的信息
6.安卓应用商店上架
https://www.jianshu.com/p/0adc2691528c
后续持续更新中…