uni-app(神领物流)项目实战 - 第6天
学习目标:
知道如何生成 Android 证书
知道如何配置 App 端地图服务平台
知道如何实现实人认证的功能
知道如何实现一键登录的功能
知道如何实现消息推送的功能
一、自定义调试基座
在使用 HBuilderX 运行到 App 端时,官方提供的 Android 包(标准基座)来对项目进行打包,标准基座提供了日常开发的一系列功能,能够满足大部分日常的业务开发,但是当涉及到一些特殊需求时时就需要自定义调试基座,如消息推送、一键登录、人脸识别等。
生成自定义基座时及正式发布 App 应用时需要使用自有证书,然后再由 HBuilderX 提供的云打包服务生成安卓 APK 安装程序。
1.1 安卓证书
安卓证书是一种数字签名技术,安卓系统要求安装到系统上的 App 必须要使用证书进行签名。签名相当于是 App 的身份证书,该证书能够证明 App 的归属者及合法性。
安卓证书的生成规则是由 Google 公司规定的,由开发者自助生成且免费。
1.1.1 JRE 环境
- 安装 JRE 环境
- 配置环境变量
注:大家在安装 JRE 时默认安装到了 C:\Program Files\Java\jre-1.8\bin
目录当中,因此环境变量添加的路径也是该目录对应的路径。
- 验证 JRE 是否安装成功
1 | # 打开命令行窗口 |
1.1.2 生成证书
HBuilderX 给出了证书生成的步骤说明:
1 | # 打开命令行工具 |
testalias
是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字test.keystore
是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径36500
是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期
回车后会提示:
!!!大家务必记住证书别名和密码!!!
创建完证书后给出了一个警告,复制警告中的代码到命令行中执行
1 | # 自已复制自已提示出来的警告代码 |
此时在执行命令的目录中就生成了一个 xxxxx.keystore
文件,即安卓证书了,同时还有一个 xxxxx.keystore.old
的备份文件,这个文件执行警告代码之前的证书文件,我们将这两个文件放在一起保管就可以了。
1.1.3 云端证书
云端证书是由 DCloud 平台提供的生成证书的服务,登录到 DCloud 开者中心平台
1.2 云打包
生成好的证书即可以用来打正式的 APK 包,也可以用于自定义调试基座。
1.2.1 自定义基座
1.2.2 正式打包
正式包与自定义调试基座的区别在于,自定义调试基座用于开发环境,正式包用于上线到安卓应用商店,如360、小米、华为应用商店等。
注意:正式包与自定义调试基座的包名要一致!
1.3 地图服务
在 uni-app 中使用地图服务时,需要注意兼容性:
地图服务商 | App | H5 | 小程序 |
---|---|---|---|
高德 | √ | √ | |
仅nvue页面 | √ | ||
腾讯 | √ | √ |
H5 和小程序平台咱们选择的是腾讯地图服务平台,App 咱们选择高德地图服务平台,自行注册高德地图开发者账号并创建应用。
1.3.1 创建应用Key
PackageName
是在自定义调试基座和正式包时定义的包名SHA1
值的获取方式如下所示
1 | # 找到你保管证书的目录中,打开命令行工具 |
1.3.2 配置神领物流
把在高德地图创建的 Key 填写到图示位置,IOS 的 key 可以省略也可以随便填写一个,然后重新打包自定义基座,打包后运行 App 项目,验证上报异常位置时是否可以打开地图。
注意:没有配置 key 的情况下打包自定义基座运行,打开地图时会报如下错误:
二、uniCloud 开发
uniCloud 是 DCloud 联合阿里云、腾讯云,为开发者提供的基于 serverless 模式和 js 编程的云开发平台。提供了许多高效实用的业务解决方案,如消息推送、一键登录、实人认证等。
注:在下列的功能开发过程中所应用到的证书即可以是 DCloud 平台的云端证书,也可以是本地自定义生成的证书,无论选择哪一种切忌不要混用!作为新手建议大家就使用 DCloud 平台的云端证书。
2.1 消息推送
消息推送是服务端管理后台主动向安装了 App 的用户发送消息功能,分为离线推送和在线推送两种。
2.1.1 应用信息
完善平台信息,填写 MD5、SHA1、SHA256 信息。
IOS 平台信息也需要完善,只需要填写一个包名就行
然后找到 uniPush 选择 2.0(支持全端推送)
2.1.2 离线推送
离线推送即厂商推送设置,这种方式不需要在 App 中添加代码(不引入 SDK)即可实现消息推送的功能。这种方式的弊端是要为不同品品牌的手机分别设置参数。
以华为手机为例,首先注册成为华为开发者账号,需要完成身份认证,华为手机用户可以使用自身的华为账号登录。
个推服务平台文档说明
2.1.3 配置神领物流
配置完成后重新打包。
2.1.4 发送消息
没有安卓机的同学可以使用 WeTest 平台提供的云手机进行测试,注意选择华为品牌的手机。