Tech Note · 2023-03-15 0

应用上架亚马逊应用商店,持续自动发布

背景:应用已经在google play上架并稳定迭代,计划上架亚马逊商店。
phase1目标:应用上架appstore,应用内商品支持亚马逊支付(继续延续FB或google登录);
我理解的phase1:
应用原本的代码不需要新建仓库,只需要拉一个新的分支,需要改的代码部分只有:
1.识别是由亚马逊商店还是google play下载的app;
2.处理应用内所有付费和记录订单的地方;
3.包名修改,改为适配亚马逊的包名;
另外的工作就是注册amazon developer、新建应用、提交应用内商品;
phase2目标:应用支持亚马逊账户登录;
我理解的phase2:
1.接入LWA sdk,由于LWS和Google play互斥所以phase2会新建一个代码仓库;
2.app对这个版本的仓库加入通过亚马逊登录组件;
3.加入亚马逊支付的埋点;

测试er的工作内容:
1.使用亚马逊支付测试应用内购买;
2.为亚马逊分支配置jenkins打包流水线,并配置python脚本实现自动上传产物至appstore的流水线;

Amazon appstore文档地址:
应用内测试文档:https://developer.amazon.com/zh/docs/in-app-purchasing/iap-app-tester-user-guide.html#
应用发布api文档:https://developer.amazon.com/zh/docs/app-submission-api/appsub-api-ref.html

使用亚马逊支付测试应用内购买:

亚马逊提供的测试分两种模式:一种是app不需要任何发布操作,通过官方提供的apptester进行本地测试,将商品json通过adb push到手机上并给手机打开debug模式,同时运行待测app和apptester就会识别商品的sku并返回对应的接口结果;另一种是上架到应用商店,但仅开放给指定的动态测试员账户,测试员账户登录亚马逊市场就能下载待测包进行动态测试;
本地配置apptester步骤:
1.需要准备的文件: 支持亚马逊支付的apk(开发提供)、应用内商品的json(developer网站下载)
2.手机:安装亚马逊应用市场、安装apptester
3.电脑:
连接手机,cmd打开debug模式->adb shell setprop debug.amazon.sandboxmode debug
把json文件push到sd卡 $ adb push [_您的JSON文件夹_]/amazon.sdktester.json /sdcard/amazon.sdktester.json
4.打开apptester查看”Manager Transactions”选项卡里的内容和你的json文件应该相同,然后在app中调起Amazon支付就配置ok啦~~

为亚马逊分支配置jenkins打包流水线

配置python脚本实现自动上传产物至appstore的流水线
github地址: