uni-app如何配置App离线推送通道(华为/小米/OPPO)

秋萱君_3542

秋萱君_3542

2026-08-21

1090人浏览

原创

离线推送收不到主因是厂商通道未通:华为需SHA256指纹与云打包证书一致、回执地址开启并填写正确;小米要求透传intent中component路径精确、Channel ID从新版控制台复制;OPPO须集成SDK、声明权限且应用状态为已上架;冷启动跳转需原生传参至plus.runtime.arguments,JS在onLaunch中解析。

uni-app如何配置app离线推送通道(华为/小米/oppo)

离线推送收不到,90%不是代码写错了,而是厂商通道根本没通——配置错一个参数,消息就静默丢弃。

华为通道:SHA256指纹和回执地址是两个致命点

华为后台校验不通过,根本不会报错,只会丢消息。关键不是App ID或Client Secret填错,而是:

  • SHA256证书指纹必须和你最终云打包用的签名证书完全一致——本地调试用debug.keystore,但DCloud云端打包用的是它生成的release证书,两者指纹不同,华为直接拒收
  • 在AppGallery Connect开通Push Kit后,必须手动进入「应用回执状态」开关,并填写回调地址:https://thirdrcp-hz.getui.com/hw,缺这一步,华为认为你无法确认送达,后续所有离线消息都不下发
  • 包名必须全小写、严格匹配manifest.json里的"name"字段,大小写不一致也会注册失败

小米通道:透传intent格式和component路径必须精确

小米只认透传消息(不是通知栏消息),且拉起App依赖intent字符串里的component字段。常见失效原因:

  • component格式必须为:你的包名/io.dcloud.PandoraEntry,少一个.、多一个空格、大小写错误(比如Pandoraentry)都会导致系统无法拉起App
  • 小米Channel ID必须从「开放平台 → 应用服务 → 推送服务 → 应用配置」里复制,不能从旧版控制台或文档截图里抄
  • 上传APK验证时,必须用和最终上线版本**完全一致的签名和包名**,否则通道认证通过但实际推送失败

OPPO通道:别漏掉OPPO Push SDK和权限声明

OPPO要求客户端显式集成SDK,且AndroidManifest.xml里必须声明特定权限,否则即使后台配对成功,设备也收不到离线消息:

Opposing Counsel
Opposing Counsel

像对方律师那样审阅合同——寻找可施加影响的条款,而非追求公平性。当有人对你说“请以对方律师的角度来审阅这份文件”或“这份合同在谈判中会……”时使用。

下载
  • 在manifest.json的"distribute" → "android" → "permissions"中,必须添加:""
  • OPPO Push SDK需通过HBuilderX插件市场安装uni-push-oppo,不能只靠UniPush 2.0自动注入
  • OPPO开发者平台中,应用状态必须是「已上架」或「已审核通过」,草稿状态不支持离线推送

离线点击跳转:JS监听器不生效,得靠原生参数传递

App被杀后,plus.push.addEventListener("click", ...)根本不会执行——因为JS环境还没启动。跳转逻辑必须由原生层完成:

  • 厂商通道下发时,必须把目标页面路径(如/pages/msg/detail)作为自定义参数(payload或ext字段)传入
  • App冷启动时,DCloud底层会把该参数塞进plus.runtime.arguments,JS侧需在onLaunch里读取并uni.navigateTo
  • 示例:
    export default {
      onLaunch() {
        const args = plus.runtime.arguments;
        if (args && args.indexOf('page=') > -1) {
          const page = args.split('page=')[1].split('&')[0];
          uni.navigateTo({ url: page });
        }
      }
    }

最常被忽略的其实是签名一致性——华为/小米/OPPO三端用的必须是同一套签名证书,否则设备识别为不同应用,厂商通道各自独立注册,离线消息就断在第一步。

相关文章

数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2843

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

6163

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

7090

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

6898

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

983

5

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

2026.11.03

0

18

Docker Desktop镜像构建教程
Docker Desktop镜像构建教程

想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。

2026.11.03

0

11

Docker Desktop容器创建指南
Docker Desktop容器创建指南

本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。

2026.11.03

0

11

Tailwind CSS 如何制作导航栏和卡片
Tailwind CSS 如何制作导航栏和卡片

用 Tailwind CSS 制作导航栏和卡片,可先搭建语义化结构,再组合 Flex、Grid、间距、圆角与阴影类。这里整理横向导航、移动端菜单、卡片网格及悬停效果的相关文章,帮助你把常见页面组件做得清晰且适配不同屏幕。

2026.11.03

0

17

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
uni-app从入门到实战教程
uni-app从入门到实战教程

共0课时 | 0人学习

uni-app x harmony开发指南
uni-app x harmony开发指南

共0课时 | 0人学习

uni-app鸿蒙运行和发行
uni-app鸿蒙运行和发行

共0课时 | 0人学习