华为HarmonyOS灵活高效的消息推送服务(Push Kit) -- 10 推送实况窗消息

场景介绍

实况窗是一种帮助用户聚焦正在进行的任务,方便快速查看和即时处理的通知形态。有关实况窗简介、权限申请、开放场景、设计规范等说明,请参见Live View Kit简介。

通过Push Kit发送的实况窗消息支持三种操作类型,分别是:

实况窗消息操作类型

支持操作的场景类型

说明

创建实况窗

FLIGHT、TAXI、TRAIN

仅航班、出行打车、高铁/火车场景支持通过Push Kit创建实况窗,其他场景请通过Live View Kit本地创建。

更新实况窗

所有场景

所有场景皆支持通过Push Kit更新实况窗。

结束实况窗

所有场景

所有场景皆支持通过Push Kit结束实况窗。

有关场景类型的详细说明请参见支持的范围与场景。

根据创建实况窗的方式不同,通过Push Kit发送实况窗消息的流程有所区别。

通过Live View创建实况窗,Push Kit更新与结束实况窗

cke_5070.png

  1. 使用Push Kit,获取Push Token。
  2. 使用Live View Kit创建实况窗成功后,开发者需要将实况窗id、pushToken、实况窗场景event以及业务服务的相关的状态属性保存到业务服务端。
  3. 当业务服务的用户订单状态发送变化时,通过Push Kit通道推送更新消息,更新/结束实况窗。

通过Push Kit创建、更新、结束实况窗

cke_11946.png

  1. 使用Push Kit,获取Push Token。
  2. 将Push Token保存到业务的服务端。
  3. 通过Push Kit推送创建/更新/结束实况窗消息。

实况窗更新效果示例图:

cke_18933.png

注意

  • 单个实况窗的生命周期最长不超过8小时,超过8小时后,系统会认为通知结束。
  • 为了确保用户看到内容的时效性,请您确保对实况窗内容进行及时更新。系统将在实况窗超过2小时未更新时,隐藏实况窗在状态栏胶囊和锁屏的展示,保留通知中心展示;超过4小时未更新,系统会认为实况窗结束,并从各个展示入口清除该实况窗。

开通权益

推送实况窗消息前您需要开通对应的场景权益,可参见开通实况窗权益完成权益的申请。

频控规则

调测阶段,每个项目每日全网最多可推送1000条测试消息。发送测试消息需设置testMessage为true。

正式发布阶段,单设备单应用下每日推送消息总条数受设备消息频控限制,所有场景化消息发送条数不超过3000条。

单个实况窗消息,出行打车与赛事比分场景每个设备每5分钟最多更新30次,每小时最多更新180次。其余场景每个设备每5分钟最多更新10次,每小时最多更新60次。超过频次部分将丢弃不下发。

开发步骤

  1. 参见指导获取Push Token。
  2. 根据应用情况选择创建实况窗的方式:

    • 通过Live View Kit创建本地实况窗,详细内容请参见构建本地实况窗。
    • 通过Push Kit远程创建实况窗,需满足创建实况窗约束。以出行打车场景为例,消息示例如下:
      ​
      // Request URL
      POST https://push-api.cloud.huawei.com/v3/[projectid]/messages:send
      // Request Header
      Content-Type: application/json
      Authorization: Bearer eyJr*****OiIx---****.eyJh*****iJodHR--***.QRod*****4Gp---****
      push-type: 7
      // Request Body
      {
      "payload": {
      "activityId": 1,
      "operation": 0,
      "event": "TAXI",
      "status": "DRIVER_ON_THE_WAY", // 司机正在赶来
      "activityData": {
      "notificationData": {
      "type": 3,
      "contentTitle": "{{status}}", // 司机正在赶来
      "contentText": [
      {
      "text": "距您"
      },
      {
      "text": "1.2公里",
      "foregroundColor": "#FF317AF7"
      },
      {
      "text": " | "
      },
      {
      "text": "5分钟",
      "foregroundColor": "#FF317AF7"
      }
      ],
      "clickAction": {
      "actionType": 1, // 打开应用自定义页面
      "action": "xxxxxx" // 应用内置页面ability对应的action
      },
      "richProgress": {
      "type": 0,
      "nodeIcons": ["icon1.png", "icon2.png", "icon3.png"], // 取值为“/resources/rawfile”路径下的文件名
      "indicatorIcon": "taxi.png", // 取值为“/resources/rawfile”路径下的文件名
      "progress": 40,
      "indicatorType": 1,
      "color": "#FF317AF7",
      "bgColor": "#19000000"
      },
      "extend": {
      "type": 3,
      "pic": "phone.png", // 取值为“/resources/rawfile”路径下的文件名
      "clickAction": {
      "actionType": 5, // 点击辅助区打开拨号界面
      "data": {
      "tel": "138xxxxxxxx" // 通过tel字段携带拨号的电话号码
      }
      }
      }
      },
      "capsuleData": {
      "type": 1,
      "status": 1,
      "icon": "icon.svg", // 取值为“/resources/rawfile”路径下的文件名
      "bgColor": "#FF317AF7",
      "remind": "EXPAND",
      "title": "接驾中",
      "content": "预计5分钟"
      }
      }
      },
      "pushOptions": {
      "ttl": 1000,
      "biTag": "biTag"
      },
      "target": {
      "token": [
      "MAAALgE4G98BAAAAst************jq"
      ]
      }
      }
      ​
      • [projectId]:项目ID,登录AppGallery Connect网站,选择“我的项目”,在项目列表中选择对应的项目,左侧导航栏选择“项目设置”,在该页面获取。
      • Authorization:JWT格式字符串,可参见Authorization获取。
      • push-type:7表示实况窗消息场景。
      • token:Push Token,可参见获取Push Token获取。
      • event:实况窗消息具体场景类型,需要与应用实际申请通过的场景一致。例如:TAXI(出行打车)、FLIGHT(航班)等。通过Push Kit创建实况窗仅支持TAXI、FLIGHT、TRAIN三种场景。详情请参见创建实况窗约束。
      • operation:实况窗通知操作类型,0表示创建实况窗。详情请参见operation。
      • activityData:填写您项目中的实况窗数据。详情请参见activityData。
      • activityId:实况活动ID。详情请参见activityId。
      • type:实况窗布局类型,有基础类、进度可视化类、强调文本类等。创建实况窗时每种event仅可使用特定的布局类型,详情请参见创建实况窗约束。
      • status:表示实况窗消息状态。operation为0时必填,取值范围根据场景类型而定,详情见Status取值范围,并且需要在支持携带占位符的字段填入至少一次status的占位符{{status}},Push Kit将替换占位符{{status}}为Status取值范围中对应的值。

  3. 当用户的服务订单状态发生变化时,开发者可以调用Push Kit服务端开放的REST API服务接口,更新或者结束实况窗。

    消息详情可参见场景化消息API接口功能介绍。(若开发者更新的实况窗为通过Push Kit远程创建的实况窗,更新时请遵守创建实况窗约束)

    ​
    // Request URL
    POST https://push-api.cloud.huawei.com/v3/[projectid]/messages:send
    // Request Header
    Content-Type: application/json
    Authorization: Bearer eyJr*****OiIx---****.eyJh*****iJodHR--***.QRod*****4Gp---****
    push-type: 7
    // Request Body
    {
    "payload": {
    "activityId": 1,
    "operation": 1,
    "event": "TAXI",
    "status": "HEADING_TO_DESTINATION", // 正在去往目的地
    "version": 1,
    "activityData": {
    "notificationData": {
    "type": 3,
    "contentTitle": "{{status}}", // 正在去往目的地
    "contentText": [
    {
    "text": "距目的地"
    },
    {
    "text": "7.2公里",
    "foregroundColor": "#FF317AF7"
    },
    {
    "text": " | 预计"
    },
    {
    "text": "27分钟",
    "foregroundColor": "#FF317AF7"
    }
    ],
    "clickAction": {
    "actionType": 1, // 打开应用自定义页面
    "action": "xxxxxx" // 应用内置页面ability对应的action
    },
    "richProgress": {
    "type": 0,
    "nodeIcons": ["icon1.png", "icon2.png", "icon3.png"], // 取值为“/resources/rawfile”路径下的文件名
    "indicatorIcon": "taxi.png", // 取值为“/resources/rawfile”路径下的文件名
    "progress": 70,
    "indicatorType": 1,
    "color": "#FF317AF7",
    "bgColor": "#19000000"
    },
    "extend": {
    "type": 0
    }
    },
    "capsuleData": {
    "type": 1,
    "status": 1,
    "icon": "icon.svg", // 取值为“/resources/rawfile”路径下的文件名
    "bgColor": "#FF317AF7",
    "title": "27分钟",
    "content": "距目的地7.2公里"
    }
    }
    },
    "pushOptions": {
    "ttl": 1000,
    "biTag": "biTag"
    },
    "target": {
    "token": [
    "IQAAAACy0Yu************enANg"
    ]
    }
    }
    ​
    • [projectId]:项目ID,登录AppGallery Connect网站,选择“我的项目”,在项目列表中选择对应的项目,左侧导航栏选择“项目设置”,在该页面获取。
    • Authorization:JWT格式字符串,可参见Authorization获取。
    • push-type:7表示实况窗消息场景。
    • token:Push Token,可参见获取Push Token获取。
    • event:实况窗通知具体场景类型,需要与应用实际申请通过的场景一致。例如:TAXI(出行打车)、FLIGHT(航班)等。详情请参见event。
    • operation:实况窗通知操作类型,1表示更新实况窗,2表示结束实况窗。详情请参见operation。
    • activityData:填写您项目中的实况窗数据。详情请参见activityData。
    • activityId:实况活动ID。详情请参见activityId。
    • type:实况窗布局类型,有基础类、进度可视化类、强调文本类等。详情请参见type。
    • status:表示实况窗消息状态。operation为1且更新的实况窗为通过Push Kit远程创建的实况窗时必填,取值范围根据场景类型而定,详情见Status取值范围,并且需要在支持携带占位符的字段填入至少一次status的占位符{{status}},Push Kit将替换占位符{{status}}为Status取值范围中对应的值。
    • version:更新实况窗通知的版本号。详情请参见version。

      注意

      发送的activityId对应的实况窗id(请见LiveView)不存在,将限制发送该activityId的实况窗消息24小时。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1544498.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

云手机推荐:五款热门云手机测评!

在云手机市场中,各个品牌层出不穷,让人难以选择。为了帮助你更好地找到适合的云手机应用,我们整理了五款最受欢迎的云手机进行测评。2024年,哪款云手机是你的不二之选?且慢下结论,看看这五款云手机的真实表…

分享一个非常好用的图片压缩的免费网址,及使用方式

一、图片压缩网址: TinyPNG – Compress WebP, PNG and JPEG images intelligently 二、使用方式(压缩后的图片在1M以内) 1、上传图片 二,下载压缩图片 备注:只能免费压缩5M以内的图片!

Codigger SIDE:Nvim扩展,重新定义编程体验

在当今快速发展的科技时代,软件开发的核心工具之一——代码编辑器,正变得越来越强大和多样化。Codigger,作为新一代的软件开发平台,不断推动着编程工具的创新。其中,Codigger Super IDE(SIDE)的…

超详细超实用!!!AI编程之cursor编写设计模式里氏替换原则实例(五)

云风网 云风笔记 云风知识库 一、设计模式里氏替换原则定义 里氏替换原则是面向对象设计的基本原则之一。 里氏替换原则中说,任何基类可以出现的地方,子类一定可以出现。LSP 是继承复用的基石,只有当派生类可以替换掉基类,且软件…

企业如何通过加密软件保护敏感信息和客户数据?

1、数据加密:采用先进的加密算法,如AES-256,对敏感信息和客户数据进行加密处理。这样,即使数据被非法获取,未授权人员也无法解密和访问数据内容。 访问控制:设置严格的访问控制策略,确保只有授…

电网绝缘子损坏识别检测数据集

电网绝缘子损坏识别检测数据集 yolo数据集 1600张 电网绝缘子损坏识别检测数据集(Power Grid Insulator Damage Detection Dataset) 数据集概述 该数据集专为电网绝缘子损坏的自动检测任务设计,旨在帮助电力部门和相关研究机构通过图像识别技…

代码随想录算法day39 | 动态规划算法part12 | 115.不同的子序列,583. 两个字符串的删除操作,72. 编辑距离

115.不同的子序列 相对于 392.判断子序列,本题有难度了,感受一下本题和 392.判断子序列 的区别。 力扣题目链接(opens new window) 给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指&#xff…

电路 - 笔记2

1 555 芯片 2 类比 - pU*I 与 Fm*a 是不是可以与牛顿定律类比 - Fm*a 人的力量(F)有限。 当推大箱子(m)时,加速度(a)就不会很大 当推小箱子(m)时,加速度…

十大开放式耳机排名?强烈推荐这五大高性能款式!

目前市场上的开放式蓝牙耳机种类繁多,如何挑选适合自己的开放式蓝牙耳机?作为一名数码评测员,从去年在现在,也体验了许多款开放式蓝牙耳机,结合我的体验和产品配置参数,为大家整理了一份开放式耳机排行榜&a…

PostgreSQL 一张表多个字段关联另一张表

event_catalog 表 event 表 sql SELECT event.event_uuid, event.event_case_id, event.event_status, event.event_catalog_1, event.event_catalog_2, event.event_catalog_3, event.event_title, event.event_content, event.event_source, event.event_purpose, event.eve…

Hi3516CV610-20S 芯片及开发板

总体介绍 Hi3516CV610 是一颗应用在安防市场的 IPC 处理器内核 SoC。在开放操作系统、新一代视频编解码标 准、网络安全和隐私保护、人工智能方面引领行业发展,主要面向室内外场景下的枪机、球机、半球机、海 螺机、枪球一体机、双目长短焦机等产品形态,…

全球视角下的知识产权管理

跨国企业作为全球经济的重要参与者,其知识产权的管理不仅关乎企业自身利益,更影响到其在全球市场的布局与竞争力。然而,跨国企业在进行全球知识产权管理时,往往面临诸多挑战。在全球知识产权管理的过程中,专业管理系统…

【Linux】安装配置nginx

文章目录 一、替换镜像源1.对系统本身的yum源进行备份2.下载阿里云 CentOS 7 镜像源配置文件3.删除所有的自带的源,只保留阿里的,和备份源4.清除旧的 YUM 缓存5.创建新的 YUM 缓存 二、配置环境1.安装依赖2.创建nginx安装目录3.下载nginx4.安装nginx5.查…

Electron 更换窗口图标、exe执行文件图标

首先在项目根目录下准备好图标: 配置窗口图标: 配置打包后 exe执行文件 的图标: 效果展示:

动物关键点数据集-yolov8 pose动物关键点识别-动物姿态估计-keypoints(代码+数据集)

跨域适应于动物姿态估计 概览 本文介绍了一个专门用于动物姿态估计的数据集,该数据集包含了五个不同种类的动物:狗、猫、牛、马和羊。整个数据集中共包含超过6000个实例,分布在4000多张图像上。此外,数据集还为另外七种动物提供…

《十年国庆游,洞察中国旅游新趋势》

作者:侯炯 一、十年国庆旅游数据总览 过去十年,中国国庆旅游市场呈现出丰富的变化和强劲的发展态势。从接待游客人次来看,2014 年接待国内游客 4.75 亿人次,到 2019 年已增长至 7.82 亿人次,2023 年国内旅游出游人数更…

K8s安装部署(v1.28)--超详细(cri-docker作为运行时)

1、准备环境 ip角色系统主机名cpumem192.168.40.129mastercentos7.9k8smaster48192.168.40.130node1centos7.9k8snode148192.168.40.131node2centos7.9k8snode248192.168.40.132node3centos7.9k8snode348 2、系统配置(所有节点) 重要:首先…

关于ShuffleNetV1中的channel shuffle操作【代码分析】

1. 官方给出的代码 旷视科技在自己的开源GitHub上给出的channel shuffle相关代码如下图所示: 分析上图中的代码,旷视科技将channel shuffle这个操作视为一个函数,函数传入的参数是输入张量x,x的shape为(batchsize, num_ch…

[ComfyUI]Flux:完美平衡!更适合F1反推模型!30秒速率1G低显存CLIP和T5双通道提示反推和标注皆可用

大家好我是安琪!!! 在数字艺术领域,AI绘画技术已经逐渐成为艺术创作的新趋势。现在,ComfyUI的Flux功能结合F1反推模型,为用户提供了完美的平衡,让你在创作中更加得心应手。 Florence2PromptGen…

国庆出行新宠:南卡Pro5骨传导耳机,让旅途不再孤单

国庆长假即将来临,对于热爱旅行和户外运动的朋友们来说,一款适合旅行使用的耳机无疑是提升旅途体验的神器。今天,我要向大家推荐一款特别适合国庆出行的耳机——南卡Runner Pro5骨传导耳机。作为一名热爱旅游的体验者,我强烈推荐南…