Android集成Huawei PUSH(一)——华为推送服务简介

Android集成Huawei PUSH(一)——华为推送服务简介

一、华为推送服务简介

华为推送服务(Huawei PUSH)是华为为开发者提供的消息推送平台,创建了一条从云端到用户客户端的消息推送通道,开发者可以通过集成Huawei PUSH服务将最新的信息以通知或者透传信息的形式传递给用户。

Huawei PUSH的原理如下:

Android集成Huawei PUSH(一)——华为推送服务简介_第1张图片

-----------------------------------------------------------------------------------------

二、通知栏消息和透传信息

Huawei PUSH服务可以发送两种消息给客户端:通知栏消息透传信息

1.通知栏消息:顾名思义就是显示在设备的通知栏的信息,主要基于Android的Notification。实现通知栏一般需要如下几个步骤:
  ①创建通知栏管理工具
  ②构建通知栏构造器
  ③给构造器设置参数
  ④发送请求

下面给出一段Android原生实现通知栏的代码,仅供参考:

//创建通知栏管理工具
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
//实例化通知栏构造器
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);
//设置Builder
//设置标题
mBuilder.setContentTitle("我是标题")
        //设置内容
        .setContentText("我是内容")
        //设置大图标
        .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
        //设置小图标
        .setSmallIcon(R.mipmap.ic_launcher_round)
        //设置通知时间
        .setWhen(System.currentTimeMillis())
        //首次进入时显示效果
        .setTicker("我是测试内容")
        //设置通知方式,声音,震动,呼吸灯等效果,这里通知方式为声音
        .setDefaults(Notification.DEFAULT_SOUND);
//发送通知请求
notificationManager.notify(10, mBuilder.build());

2.透传信息:即传送网络无论传输业务如何,只负责将需要传送的业务传送到目的节点,同时保证传输的质量即可,而不对传输的业务进行处理。透传消息,就是消息体格式及内容,对于传递的通道来说是不去过问的,通道只负责消息的传递,对消息不做任何处理,当客户端接收到透传消息后,由客户端自己来决定如何处理消息。

Huawei PUSH官网建议使用通知栏消息。

-----------------------------------------------------------------------------------------

三、Huawei PUSH主要功能

1.支持单发以及群发机制,可以同时给一个或者多个设备发送消息

2.支持Android平台多用户条件下向不同用户发送消息

3.当终端用户不在线时,支持消息缓存能力。当设备不在线时Huawei PUSH会将消息缓存,等到设备上线后再次推送给用户。缓存消息默认保存24小时,最长保存15天

4.支持PUSH实时消息回执

5.支持通知栏消息和透传消息两种方式。
Huawei PUSH 才用了统一消息中心(Notification Center)的能力,当华为手机收到通知栏消息时由Notification Center统一展示消息,不需要拉起应用的进程。当用户点击通知栏消息时才会拉起应用进程。

说明:
  支持Notification Center功能的手机:部分EMUI4.0和4.1的手机,以及EMUI5.0及以后的华为手机。
  在非华为手机上面 Huawei PUSH也会有类似于Notification Center的能力,依赖于华为移动服务(Huawei Mobile Services),不过在非华为手机上HMS会受到限制,可能会影响华为推送的到达率。

-----------------------------------------------------------------------------------------

四、Huawei PUSH的受限情况

1.Huawei PUSH 推送消息送达率约束条件
  ①终端设备是否在线
  ②终端设备集成HMS SDK的应用是否被卸载
  ③移动网络是否稳定
  ④终端设备的安全控制策略
  ④不同厂商设备对于Huawei PUSH的支持度

2.不同厂商设备对于Huawei PUSH 推送消息的限制
从原则上说,只要安装了华为移动服务(HMS APK)的Android终端设备就可以支持Huawei PUSH服务。
  ①华为Android终端设备,设备出厂自带HMS APK,华为手机管家可以拦截Android广播消息,Push消息因此也会被拦截。
  ②非华为Android手机(小米、VIVO、OPPO、三星、酷派、中兴等),需要先安装HMS APK。某些厂商的手机可能会删除华为的进程,导致推送消息无法送达。

3.Huawei PUSH 推送消息的及时性
推送消息首次发送,且应用在线联网的情况下,时延在1s以内,如果受限于网络环境,则时延无法保证。

4.Huawei PUSH 推送消息的大小限制
推送消息支持的Android APP包名最大为128字节,消息内容最大为2KB。

5.中国境内支持Huawei PUSH服务的地区:中国大陆、中国香港、中国澳门、中国台湾。
其余国家和地区是否支持Huawei PUSH服务,请参阅Huawei PUSH官方文档

-----------------------------------------------------------------------------------------

附录

Huawei PUSH 官方文档地址: https://developer.huawei.com/consumer/cn/service/hms/pushservice.html

华为开发者联盟官网地址:https://developer.huawei.com/consumer/cn/console#/serviceCards/AppService

你可能感兴趣的:(Android)