华为推送服务(Push)华为自带手机管家「华为推送服务(Push)」

   日期:2025-02-13    作者:46j0l 移动:http://alvinling88.article.eyameya.com/mobile/quote/1617.html

(华为推送服务)是华为为开发者提供的

是什么华为推送服务

到的消息推送通道。PUSH通道拥有高到达率,推送速度,消息量,并且支持(实时反馈收发状态)。


华为推送功能

终端设备收到消息的形式有

Huawei PUSH可发送的消息给终端:消息和消息

PUSH主要功能

  • 支持、机制,可以一次给一个或者多个用户发送PUSH消息
  • 当终端用户不在线时,支持消息能力(消息缓存是指设备不在线华为PUSH平台会将消息缓存起来,等到设备上线后再次推送给用户。如果用户很长时间不在线,这些缓存的消息,最大保存,超期的消息会被PUSH平台丢弃)
  • 支持实时
  • 支持消息和消息两种方式。华为推荐用户尽量使用消息

通知栏或透传消息区别

  • 终端用户点击对应的通知栏消息触发相应的动作,如打开应用、打开一个网页、打开应用内某界面
  • 透传消息由开发者的APP自定义内容,并触发相关动作,华为PUSH。利用此功能开发者可以实现好友邀请、IP呼叫等功能

华为推荐用户尽量使用通知栏消息的原因

通知栏消息的优势如下


  • 传统的Push功能都需要应用的进程存在时才能显示通知栏消息,但是应用进程很难常驻在系统,一般系统出于功耗的考虑会停止后台长时间没有活动的进程,这种情况下当收到通知栏消息需要展示时就需要拉起应用进程,频繁的操作会增加耗电影响手机续航能力
  • (不受低功耗方案对广播拉起应用的限制

消息送达率如何

影响PUSH消息送达率的因素有

不同终端平台对PUSH消息的限制?

原则上安装了HMS APK(华为移动服务)的Android终端设备即可支持华为PUSH业务

  • 华为Android终端设备(设备出厂自带HMS APK
    :华为手机管家可以拦截Android广播消息,Push消息因此也会被拦截

  • 非华为Android手机(小米、VIVO、OPPO、三星、酷派、中兴等
    :需要终端设备先安装HMS APK。 某些厂商手机可能会删除华为进程,导致消息不可达

PUSH消息大小限制

PUSH消息支持的Android APP包名称最大为字节,消息内容最大限制为

PUSH消息流控限制

目前华为PUSH服务会对如下两个场景进行流控

  • 服务端申请Access Token
    开发者应用服务器短时间内频繁申请Access Token会被网关流控,返回错误码

  • 服务端发送PUSH消息api.push.hicloud.com
    开发者应用服务器短时间内发送大量的推送消息会被流控,返回HTTP 状态码

华为PUSH开放API认证方式

目前华为PUSH的开放API存在两种鉴权模式

  • 用户级鉴权模式
    开发者使用开发者帐号登录华为开发者联盟后,使用PUSH控制台进行通知消息发送时采用用户级鉴权模式
    :PUSH控制台是华为为开发者提供的PUSH消息发送测试平台,可以在线编辑并发送PUSH消息用于测试应用是否正确集成Push服务

  • 应用级鉴权模式
    开发者在应用服务器调用开放API发送的通知消息采用的是基于应用的鉴权模式,在使用前必须获取对应级别的才能进行正常的消息下发

自定义通知渠道

通知渠道(channel)是Android O版本引入的新功能,意在解决如下问题

  • 应用的通知越来越多,给用户造成明显打扰。
  • 华为手机系统EMUI 10.0之前仅有一个“默认通知”渠道,无法做通知消息呈现方式的定制。

华为手机系统从EMUI 10.0开始新增了三个通知渠道(服务提醒,普通通知与营销通知)来实现不同级别(重要与一般)的通知消息展示。


华为Push集成
  1. 注册认证成为开发者
  2. 创建产品和应用
  3. 开通推送服务
  4. 获取推送服务参数
  5. 推送配置等

详情可参考:点我查看

在开发应用前,需要在AppGallery Connect中配置相关信息

  • 注册成为开发者()

  • 推送配置等,例如:集成HMS Core SDK
    将文件拷贝到应用级根目录下

  • 配置HMS Core SDK的Maven仓地址
    打开Android Studio项目级“build.gradle”文件

 

备注:Maven仓地址无法直接在浏览器中打开访问,只能在IDE中配置。如需添加多个Maven代码库,请将华为公司的Maven仓地址配置在最后

  • 添加编译依赖,打开子工程app下的build.gradle文件
 

在文件头apply plugin: 'com.android.application’下一行添加如下配置

 
  • 在manifest节点下增加所需权限
 
  • 在application节点下声明2个receiver和1个service,用于接收广播信息
 
  • 配置混淆脚本
    开发者编译APK时请不要混淆HMS SDK以及HMS SDK的相关资源文件,避免功能异常
    加入排除hms的混淆配置
 

主要实现,获取Token后,开发者可以在联盟PUSH控制台或者开发者自己服务器向这些

申请Push Token

通过Push SDK的自动初始化能力来自动获取Token

 

通过类中的方法获取Token值

 

设置是否显示通知栏消息

通知栏消息是由系统直接在通知中心下拉列表呈现的即时消息。您如果想控制应用是否允许显示通知栏消息,可以调用HmsMessaging类中的或者HmsMessaging类中的方法

 

自定义点击消息的动作

展示应用角标
这个具体参看:点我查看

客户端测试

开发者可以参考PUSH控制台发送测试消息
来测试PUSH消息能否正确送达客户端。如需实现服务端自定义发送Push消息

开发者通过在调用,向发送

从2023年9月15日开始,华为推送服务将对本地通知进行灰度管控,主要包括对应用发送本地通知进行分类管理,以及对资讯营销消息统一进行频次管控。


华为推送服务中提供的透传消息是可能会丢失的.(当APP被杀死后,透传消息有时是收不到的。所以不推荐使用透传去做一些重要的功能)

从Push SDK版本开始我们提供了自动初始化获取Token的能力

应用不要固定判断Token长度,因为后续长度可变;应用的Token要定期更新(建议应用每次启动的时候都获取Token,如果发现和上次取到的不同,则上报到自己的服务器

推送是否支持非华为手机
A,非华为手机必须要安装,请到华为应用市场中搜索下载

通知栏消息系统版本要求
A:支持(Notification Center)功能的手机:部分EMUI4.0和4.1的手机,以及EMUI5.0及之后的华为手机。建议最好是5.0系统以及以上

通知栏消息样式

  • 华为通知样式默认是,通知栏消息的声音、样式和振动等不可以自定义
  • 大文本样式:默认样式下仅支持单行文本,大文本样式支持标题单行,内容文字多行(当前EMUI 9系统限制最多显示12行中文或者14行英文,EMUI 10&11系统限制最多显示11行中文或者13行英文
  • 自定义消息小图标

推送是否支持角标
A:目前不支持通知栏消息和角标的同步,透传消息可以自行实现

透传消息和通知栏消息的区别
A
:是华为Push将消息送达手机后不做呈现,由应用本身
:是华为Push将消息送达手机后,会在显示一条消息,应用不需要去解析消息和控制呈现,减少了应用的开发工作量

无法收到推送消息
A

  • EMUI版本太低小于4.1.或华为移动服务版本较低
  • 检查是否使用的是老版本的的push,老版本sdk会出现消息延时很明显的情况,以及收不到推送,需要尽快切换到新版本
  • 服务端在推送消息到设备时,是否Token失效等,可让服务端配合查发送消息的返回状态码,详情 点我查看

接收不到消息,抓取相关日志

  • Adb连上手机分别执行下面命令

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号