文章目录
- 一、创建项目
- 二、生成签名证书
- 三、开通 unipush 推送服务
- 四、客户端集成
- 四、制作自定义调试基座
- 五、开发者中心后台Web页面推送(仅支持在线推送)
- 六、离线消息推送
- 1、创建华为开发者账号
- 2、开通推送服务
- 3、创建项目
- 4、添加应用
- 5、添加SHA256证书指纹
- 6、开通推送服务
- 7、Dcloud 平台厂商推送配置
- 8、安装 app 到真机
- 9、华为离线消息测试
- 10、获取 Device Token 发送消息
一、创建项目
- 打开 Hbuilder 创建一个新项目
- 登录 DCloud 开发者中心,新建一个应用(注意: 上面第一步在 Hbuilder 创建新项目时,如果已经登录了 HBuilder 账号,那么下面这一步可以省略,HBuilder 会自动帮你创建好这个应用)
- 创建好应用应该之后,复制 Appid,打开 manifest.json,将 uni-app 应用标识(Appid) 替换成我们新创建应用的 Appid
二、生成签名证书
uni-app 安卓证书生成有两种方式,一种是去 DCloud 开发者中心生成证书(下面我们就采用这种方式),另一种是安装 jre 环境,生成证书(参考链接 : https://ask.dcloud.net.cn/article/35777)
- 点击应用名称,
- 切换至【Android云端证书】,创建证书(生成证书一般需要 1-5 分钟时间)
- 证书生成之后,点击证书详情,复制 MD5、SHA1、SHA256 备用
- 切换至【各平台信息】,点击新增
- 将之前复制 MD5、SHA1、SHA256 填写进去,包名可以自己定义(eg: com.app.uniPush)
三、开通 unipush 推送服务
- 在【unipush】-【1.0(老版本)】-【应用信息】,选中我们上面创建的应用,我们这里只测试 Android 平台,所以勾选去掉 IOS,最后点击开通应用;
四、客户端集成
- 打开项目, 点击 manifest.json,选择【App模块配置】,否选【Push(消息推送)】,uniPush 消息推送图标,大家可自行配置;
-
获取 cid(ClientId:个推业务层中的对外用户标识,用于标识客户端身份,由第三方客户端获取并保存到第三方服务端,是个推 SDK 的唯一识别号,简称 CID)
-
在应用安装后第一次运行时应该调用 5+ API 的 plus.push.getClientInfoAsync 方法获取客户端标识。
-
如果获取的 cid 为空,说明客户端向推送服务器注册还未完成,可以使用 setTimeout 延时重试
plus.push.getClientInfoAsync((info) => {
let cid = info["clientid"];
});
四、制作自定义调试基座
- 打开项目, 点击 manifest.json,选择【App模块配置】,否选【Push(消息推送)】,uniPush 消息推送图标,大家可自行配置;
- 【运行】-【运行到手机或模拟器】-【制作自定义调试基座】
- 打包需要的信息,都可通过 Dcloud 获取,可参考下的图
- 【运行】-【运行到手机或模拟器】-【运行到Android App 基座】
五、开发者中心后台Web页面推送(仅支持在线推送)
- 登录 DCloud 开发者中心,左侧选择【Uni Push】,打开消息推送页面,这里我们直接用 cid 向设备发送消息
- 需要打开真机,获取到真机上面的 cid(clientid)
- 当前消息推送仅支持在线推送,当 CID 在线(即 app 在前台打开运行)
- 点击预览,输入cid,点击测试即可
- 注意:如果提示 cid 不存在或应用错误,CID不存在或不属于此应用,请仔细检查一下 Appid 是否正确,是否有自定义基座,如果之前有安装过相同的应用可以先卸载之前的,重新安装;
六、离线消息推送
- 若需要支持主流 android 厂商客户端接收离线推送,需要完成 :android 多厂商配置,下面以华为应用为例
- 配置好厂商参数后请一定要提交云打包,并且使用“自有证书”打签名包;将云打包后的安装包安装到手机上,再获取cid 进行离线厂商推送测试,不可使用基座方式获取的 cid 进行离线厂商推送测试
1、创建华为开发者账号
- 打开 开发华为开发者联盟,注册华为开发者帐号,帐号注册完后,需要完成实名认证才能享受华为开放的各类能力和服务
2、开通推送服务
- 确认开通后,还需要在【配置】开通精准推送服务
3、创建项目
- 是否开开通分享服务,可根据需求自行选择
4、添加应用
- 在左侧导航栏选择【项目设置】,点击添加应用,将应用添加到我们新创建的项目中
5、添加SHA256证书指纹
- 打开 Dcloud,点击证书详情,从里面找到 SHA256 复制粘贴到下图处即可
6、开通推送服务
- 切换到【API管理】,开通推送服务
7、Dcloud 平台厂商推送配置
- 下载 agconnect-services.json 文件,将该文件中 json 数据粘贴到 Dcloud 厂商配置中,见下图。
8、安装 app 到真机
- 【发行】-【原生App-云打包】详细流程参请考上面的【制作自定义调试基座】
9、华为离线消息测试
-【 Android 配置】 - 【通知类型】 - initende 内容
intent:#Intent;action=android.intent.action.oppopush;launchFlags=0x14000000;component=安卓包名/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=测试标题;S.content=测试内容;S.payload=test;end
- 华为离线时,收不到消息推送,若厂商信息确认配置无误,那么注意以下两个地方
-
核对 Android 应用签名SHA256 是否填写正确
-
华为推送信息乱写的时候,是可能不被推送的,可以按照以下格式发送排查下:
title:订单提醒
body:您的外卖订单已接单,请耐心等候
10、获取 Device Token 发送消息
- 华为端发送消息都是通过 token 进行推送,获取接收离线消息的设备 token
- 打开 Dcloud,【unipush】-【消息推送】-【配置管理】-【故障排查】- 【状态查询】- 输入设备的 cid 即可查询到对应的 Device Token