Uniapp的消息推送Unipush(在线、离线、服务端)

879 阅读2分钟

基本配置

Hbuild下打开PUSH,Unipush功能,并详细阅读"使用指南”。

1.打包配置安卓包名,例如pts.sh
2.打包选择自有证书
自有证书生成:D:\Java\jdk-15\bin>keytool -genkey -alias ptskey -keyalg RSA -keysize 2048 -validity 36500 -keystore pts.keystore
3.查看证书信息:keytool -list -v -keystore pts.keystore
4.选择云打包,app名例如为pts1。
5在dev.dcloud.net.cn的应用信息,填写应用名称、Andriod签名和证书的SHA1(通过查看证书信息得到)

重新云打包。
手机安装app并获取cid,并用dcloud平台下的Unipush的通知消息功能测试。

手机运行app,可收到发送的测试消息。

离线厂商配置(华为)

1.在开发者中心里developer.huawei.com,新建项目,新建应用,填写app的应用名称、Andriod签名、并配置SHA256证书指纹(通过查看以上证书信息得到),并打开PUSH服务

2.配置应用后,将得到的.json文件、APP ID和Client Secret复制并填写到dcloud厂商配置的华为标签下。

3.保存dcloud配置,重新云打包,并手机安装。
4.在华为开发平台下测试厂商离线发送。手机停止运行app也能收到该推送。

如需获取Token:手机运行app后,在dcloud里测试输入cid来获取Device Token。

5.在dcloud下测试离线消息发送。注意透传内容格式{"title": "xxx","content": "xxx","payload": "xxx"}和intent:intent:#Intent;launchFlags=0x04000000;action=android.intent.action.oppopush;component=pts.sh/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=xxx;S.content=xxx;S.payload=xxx;end
需替换成自己Android包名的intent。在app离线状态下根据cid发送。

服务端代码(java)

1.下载个推下的getui-pushapi-java-client-v2-main的demo代码。
2.配置app参数。从dcloud下获取。

3.测试pushToSingleByCid()。在手机在线和离线状态下都能收到推送消息。