uni-app_消息推送_华为厂商_unipush离线消息推送
文章目录
- 一、创建项目
- 二、生成签名证书
- 三、开通 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


相关文章:
uni-app_消息推送_华为厂商_unipush离线消息推送
文章目录 一、创建项目二、生成签名证书三、开通 unipush 推送服务四、客户端集成四、制作自定义调试基座五、开发者中心后台Web页面推送(仅支持在线推送)六、离线消息推送1、创建华为开发者账号2、开通推送服务3、创建项目4、添加应用5、添加SHA256证书…...
单元测试框架-Pytest(简单学习)
单元测试框架-Pytest Pytest是基于Python语言的单元测试框架,也是一个命令行的工具,比 unittest 测试框架更灵活。具有以下特点: 入门简单,易上手,官方文档丰富而且使用广泛,有大量的参数例子。 unittest…...
毛玻璃态卡片悬停效果
效果展示 页面结构组成 页面的组成部分主要是卡片。其中卡片的组成部分主要是包括了图片和详情。 卡片的动效是鼠标悬停在卡片上时,图片会移动到左侧,并且图片是毛玻璃效果。所以我们在布局的时候图片会采用绝对布局。而详情则是基础布局。 CSS3 知识…...
【面试经典150 | 数组】除自身以外数组的乘积
文章目录 写在前面Tag题目来源题目解读解题思路方法一:记录左右乘积空间优化 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到…...
uboot启动流程-涉及s_init汇编函数
一. uboot启动涉及函数 本文简单分析uboot启动流程中,涉及的汇编函数: lowlevel_init函数调用的函数:s_init 函数 save_boot_params_ret函数调用的函数: _main 函数 本文继上一篇文章的学习,地址如下:…...
单例模式详解及5种实现方式 (设计模式 一)
基本概念 在软件开发中,单例模式是一种常见的设计模式,用于确保一个类只有一个实例,并提供全局访问点。单例模式在需要确保只有一个对象实例存在的场景中非常有用,例如数据库连接、线程池、日志记录器等。 单例模式的核心思想是通…...
面试系列 - Java常见算法(一)
目录 一、排序算法 1、冒泡排序(Bubble Sort): 2、快速排序(Quick Sort): 二、查找算法 1、二分查找(Binary Search): 三、 图算法 1、深度优先搜索(De…...
Sentinel学习(1)——CAP理论,微服务中的雪崩问题,和Hystix的解决方案 Sentinel的相关概念 + 下载运行
前言 Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 本篇博客介绍CAP理论,微…...
C#学习 - 表达式、语句
表达式 定义 算法逻辑的最基本单元,表达一定的算法意图是由一个或多个操作数和零个或多个操作符组成的序列表达式功能是求值,得到的结果可能是一个值、对象、方法或名称空间因为操作符有优先级,所以表达式也有优先级 分类 一个值。表达式…...
VirtualBox 进入虚拟机后,鼠标出不来了
VirtualBox 进入虚拟机后,鼠标出不来了。 一般情况下,VirtualBox默认的鼠标切换快捷键是右边的Ctrl键。 如果按住右Ctrl键还是没有用,那应该是没有设置主机键。 设置方法: 打开VirtualBox的全局设定,找到热键ÿ…...
030-从零搭建微服务-消息队列(二)
写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):mingyue: 🎉 基于 Spring Boot、Spring Cloud & Alibaba 的分布式微服务架构基础服务中心 源…...
Docker从认识到实践再到底层原理(九)|Docker Compose 容器编排
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…...
操作EXCEL计算3万条数据的NDVI并填入
Python操作EXCEL,计算3万条数据的NDVI并填入 问题描述 现在是有构建好了的查找表,不过构建了3万条数据,在excel中手动计算每行的NDVI值太麻烦了,也不会操作。 就试试python吧,毕竟python自动处理大型EXCEL数据很方便…...
Linux服务器安装Anaconda 配置远程jupyter lab使用虚拟环境
参考的博客: Linux服务器安装Anaconda 并配置远程jupyter lab anaconda配置远程访问jupyter,并创建虚拟环境 理解和创建:Anaconda、Jupyterlab、虚拟环境、Kernel 下边是正文了。 https://www.anaconda.com/download是官网网址,可…...
R语言实现随机生存森林(3)
常见问题解答 1、计算C指数 1-Error rate,或者 rsf.err <- get.cindex(yvar$Survival_months,yvar$OS,predictedrf.grow$predicted) 2、模型中predicted和predicted.oob区别 predicted和predicted.oob是两个不同的属性,它们分别表示模型的预测结果…...
WebPack-打包工具
从图中我们可以看出,Webpack 可以将多种静态资源 js、css、less 转换成一个静态文件,减少了页面的请求. 下面举个例子 : main.js 我们只命名导出一个变量 export const name"老六"index.js import { name } from "./tset/…...
CISSP学习笔记:PKI和密码学应用
第七章 PKI和密码学应用 7.1 非对称密码学 对称密码系统具有共享的秘钥系统,从而产生了安全秘钥分发的问题非对称密码学使用公钥和私钥对,无需支出复杂密码分发系统 7.1.1 公钥与私钥 7.1.2 RSA(兼具加密和数字签名) RSA算法…...
简述Java21新特性
Java21新特性 你发任你发我用Java8 不管Java更新了多少版本,我还是用Java8,因为在很多框架不知道支持不支持Java21,而且因为很多Jar包的版本冲突问题,所以我还是用Java8,但是对于新技术的了解是非常必要的。 Java 21是新推出的长…...
Composition API(常用部分)
1. Composition API(常用部分) 文档: https://composition-api.vuejs.org/zh/api.html 1) setup 新的option, 所有的组合API函数都在此使用, 只在初始化时执行一次函数如果返回对象, 对象中的属性或方法, 模板中可以直接使用2) ref 作用: 定义一个数据的响应式语法: cons…...
驱动插入中断门示例代码
驱动插入中断描述符示例代码 最近做实验,每次在应用层代码写测试代码的时候都要手动挂一个中断描述符,很不方便所以就想着写个驱动挂一个中断门比较省事 驱动测试效果如下: 下面的代码是个架子,用的时候找个驱动历程传递你要插…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...
