一个cordova app最近的上线问题记录
xxx App安装的插件
com.lampa.startapp 6.1.6 "startApp"
com.zhaoying.GaoDeLocation 1.0.0 "GaoDeLocation"
cordova-plugin-appavailability 0.4.2 "AppAvailability"
cordova-plugin-camera 2.1.1 "Camera"
cordova-plugin-device 1.1.7 "Device"
cordova-plugin-geolocation 2.1.0 "Geolocation"
cordova-plugin-inappbrowser 1.2.1 "InAppBrowser"
cordova-plugin-network-information 1.2.1 "Network Information"
cordova-plugin-splashscreen 3.1.0 "Splashscreen"
cordova-plugin-wechat 3.0.0 "Wechat"
cordova-plugin-whitelist 1.3.4 "Whitelist"
-
1.xxx 充App是一款免充值的充电应用
2.功能包括 场站详细信息查询及导航;
3.启动方式分为选枪启动充电和扫码启动充电
4.支持多种支付方式,目前只支持支付宝;
5.充电过程中可实时监控充电电压、电流、温度、 SOC ;
6.可预估充电剩余时长;
7.订单管理和账单查询;
-
允许应用修改或删除存储卡上的照片、媒体内容和文件。是为了用户修改头像
-
允许应用基于GPS、基站、 Wi-Fi 等网络源获取位置信息。这可能会增加耗电量。是为了使用位置信息查询附近的充电站;
-
允许应用基于基站、 Wi-Fi 等网络源获取位置信息。是为了使用位置信息查询附近的充电站;
-
允许应用拍摄照片和视频。是为了用户扫描充电桩二维码充电;
-
允许应用读取存储卡上的照片、媒体内容和文件。是为了用户更换头像;
-
允许应用获取本机号码、通话状态以及拨打的号码。是为了联系场站服务人员,方便用户拨打电站工作人员的联系电话;
发布问题处理过程:
-
包名在平台上有重复, 重新设置了下包名,把android卸载了,重新装了一遍 ok
-
审核, android target sdk版本必须不小于,修改AndroidManifest.xml targetADK为 26, 重新打包 ok
-
用户协议必须打钩的形式同意,否则不予登录,修改App后 ok
-
隐私协议申明中未体现开发者和应用名, 并且要和平台上的开发者一致 修改隐私协议 ok
-
再次提交, 在用户同意隐私政策之前就申请了MAC地址,存储的权限,但是在cordova中无法禁止它在打开之后直接请求
- 安装获取权限的插件并使用,可以后获取,但是刚进去获取权限的去不掉
- 尝试提升minsdk 升级到24的时候,可以不获取存储权限, 但是手机信息和定位还在自动获取
- 增加AndroidManifest中 application 中android:usesCleartextTraffic=“true” 防止targetsdk=28 无法访问网页
- 最终 android:minSdkVersion=“25” android:targetSdkVersion=“27” 不需要在AndroidManifest去掉定位,存储等权限的声明, 在路由跳转的位置卡一下如果登录就请求权限信息,这样就动态获取了权限信息。
- 尝试将cordova-android Version升级到8.x.x. 再打吧测试 (没试用)
安卓6.0以后才开始的动态获取权限,所以讲android:minSdkVersion进一步提升,从原来的16改为23,24,25等逐步尝试。
-
隐私政策没写sdk相关的说明, 包括支付宝和高德地图adk, 修改隐私协议添加使用的sdk的详细说明
- 当您在本应用中使用支付、扫码、地图定位的功能服务时,第三方服务方将通过页面或SDK收集您的个人信息,请您注意阅读并遵守前述第三方的用户协议及隐私政策
具体涉及如下SDK:
(1)当您开启位置权限时,在地图页和场站列表页面会使用高德地图SDK,高德地图SDK会收集您的设备信息、网络信息、位置信息等,您的位置会用于查询您所处位置附近的充电站。
(2)当您在启动充电桩时,会使用支付宝进行支付,阿里支付SDK会收集您的设备信息、网络信息等。
(3)当您在扫描充电桩二维码时,会询问您是否开启拍摄权限,扫描二维码SDK会使用您的相机进行扫码识别。
违规获取MAC地址,更新了隐私政策协议,App并没有获取MAC在使用SDK或者webview的时候获取了设备的MAC,在隐私协议中说明了mac地址有关事项。 华为应用商店审核通过。
8.3日上传小米,小米应用商店需要 大陆的开发者上传应用安全评估报告,关于应用安全评估报告,安卓市场的“安全评估报告”攻略
/frameworks/base/wifi/java/android/net/wifi/WifiInfo.java getMacAddress();
Android app 首次运行违规读取 Mac 地址定位方法
但是很多的隐私合规都是写在H5中的,通过webview打开h5会获取mac地址
Cordova项目 UiwebView替换为WKWebview
8.5 小米平台上传了两次,审核未通过一次是Android 10兼容性测试不通过 修改sdk版本后再次进行上传又报Android9兼容性不通过, 搜索了原因是小米平台使用的是自动化测试脚本,http://testit.miui.com/ 使用它们的小米云测试平台;最终将报告不通过的安卓版本所有机型测试完,在测试平台截图后,找人工客服通道反馈解决成功。
8.9上传了小米,VIVO,OPPO,百度; 魅族无法提交, 应用宝仍然在认领审核中。
oppo提示应用没有注销账户功能。
Android发布过程中问题总结
iOS发布过程中问题总结
- 隐私协议问题,需要在Info.plist中增加使用用户隐私的相关描述
用户隐私的一些补充说明:
- UIWebview被弃用,直接提交包会被吞掉,
目前cordova-ios版本ios 4.5.5 升级到5.1.1之后安装插件cordova-plugin-wkwebview-engine再重新上传一次; 5.1.1不行;
升级到cordova-ios6.0.0之后重新上传。还是不行,依然提示有UIWebView。通过命令
grep -r UIWebView .
在包中查找,发现是插件 支付宝cordova-plugin-alipay-v2 使用了UIWerbView.
通过github 重新更新SDK解决,https://github.com/hhjjj1010/cordova-plugin-alipay-v2 删除插件之前先删除ios平台,之后再删除插件
下载到本地安装 cordova plugin add /your/local/path --variable APP_ID=your AppId
- 重新安装ios之前需要将APP icon文件夹和启动图片文件夹备份出来,防止重复工作
- iOS端安装的插件记录
cordova-plugin-add-swift-support 2.0.2 "AddSwiftSupport"
cordova-plugin-alipay-v2 2.0.0 "alipay"
cordova-plugin-camera 2.1.1 "Camera"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-geolocation 2.1.0 "Geolocation"
cordova-plugin-network-information 1.2.1 "Network Information"
cordova-plugin-qrscanner 3.0.1 "QRScanner"
cordova-plugin-splashscreen 3.1.0 "Splashscreen"
cordova-plugin-whitelist 1.3.5 "Whitelist"
cordova-plugin-wkwebview-engine 1.2.2 "Cordova WKWebView Engine"
- Xcode12 启动页不显示问题处理 https://www.jianshu.com/p/a3d9f6ba222a
- ios上架提供好真机操作视频,相关的版权软著资料全部打包一起,审核一次通过。