Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)

访客 135 0

关注后,请回复“进群”,我们将邀请您加入程序员交流群。

作者丨小郭,醉心于猫的恋人

来源:GSYTech(ID:gsy-tech-zone)

本篇将科普 Android 和 iOS 平台的打包和提交审核流程。

由于许多 Flutter 开发人员可能只具备单端开发经验,对于另一端的打包和提交审核流程可能不太熟悉。此外,前端人员可能也缺乏提交审核的经验。因此,本文将为大家普及这一流程,以帮助大家避免走弯路。

一、Android 打包和审核流程

1、打包

事实上 Androd 的打包和审核流程都相对简单,打包 apk 只需要通过如下命令行就可以完成:

以下是改写后的文案:

```
为了满足 Google Play 和国内平台对应用支持 arm64-v8a ABI 架构的要求,我们在打包时可以使用 --target-platform 参数来选择需要支持的框架。这个参数针对打包后的 so 文件进行选择,以减小 APK 的体积。因此,你可以使用以下命令来打包:flutter build apk --target-platform android-arm64 -t lib/main_prod.dart
```
  • 可以使用参数“-t”来指定其他的main.dart进行打包,当然也可以选择不指定。

  • 此外,请注意,在Android上,您需要在android/app/src/build.gradle文件中配置signingConfigs以指定打包密钥和其他相关信息。关于如何生成密钥的具体步骤就不再详述了。然后,将signingConfigs配置添加到buildTypes中即可完成配置。

  • android {
        ····
        signingConfigs {
            config {
                keyAlias xxxx
                keyPassword xxxx
                storeFile file(../keystores/xxxxx.jks)
                storePassword xxxx
            }
        }
    }  
    buildTypes {
        release {
            signingConfig signingConfigs.config
            ndk {
                //设置支持的SO库架构
                abiFilters 'arm64-v8a'
            }
        }
        debug {
            signingConfig signingConfigs.config
            ndk {
                //设置支持的SO库架构
                abiFilters 'arm64-v8a', 'x86', 'x86_64'
            }
        }
    }
    
    最后打包完的 Apk 默认会在如下图所示路径  Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第1张图片-谷歌商店上架

    2、提交审核

    在 Android 上提交审核其实相对简单。因为 Android 只需要提供 Apk 下载链接,就可以直接安装应用。因此,许多厂家选择将 Apk 文件放在自己的服务器上。然而,为了提供更好的用户体验和广泛分发,大多数情况下也会选择将应用上传到各大应用平台。例如,在华为应用市场上没有上架的情况下,可能会出现如下图所示的问题。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第2张图片-谷歌商店上架

    有些 Apk 甚至因为未上架的原因,会被误认为是病毒,其中可能包括由于 app_name 等问题。

    实际上,国内的应用市场审核并不复杂。只是由于存在多个平台和各家平台的条件可能不同,所以变得相对繁琐。目前主流要求包括:

    • targetSdkVersion 28 (9.0);

    • ABI需要支持arm64-v8a

    • 应用需要针对 Android Q(10.0)进行适配,比如文件读取权限变更;

    • 教育类应用需要进行备案。

    • 请提供用户隐私协议和权限说明。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第3张图片-谷歌商店上架

    接下来是一些平台独立审核问题,例如,360平台要求您的Apk经过他们的应用加固(加固后的效果因人而异),而一些平台如应用宝则要求提供应用的版权说明等文件。这些都是相对麻烦的事情。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第4张图片-谷歌商店上架

    当然,有一些平台可以选择不上,但是如果你不在应用宝上发布应用,那么就很难实现微信扫一扫后跳转打开应用和下载的功能。

    另外,以华为平台为例,根据工信部关于开展APP侵害用户权益专项整治工作的通知要求,应用内还需提供帐号注销服务或销户功能能力。

    可以看出 Android 的审核和条件其实并不繁琐,只是有些平台需要的东西比较磨人,具体需要上架可以根据需求自行斟酌了。

    二、iOS 打包和审核流程

    1、打包

    iOS的打包和审核流程相对较为复杂。首先,在进行iOS应用的打包之前,您需要拥有一个开发者账号,并申请并设置应用的Bundle Identifier、配置文件以及证书等必要信息。我相信您已经进入了打包阶段,这些相关文件您都已准备齐全了吧?

    1.1 创建 App Store Connect

    你可以在 https://developer.apple.com 网站登录,然后在 Account 的 Certificates, IDs & Profiles 中找到有关你的应用程序的信息。此外,你还可以前往 https://appstoreconnect.apple.com ,进入 App Store Connect 栏目。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第5张图片-谷歌商店上架

    我的App中,按照提示创建应用,并根据业务要求填写所需信息。以下是需要特别关注的几个要点。

    • 请参考以下改写: 在App Store的应用信息中,有一个隐私政策网站输入栏,如下图所示。这个输入栏是必填项,通常需要填入一个HTML链接。你可以参考类似的网址:https://guoshuyu.cn/home/index/privacy.html

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第6张图片-谷歌商店上架
    • 2、上传应用截图时,通常需要准备3-5张预览图。然而,在这种情况下,我们需要两种尺寸的截图,即6.5寸和5.5寸。如果还要支持iPad版本,则还需上传12.9英寸的iPad截图。在没有设计师提供稿件的情况下,我建议使用模拟器进行截图(请注意不要包含DEBUG标签)。对于6.5寸屏幕,请使用iPhone 11 Pro Max模拟器;对于5.5寸屏幕,请使用iPhone 8 Plus模拟器。在打开具体页面后,按下Command+S即可将截图保存到桌面上。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第7张图片-谷歌商店上架

    在这里需要注意的是,截图的画面应该避免过于简单,最好能够准确地展示应用程序的具体内容。否则,很容易被拒绝。同时,请提供与所需尺寸相对应的设备型号信息。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第8张图片-谷歌商店上架
    • 3、在版本信息中必须填写技术支持网站的链接,具体可参考:https://guoshuyu.cn/home/index/tech.html。如果此处不符合要求,可能导致审核不通过。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第9张图片-谷歌商店上架
    • 4、此外,如果应用程序需要登录,还需提供用户的测试账号和密码等登录凭证。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第10张图片-谷歌商店上架

    1.2 打包上传

    要打包 Flutter iOS 应用,首先需要运行命令flutter build ios。该命令将生成 release 模式下的framework文件,然后可以继续进行 Xcode 流程。

    请参考下图,首先确保不要选中模拟器位置。然后,在Product > Archive菜单中,即可开始导出打包。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第11张图片-谷歌商店上架

    打包成功后,您将看到以下界面。请在其中找到您最新打包的项目,并选择“Distribute App”以进入下一步。此外,已经打包过的项目也可以在Window > Organizer中重新找到。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第12张图片-谷歌商店上架

    接下来,按照以下步骤,选择将应用程序准备好后上传至 App Store Connect。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第13张图片-谷歌商店上架

    如果您选择导出测试的ipa文件,可以在打包配置文件中提前设置好对应机器的UDID等信息,并选择Development模式。

    在完成之后,您可以选择上传或导出。导出意味着将文件保存至本地再进行上传,您可以使用TransPorter工具单独进行上传。而直接上传则是在完成前面的步骤后立即进行。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第14张图片-谷歌商店上架

    下面的页面建议是不要勾选(不要问,问就是百度),然后直接点击“下一步”,选择自动签名,等待签名成功后最后点击上传即可完成。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第15张图片-谷歌商店上架Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第16张图片-谷歌商店上架

    2、审核

    成功上传后,稍等片刻即可在活动TestFlight中查看您提交的构建版本。随后,您可能会收到以下示例邮件:

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第17张图片-谷歌商店上架

    举例来说,ITMS-90683 提到了在 plist 文件中未配置 NSContactsUsageDescription 的键值对,即未向用户解释为何需要获取读取用户联系人权限。

    还有其他类似的情况,如果你在应用内使用了相应的权限,就需要在plist配置文件中添加对应的key-value

    另外,还有一个关于“Push Notification Entitlement”的警告。这个警告意味着你的应用没有配置推送相关的证书和设置。如果你的应用没有使用到推送功能,比如在开发者后台勾选了如下图所示的推送选项,那么你可以忽略这个警告。但是如果勾选了推送选项,就需要在应用内配置相应的推送服务,并且在iOS上还需要设置相应的推送证书。通常情况下,推送证书会分为开发环境和生产环境两种。如果你不使用推送功能,则可以忽略这个警告提示。

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第18张图片-谷歌商店上架

    请确保 App 的启动页和 logo 尺寸完全配备,如果配置不完整,可能会收到相应的警告,并且可能会影响审核。

    在版本信息中选择要提交的构建版本,然后进行审核提交。通常,审核过程会经历等待审核、正在审核和审核结果等阶段,在24或48小时内完成。但是,如果遇到像圣诞节这样的节假日,苹果可能会因为放假而减缓审核速度。此外,如果应用被多次拒绝,也会对审核速度产生影响。

    根据下图所示,最后我想提出一些建议供审核参考,例如:

    • 前面说过的应用截图要尽量体现应用的主要内容;

    • 禁止在应用内滥用应用更新提示,例如禁止应用自行跳转下载更新,只能简单提示后跳转至App Store。如果无法把握尺度,则干脆不在iOS上添加此功能。

    • 请勿在应用中包含fir.im、蒲公英等资源、链接、文本和SDK,否则可能会被扫描并拒绝。

    以下是一些常见的问题,如果您想了解更多,请访问:https://developer.apple.com/cn/app-store/review/guidelines/

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第19张图片-谷歌商店上架

    iOS 还有可以不用上架,只需要用户在手机上信任证书的可以使用 ipa 的开发者账号,但是这类开发者账号现在很难申请得到,并且这类账号的应用需要一年后重新打包一次更新。

    资源推荐

    • Github:点击此处访问我的Github主页:https://github.com/CarGuo

    • 这是一个完整的开源 Flutter 项目,你可以在以下链接找到:[https://github.com/CarGuo/GSYGithubAppFlutter](https://github.com/CarGuo/GSYGithubAppFlutter)

    • 请参考我们的开源 Flutter 多案例学习型项目,链接地址为:https://github.com/CarGuo/GSYFlutterDemo。

    • 这是一个实战电子书项目,名为“开源 Fluttre 实战电子书项目”,你可以在以下链接找到它:https://github.com/CarGuo/GSYFlutterBook

    【-结束-】

    最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

    Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第20张图片-谷歌商店上架

    点击????卡片,关注后回复【面试题】即可获取

    在看点这里Android 和 iOS 应用程序打包和提交审核的详细指南(app安卓和ios)(app安卓和ios)-第21张图片-谷歌商店上架好文分享给更多人↓↓

    标签: 谷歌商店上架 指南 图片

    发表评论 (已有0条评论)

    还木有评论哦,快来抢沙发吧~