目录

1. 场景介绍

华为快应用是一种新型免安装应用。相比于传统安卓应用,具有以下优点:

1、成本低,代码量是传统应用的1/5,开发语言简单,主要有js和css;

2、体验好,原生渲染并且可以访问系统;

3、留存高,无需安装并且可以引导用户添加到桌面;

Huawei Push Kit支持向华为快应用推送消息的能力。

2. 开发准备

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

1、注册成为开发者;

2、创建快应用;

3、生成证书指纹;

4、申请Push服务;

以上步骤请参考快应用开发指南。

3. 开发指导

3.1 消息参数说明

快应用推送消息是通过设置自定义消息负载(即消息类型为透传消息)进行消息推送,消息内容由快应用引擎进行解析,以下是快应用消息体中具体的参数字段:

参数值

取值类型

必选(M)/可选(O)

参数说明

pushtype

integer

M

快应用推送消息类型,取值如下:

0:通知栏消息

1:透传消息

pushbody

object

M

快应用推送消息体,结构说明请参考pushbody结构体的定义。

pushbody结构体

参数值

取值类型

必选(M)/可选(O)

参数说明

title

string

O

通知栏消息标题,pushtype为0时有效。

description

string

O

通知栏消息内容,pushtype为0时有效。

page

string

O

点击通知栏消息需要跳转到的快应用界面的path,pushtype为0时有效。

params

object

O

点击通知栏消息需要跳转到的快应用界面时携带的参数,pushtype为0时有效。样例:{\"key1\":\"test1\",\"key2\":\"test2\"}。

注意:当pushtype=0时,即使不需要携带参数,params参数也必须写入pushbody体中。

ringtone

object

O

设置是否震动和显示呼吸灯,pushtype为0时有效。具体结构请参考ringtone结构体的定义。

messageId

string

O

透传消息的id,pushtype为1时有效。

data

string

O

透传消息的内容,pushtype为1时有效。

ringtone结构体

参数值

取值类型

必选(M)/可选(O)

参数说明

vibration

string

O

是否震动。

breathLight

string

O

是否显示呼吸灯。

3.2 发送消息

开发者可以通过两种方式发送Push消息:

示例报文:

  1. {
  2.    "validate_only": false,
  3.    "message": {
  4.        "data": "{\"pushtype\":0,\"pushbody\":{\"title\":\"Welcome to use Huawei HMS Push Kit?\",\"description\":\"One of the best push platform on the planet!!!\",\"page\":\"aa\",\"params\":{\"key1\":\"test1\",\"key2\":\"test2\"},\"ringtone\":{\"vibration\":\"true\",\"breathLight\":\"true\"}}}",
  5.        "android": {
  6.            "fast_app_target": 1
  7.        },
  8.        "token": [
  9.            "pushtoken1"
  10.        ]
  11.    }
  12. }

如果要接收通知栏消息,需要满足如下条件之一:

注意:

如果使用华为快应用加载器进行调试,必须确保加载器进程处于运行状态。

如果非加载器调试,需确保:设置->应用->应用启动管理->快应用中心的开关处于打开状态。