第16集:uni-app 应用发布

章节概述

应用发布是应用开发过程中的最后一个环节,也是非常重要的一个环节。uni-app 作为跨平台框架,需要在多个平台上进行发布,每个平台都有其独特的发布流程和要求。本章节将详细介绍 uni-app 中的应用发布流程,包括各平台发布流程、应用审核注意事项、版本管理等核心知识点,并通过实用案例帮助开发者掌握应用发布到各个平台的方法。

核心知识点

1. 各平台发布流程

uni-app 支持发布到多个平台,主要包括:

  • App 端发布:发布到 iOS App Store 和 Android 应用商店
  • 微信小程序发布:发布到微信小程序平台
  • 支付宝小程序发布:发布到支付宝小程序平台
  • 百度小程序发布:发布到百度小程序平台
  • 抖音小程序发布:发布到抖音小程序平台
  • Web 端发布:发布到 Web 服务器
  • H5 端发布:发布到 H5 服务器

各平台发布的基本流程:

  1. 应用配置:配置应用信息,如应用名称、图标、版本号等
  2. 应用打包:生成各平台的应用包
  3. 应用上传:上传应用包到各平台
  4. 应用审核:等待平台审核应用
  5. 应用发布:审核通过后,发布应用

2. 应用审核注意事项

各平台对应用都有审核要求,开发者需要注意以下事项:

  • 内容审核:确保应用内容符合平台规定,不包含违法、违规内容
  • 功能审核:确保应用功能正常,不包含恶意功能
  • 权限审核:确保应用权限使用合理,不滥用权限
  • 界面审核:确保应用界面美观,用户体验良好
  • 性能审核:确保应用性能良好,不卡顿、崩溃

常见的审核被拒原因:

  1. 内容违规:应用包含违法、违规内容
  2. 功能异常:应用功能不正常,存在 bug
  3. 权限滥用:应用滥用权限,如获取不必要的用户信息
  4. 界面抄袭:应用界面抄袭其他应用
  5. 性能问题:应用性能差,卡顿、崩溃

3. 版本管理

版本管理是应用发布过程中的重要环节,主要包括:

  • 版本号管理:管理应用的版本号,如主版本号、次版本号、修订号
  • 版本迭代:规划应用的版本迭代,如功能迭代、bug 修复
  • 版本回滚:当新版本出现问题时,回滚到旧版本
  • 灰度发布:逐步发布新版本,控制发布范围

版本管理的最佳实践:

  1. 语义化版本:使用语义化版本号,如 1.0.0
  2. 版本规划:提前规划版本迭代,明确每个版本的功能
  3. 版本测试:在发布前,进行充分的版本测试
  4. 版本记录:记录每个版本的变更内容,如功能新增、bug 修复

4. 发布前准备

在发布应用前,开发者需要进行以下准备:

  • 应用测试:进行充分的应用测试,确保应用功能正常
  • 应用优化:优化应用性能,提高用户体验
  • 应用配置:配置应用信息,如应用名称、图标、版本号等
  • 应用证书:准备应用发布所需的证书,如 iOS 证书、Android 签名
  • 应用素材:准备应用发布所需的素材,如应用图标、截图、描述等

发布前的检查清单:

  1. 功能检查:检查应用功能是否正常
  2. 性能检查:检查应用性能是否良好
  3. 兼容性检查:检查应用在不同设备上的兼容性
  4. 安全检查:检查应用是否存在安全问题
  5. 合规检查:检查应用是否符合各平台的规定

实用案例

发布应用到多个平台

案例描述

开发一个电商应用,发布到多个平台,实现以下功能:

  1. 发布到 App 端(iOS 和 Android)
  2. 发布到微信小程序
  3. 发布到支付宝小程序
  4. 发布到 Web 端

代码示例

  1. 发布到 App 端
  • 配置应用信息

manifest.json 中配置应用信息:

{
  "name": "uni-app-ecommerce",
  "appid": "__UNI__XXXXXX",
  "description": "uni-app 电商应用",
  "versionName": "1.0.0",
  "versionCode": "100",
  "transformPx": true,
  "app-plus": {
    "distribute": {
      "android": {
        "package": "com.example.ecommerce",
        "keystore": "",
        "alias": "",
        "password": "",
        "certificatePassword": "",
        "minSdkVersion": 21,
        "targetSdkVersion": 30,
        "compilesdkVersion": 30,
        "abiFilters": ["armeabi-v7a", "arm64-v8a"]
      },
      "ios": {
        "bundleId": "com.example.ecommerce",
        "teamId": "",
        "certificate": "",
        "description": "uni-app 电商应用",
        "devices": "universal"
      },
      "splashscreen": {
        "ios": "",
        "android": ""
      },
      "icons": {
        "ios": {
          "prerendered": false,
          "autoResize": true,
          "backgroundColor": "#FFFFFF",
          "list": [
            {
              "size": "20x20",
              "file": "",
              "idiom": "iphone",
              "subtype": "2x"
            },
            {
              "size": "29x29",
              "file": "",
              "idiom": "iphone",
              "subtype": "2x"
            }
          ]
        },
        "android": {
          "hdpi": "",
          "xhdpi": "",
          "xxhdpi": "",
          "xxxhdpi": ""
        }
      }
    }
  }
}
  • 打包应用

步骤:

  1. 在 HBuilderX 中,选择 "发行" -> "原生 App-云打包"
  2. 选择打包平台(iOS 和 Android)
  3. 配置打包参数,如证书、包名等
  4. 点击 "打包" 按钮,等待打包完成
  5. 下载打包生成的应用包
  • 发布到应用商店

iOS App Store 发布步骤

  1. 在 Apple Developer Center 中创建应用
  2. 在 iTunes Connect 中填写应用信息,如应用名称、描述、截图等
  3. 上传应用包(.ipa 文件)
  4. 等待 Apple 审核
  5. 审核通过后,发布应用

Android 应用商店发布步骤

  1. 在各 Android 应用商店(如华为、小米、OPPO、vivo、应用宝等)注册开发者账号

  2. 填写应用信息,如应用名称、描述、截图等

  3. 上传应用包(.apk 文件)

  4. 等待应用商店审核

  5. 审核通过后,发布应用

  6. 发布到微信小程序

  • 配置应用信息

manifest.json 中配置微信小程序信息:

{
  "mp-weixin": {
    "appid": "your_wechat_appid",
    "setting": {
      "urlCheck": false
    },
    "usingComponents": true,
    "permission": {
      "scope.userLocation": {
        "desc": "需要获取您的位置信息"
      }
    }
  }
}
  • 打包应用

步骤:

  1. 在 HBuilderX 中,选择 "发行" -> "小程序-微信"
  2. 配置打包参数,如 AppID、版本号等
  3. 点击 "发行" 按钮,等待打包完成
  4. 生成微信小程序代码包
  • 发布到微信小程序平台

步骤:

  1. 打开微信开发者工具,导入生成的微信小程序代码包

  2. 在微信开发者工具中,点击 "上传" 按钮

  3. 填写版本号和更新描述

  4. 登录微信公众平台,在 "开发管理" -> "版本管理" 中找到上传的版本

  5. 提交审核

  6. 审核通过后,发布应用

  7. 发布到支付宝小程序

  • 配置应用信息

manifest.json 中配置支付宝小程序信息:

{
  "mp-alipay": {
    "appid": "your_alipay_appid",
    "usingComponents": true,
    "permission": {
      "scope.userLocation": {
        "desc": "需要获取您的位置信息"
      }
    }
  }
}
  • 打包应用

步骤:

  1. 在 HBuilderX 中,选择 "发行" -> "小程序-支付宝"
  2. 配置打包参数,如 AppID、版本号等
  3. 点击 "发行" 按钮,等待打包完成
  4. 生成支付宝小程序代码包
  • 发布到支付宝小程序平台

步骤:

  1. 打开支付宝开发者工具,导入生成的支付宝小程序代码包

  2. 在支付宝开发者工具中,点击 "上传" 按钮

  3. 填写版本号和更新描述

  4. 登录支付宝开放平台,在 "小程序管理" -> "版本管理" 中找到上传的版本

  5. 提交审核

  6. 审核通过后,发布应用

  7. 发布到 Web 端

  • 配置应用信息

manifest.json 中配置 Web 端信息:

{
  "h5": {
    "router": {
      "mode": "history"
    },
    "domain": "https://example.com",
    "title": "uni-app 电商应用"
  }
}
  • 打包应用

步骤:

  1. 在 HBuilderX 中,选择 "发行" -> "网站-PC Web 或手机 H5"
  2. 配置打包参数,如网站标题、域名等
  3. 点击 "发行" 按钮,等待打包完成
  4. 生成 Web 端代码包
  • 发布到 Web 服务器

步骤:

  1. 将生成的 Web 端代码包上传到 Web 服务器
  2. 配置 Web 服务器,如 Nginx、Apache
  3. 配置域名和 SSL 证书
  4. 测试 Web 应用是否正常访问
  5. 发布 Web 应用

常见问题与解决方案

1. 应用审核被拒

问题:应用审核被拒,无法发布。

解决方案

  • 仔细查看审核被拒原因,针对性地修改应用
  • 确保应用内容符合平台规定,不包含违法、违规内容
  • 确保应用功能正常,不包含 bug
  • 确保应用权限使用合理,不滥用权限
  • 确保应用界面美观,用户体验良好
  • 确保应用性能良好,不卡顿、崩溃

2. 应用打包失败

问题:应用打包失败,无法生成应用包。

解决方案

  • 检查应用配置是否正确,如应用名称、图标、版本号等
  • 检查应用代码是否存在错误,如语法错误、逻辑错误
  • 检查应用依赖是否正确,如第三方库版本是否兼容
  • 检查应用证书是否正确,如 iOS 证书、Android 签名
  • 检查网络连接是否正常,确保可以访问打包服务器

3. 版本管理混乱

问题:版本管理混乱,无法追踪版本变更。

解决方案

  • 使用语义化版本号,如 1.0.0
  • 使用版本控制系统,如 Git,管理代码版本
  • 建立版本发布流程,规范版本发布
  • 记录每个版本的变更内容,如功能新增、bug 修复
  • 制定版本回滚策略,当新版本出现问题时,及时回滚到旧版本

4. 多端发布不同步

问题:多端发布不同步,导致各平台版本不一致。

解决方案

  • 建立统一的发布计划,协调各平台发布时间
  • 使用自动化构建工具,统一构建各平台应用
  • 建立统一的版本管理机制,确保各平台版本号一致
  • 建立统一的测试流程,确保各平台测试标准一致
  • 建立统一的发布流程,规范各平台发布操作

学习总结

本章节详细介绍了 uni-app 中的应用发布流程,包括各平台发布流程、应用审核注意事项、版本管理等核心知识点,并通过实用案例帮助开发者掌握应用发布到各个平台的方法。通过本章节的学习,开发者应该能够:

  1. 了解 uni-app 应用发布的基本概念和原理
  2. 掌握各平台发布流程,能够将应用发布到多个平台
  3. 学会应对应用审核,提高应用审核通过率
  4. 掌握版本管理方法,规范应用版本迭代
  5. 了解发布前的准备工作,确保应用发布顺利

应用发布是应用开发过程中的最后一个环节,也是非常重要的一个环节。开发者应该在发布前进行充分的准备,确保应用质量,提高应用审核通过率。同时,开发者还应该建立规范的版本管理机制,确保应用版本迭代有序进行。

练习与思考

  1. 实现一个应用的发布流程,包括应用配置、打包、上传、审核、发布等环节。
  2. 分析一个应用审核被拒的案例,提出解决方案。
  3. 设计一个应用的版本管理方案,包括版本号管理、版本迭代、版本回滚等。
  4. 制定一个多端发布计划,确保各平台发布同步。
  5. 思考如何提高应用审核通过率,避免常见的审核被拒原因。
« 上一篇 uni-app 调试与测试 下一篇 » uni-app 插件开发