uniPush消息推送(离线)

本文详细介绍华为和小米推送服务的接入流程,包括账号注册、项目创建、证书生成、应用信息配置及unipush服务的集成步骤。

一、注册手机厂商账号(我只测试了华为和小米这里就说这两种)

华为开发者平台账号注册:(建议直接使用华为账号,否则可能无法使用推送);

1.直接到https://developer.huawei.com/华为开发者联盟去注册账号,跟着提示一步步走即可

2.账号注册完后到管理中心----》我的应用 ----》新建    去新建项目。

3.新建完成后,点击开发进入如下页面

     4.填写包名,这个包名很重要,需要和unipush的包名保持一致。

5.项目创建完成后需要生成指纹证书文件

              (0)如果配置了java环境变量就可以直接往下走,如果没有就需要执行cd命令进入keytool.exe所在的目录(java安装目录的bin下)。

            (1)在命令行输入命令      keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore  文件位置

例如:         keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore E:\test\android.keystore            然后跟据命令行提示操作生成keystore文件  

                     testalias是证书别名  ,还有证书文件密码和位置都需要记住打包的时候必须要。

             (2)查看keystore文件

           输入命令:     keytool -list -v -keystore E:\test\android.keystore

注意:    jks文件和keystore文件都是指纹证书文件只是生成方式不同,jks文件时android stadio生成的,kestore文件是直接在命令行窗口生成,这里就不说android如何生成了。上面重要的是证书指纹部分。

6.将生成的SHA256填入如图标记部分。

自此华为所需信息都已经获取完成。

7.项目信息完成后,开通推送服务

点击“立即开通”

web推送代理打开 

小米开发者账号申请:

1.到小米开发这平台注册账号:需要小米账号,非小米账号就会没有权限

2.账号注册完成,就可去到推送运营平台。点击创建应用,创建自己的推送项目,注意报名要与unipush保持一致。

3.点击应用信息就可以拿到,推送需要的应用信息

二、unipush接入厂商:

1.在https://dev.dcloud.net.cn/app/index?type=0网址申请DCloud开发者账号

2.去开发者中心创建应用

3.应用创建完成,去到unipush页面,编辑应用信息,如果想单独打包android可以不选中ios,然后点击开通推送服务就开启了。

注意:这里的android包名要与后面的厂商应用保持一致,应用签名要与华为平台上的签名文件使用同一个(这个坑我爬了好几天)

4.配置厂商通道:点击厂商推送设置将各个厂商的应用信息填入对应项中,保存。

5.应用打包:

   (1)在hbuilderx上登陆DCloud账号,创建h5或者是uniapp项目

   (2)项目创建完成后,配置manifest.json文件添加推送服务,先配置基础服务,应用名称和Dcloud开发者平台上创建的名称一致,然后获取appid(如果没有appid,点击重新获取)

点击SDK配置开启推送服务

在模块权限配置中开启推送服务

3.选中该项目,点击发行,选择第一个  “原生App-云打包”

4.选择打包apk包,使用自有证书(这个证书的生成在上面华为账号申请时介绍过)填入证书别名,填入证书密码,填入证书路径,选择打正式包,然后点击打包,等待链接生成手机下载apk安装就完成了。

这里如果要多次调试可选择自定义基座打包,如何基座打包,之后的文章在进行介绍。

<think>嗯,用户想了解如何用UniPush 2.0实现离线消息推送。首先,我需要回忆一下相关的文档内容。记得用户提供的引用链接里提到了uni-app的官方文档和个推的配置指南。我得先确认UniPush 2.0的基本流程,比如开通服务、配置厂商通道、客户端集成、服务端调用接口这些步骤。 然后,离线推送的关键在于厂商通道的配置。每个安卓手机厂商都有自己的推送服务,比如华为、小米、OPPO、vivo等。用户需要分别到这些厂商的平台注册应用,获取对应的AppID和AppKey,然后在UniPush的后台填写这些信息。这一步可能容易出错,特别是包名和签名是否一致的问题,需要提醒用户注意。 接下来是客户端的集成部分。UniPush的SDK需要正确集成到uni-app项目中,可能涉及到manifest.json的配置,还有权限的添加。比如,华为需要增加了HMS Core的依赖,小米可能需要添加特定的权限。这些步骤需要详细说明,避免用户遗漏。 服务端调用推送接口时,用户需要生成合适的透传模板或通知栏消息,并且处理不同厂商的兼容性。透传消息可能需要在客户端处理,而通知栏消息则直接显示。同时,离线推送的状态回调也很重要,用户需要配置服务器地址来接收推送结果,这对于调试和监控推送效果有帮助。 用户可能遇到的问题包括推送证书配置错误、厂商参数填写不正确、客户端监听事件未生效等。需要整理常见问题,比如检查包名、签名、网络权限,以及测试方法,比如使用真机调试。此外,荣耀手机的离线推送有单独的配置步骤,可能需要特别强调,引用提供的文档链接。 最后,生成相关问题时要覆盖配置流程、厂商通道、客户端实现、服务端调用、常见错误和荣耀手机的注意事项,这样用户能全面了解各个方面。确保所有步骤都参考了官方文档,避免给出错误信息,同时保持回答结构清晰,分步骤说明,方便用户跟随操作。</think>### UniPush 2.0 离线消息推送实现步骤 #### 一、基础配置流程 1. **开通UniPush服务** - 在uni-app开发者中心开通UniPush 2.0服务,需完成企业实名认证 - 在应用管理后台启用`uni-push2.0`模块[^1] 2. **配置厂商通道** - 登录各手机厂商开发者平台(华为、小米、OPPO、vivo等) - 创建对应应用并获取`AppID`/`AppKey` - 在UniPush后台填写厂商参数(包名需与uni-app项目一致) $$厂商通道配置公式:\text{有效推送} = \text{正确包名} + \text{匹配签名} + \text{厂商证书}$$ #### 二、客户端集成 ```javascript // manifest.json 配置示例 "push": { "unipush": { "enable": true, "vendor": { "huawei": {"appid": "xxxx"}, "xiaomi": {"appid": "xxxx"} } } } ``` - 添加原生插件:`push`模块需勾选`Google Play`和`各厂商推送SDK` - 监听推送事件: ```javascript uni.onPushMessage(function(res) { console.log("收到推送:", res); }); ``` #### 三、服务端调用 1. **使用REST API发送推送** - 接口地址:`https://restapi.getui.com/v2/{appId}/push/single` - 需构造JSON参数包含: ```json { "audience": {"cid": ["target_client_id"]}, "settings": {"ttl": 3600}, "push_message": { "notification": { "title": "离线通知", "body": "您有新消息" } } } ``` #### 四、荣耀设备特别配置[^2] 1. 在荣耀开发者平台创建应用 2. 配置`packageName`与uni-app项目一致 3. 获取`client_id`和`client_secret` 4. 上传荣耀推送证书到UniPush后台 #### 五、调试与验证 1. 使用`adb logcat | grep 'PushLog'`查看推送日志 2. 测试离线场景:关闭APP后发送推送 3. 通过`uni.getPushClientId()`获取设备CID
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值