uniapp开发App从开发到上架全过程
当我们的APP开发完毕,最终交付的时候,必然要经历的一个环节,就是APP上架,国内APP上架一般为IOS端appstore上架,安卓端应用商店比较多,最常见的应用商店有华为应用商店、小米应用商店、OPPO应用商店、VIVO应用商店、应用宝应用商店等。
在开始上架
前,需要准备好相应的材料,安卓端需要准备一张软著材料(软著文件的简称要与APP的名称一致)、企业营业执照、企业银行公户相关材料、对应公户主体的域名ICP备案以及手机号、邮箱等相关材料。IOS端需要准备好一台MAC电脑,一台IOS系统的手机或平板以及99美元的认证费用。
安卓端上架安卓端上架最常见的问题是隐私政策问题,不同的应用市场对于APP的隐私政策都有相应的要求,大家可以提前阅读相应应用市场的隐私政策来进对自己APP的隐私政策进行修改(还有一个野路子解决方案:找到你要上架的相应应用市场中与你APP功能类似的APP,借鉴一下他的隐私政策,记得修改里边的公司名称、地址、联系方式等信息)。
对于隐私政策,APP要在三个地方进行展示,第一个地方是要在APP首次打开的时候以弹窗形式进行展示
![](https://static001.geekbang.org/infoq/8c/8ca82796763d2dc71ff794c526ea839b.png)
第二则是要在APP进行账户登录的时候进行展示,并要求用户勾选并同意隐私协议才可进行登录
![](https://static001.geekbang.org/infoq/72/727648290b2ecea954629904b7754f04.png)
第三处则是要在我的或设置页面中再次展示隐私协议
![](https://static001.geekbang.org/infoq/cc/cc04de4a9f4153a48c871b85460a72f7.png)
对于首次打开APP的隐私弹窗,uniapp已经帮我们集成了此功能,在我们项目的manifest.json文件中,选择“App启动界面配置”,勾选使用原生隐私政策提示框选项,勾选后会在项目中自动添加androidPrivacy.json文件,可以双击打开自定义配置以下内容:
{ "version": "1", "prompt": "template", "title": "服务协议和隐私政策", "message": " 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/> 你可阅读<a href=\"\">《服务协议》</a>和<a href=\"\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。", "buttonAccept": "同意并接受", "buttonRefuse": "暂不同意", "hrefLoader": "system|default", "second": { "title": "确认提示", "message": " 进入应用前,你需先同意<a href=\"\">《服务协议》</a>和<a href=\"\">《隐私政策》</a>,否则将退出应用。", "buttonAccept": "同意并继续", "buttonRefuse": "退出应用" }, "disagreeMode":{ "support": false, "loadNativePlugins": false, "visitorEntry": true, "showAlways": false }, "styles": { "backgroundColor": "#00FF00", "borderRadius":"5px", "title": { "color": "#ff00ff" }, "buttonAccept": { "color": "#ffff00" }, "buttonRefuse": { "color": "#00ffff" }, "buttonVisitor": { "color": "#00ffff" } }}
将我们编辑好的隐私政策内容做成url访问链接,然后在上边message 中的超链接处将链接放入即可。如想实现更多自定义功能和样式,可以参考uniapp官方关于隐私政策配置的说明uni-app官网 (dcloud.net.cn) 配置好后即可以对APP进行打包上架操作,在进行打包前,我们需要关注下应用的版本号,需保证每次打包的应用版本号是大于当前已上架的版本号的,关于版本号的设置可以在manifest.json文件中选择“基础配置-应用版本名称”和“应用版本号”进行设置
![](https://static001.geekbang.org/infoq/2e/2ea5810c9fea902455a91ae9c1fd4fa8.png)
配置完成后,我们选择Hbuilder菜单“发行-原生APP云打包进行打包”,填写Android报名并选择证书后,即可进行打包,关于包名和证书的设置,在我的上一篇文章uniapp开发App从开发到上架全过程(二)-真机调试_阳光shine的博客-CSDN博客https://blog.csdn.net/JiayaoXu/article/details/128467553
中有提到,朋友们如果有不懂的可以查看上一篇文章进行操作。
打包完成后我们会得到一个下载链接,通过下载链接即可以得到.APK文件了。
应用商店注册不同的手机厂商都拥有自己的应用商店,我们需要分别来进行注册并上传我们的APK,在此列出市面上常见的厂商开放平台地址:
1、腾讯应用宝开放平台地址:http://open.qq.com
2、360手机助手开放平台地址:http://dev.360.cn
3、百度手机助手/安卓市场/91助手开发者平台地址:http://app.baidu.com
4、小米应用商店开放平台网站:https://dev.mi.com
5、华为应用商店开放平台网站:http://developer.huawei.com/consumer/cn/
6、魅族应用开放平台网站:http://open.flyme.cn/
7、VIVO应用商店开放平台网站:https://dev.vivo.com.cn
8、OPPO应用商店开放平台网站:http://open.oppomobile.com
9、三星应用开发者平台地址:http://support-cn.samsung.com/
10、阿里应用商店/豌豆荚/PP助手开发者平台地址:http://open.uc.cn
不同平台的注册和认证方式大同小异,朋友们分别进入相应平台注册认证即可。注册并认证过程大约需要2-3个工作日左右。
注册并认证完成之后就可以提交APP了,需根据要求提供APP页面截图并处理成规定的尺寸大小,部分平台还会要求提供APP的LOGO,此处LOGO要保持跟打包的APK中LOGO保持一致
在应用版权证书处需上传APP的软件著作权证书和ICP备案截图,部分平台需在备注中提供。
如APP中有需要进行登录的模块,还需要提供测试账号密码供审核人员进行审核
其他信息根据不同平台要求进行填写即可,填写完成后即可提交审核,一般在5个工作日内会有反馈结果。
苹果端上架首先需要确定好需要注册的账号类型,一般可以选择个人账号或公司账号,个人账号相对来说注册会更简单。
![](https://static001.geekbang.org/infoq/72/72d5308e6baeb2fecc13e11d6585f2b8.png)
首先需要有一个苹果账号,打开Apple Developer,进入登录界面,如无账号可以选择“Creates Your Now” 进行注册
![](https://static001.geekbang.org/infoq/81/8149ed68330ffb831fbbfee9b16e0adf.png)
注册完成进行登录,如果是个人账号则可以忽略这一步,如果需要注册公司账号,那么我们还需要注册一个DUNS编码,进入网址:Look up your D-U-N-S Number - Enroll - Apple Developer 并填写相关信息,检测是否拥有邓白氏编码,点击继续后一般会提示你没有找到邓白氏编码
![](https://static001.geekbang.org/infoq/52/52c93c725c566c5b2691d7316daafde9.png)
此时滑动到最下方后,勾选协议后点击提交即可
![](https://static001.geekbang.org/infoq/37/37216decb07025c9512cc0269b48f476.png)
提交成功后需等待邓白氏官方回复邮件,按照回复邮件的要求提交更多资料进行审核,不出问题的话在5个工作日之内会以邮件的形式发送给你邓白氏编码。
接下来的注册步骤需要在手机端完成:
手机appstore中搜索Apple Developer并安装,使用注册的账号进行登录,登录成功后在账户中点击立即注册按钮,进行填写信息
根据需要注册的账号类型选择个人或组织
然后在根据提示填写信息并扫脸后,等待审核即可。
审核通过后,会通过邮件的形式通知,此时继续打开Apple DeveloperAPP,点击继续注册,同意各种协议并支付订阅费用后,即可注册成功。
证书申请直接使用 appuploder制作证书,创建一个证书(Certificates),点击+进行新建,对于上架我们需要选择Apple Distribution或者iOS Distribution模式,点击继续后会要求我们上传CSR文件,此时选择我们在电脑上生成的CSR文件,点击继续即可生成证书文件,此时点击download按钮即可下载此证书文件
接下来我们需要创建一个Identifiers,点击+新建,选择AppIDs,点击继续,选择APP,此时需要输入我们自定义的Identifiers,并且要选择我们App所使用到的功能,如Apple 登录、通知等,都要在此选择,否则是无法使用的。填写完成后点击继续即可。 最后我们还需要获取描述文件,点击Proffiles目录,点击+新建,注意此时也要选择Distribution下的App Store选项,点击下一步,选择我们提前创建的AppId点击继续,选择我们刚刚创建好的证书文件,再次点击继续,输入描述文件名称后即可生成并进行下载。
![](https://static001.geekbang.org/infoq/86/86fd3a6454a14c531d6ef3fb918737f2.png)
制作好证书 ,描述文件,我们下载保存下来后面打包需要。
上架前调整根据苹果AppStore最新政策,对于需要登录的APP,需要提供给用户可以无需登录可以浏览非核心页面的权限,也就是用户不需要登录即可以访问一些不需要账号的页面,等确实需要用户信息的操作权限,如提交信息等功能在要求用户进行登录
第二点用户登录的情况下,需要提供给用户注销账号的权限,因此需要在设置中提供账号注销菜单。
第三点如果在使用第三方登录(如微信登录等)的情况下,需要提供Apple登录选项
如果没有使用到uni内置的广告模块的话,那么需要关闭IDFA广告标示
在manifest.json中选择“App常用其他设置”,取消勾选使用广告标识选项即可。
App权限权限配置
对于IOSAPP中如果使用到了关于用户隐私相关的功能需要填写访问许可描述,在manifest.json的权限配置菜单中,找到ios隐私信息访问的许可描述项,将此处你用到的权限填写描述,如你用到了相册上传图片功能,那么需要在“相册-读”权限中进行填写。
最后在配置下应用版本名称和应用版本号后就可以进行打包了。
选择Hbuilder菜单“发行-原生APP云打包”来进行打包,其中的证书要选择我们导出的正式版证书,不要选择测试证书。
如果想要你的APP同时支持在Ipad上运行的话,可以勾选支持Ipad选项,如果不需要的话,则尽量不要进行勾选,最后选择完成之后点击打包即可。
打包完成之后会获得一个下载链接,点击下载链接就可以获得以.ipa为结尾的安装包了。
APP信息填写登录AppleDeveloper,在账户界面选择App选项,进入appstoreconnect界面
点击+按钮新建一个APP
新建完成之后点击进入APP信息填写页面,填下APP的基础信息、售卖价格(如果免费选择0元即可)以及隐私政策等信息后进入版本提交页面。
在此界面我们需要上传App的页面截图、版本和二进制安装包等信息,对于截图,必须使用真机进行截图,否则苹果审核人员会给我们进行驳回
二进制包上传不同于安卓APP可以直接在网页端上传安装包,IOS的安装包需要使用到Mac电脑上的App才能上传,我们这边可以使用appuploder工具,在进行登录过后直接将打包好的ipa文件拖到软件上进行上传,等待上传完成之后即可上传成功。
![](https://static001.geekbang.org/infoq/5d/5dd14c55d9de52ba599b4cd5b8aa6ea3.png)
上传完成之后,再次打开appstoreconnect界面,在构建版本界面处选择刚刚上传的IPA文件即可,如果没有显示的话,需要稍等等待几分钟在查看下,如果等待时间过长还没有显示,则需要查看下你的邮箱是否是你上传的文件被驳回。
最后,全部填写完信息后,点击添加以提供审核按钮来提交审核即可。
最后,上架可能不会一次就成功,总会有各种奇奇怪怪的问题出现而被驳回,此时就需要根据驳回的修改意见来灵活修改了,祝每一位开发者都能够上架自己心仪的App~