Push模块管理推送消息功能,可以实现在线、离线的消息推送,通过plus.push可获取推送消息管理对象。

方法:

对象:

ClientInfo: JSON对象,获取的客户端标识信息

PushMessage: JSON对象,推送消息对象

MessageOptions: JSON对象,获客户端创建本地消息的参数

回调方法:

模块:

permissions

{

// ...

"permissions":{

// ...

"Push": {

"description": "消息推送"

}

}

}

属性:

cover: 设定显示推送消息的模式

可取值true或false,true表示推送消息覆盖模式显示,即仅显示最后接收到的推送消息;false表示在系统消息中心显示多条消息。

默认值为ture。

平台支持

Android - 2.2+ (支持)

iOS - 4.3+ (不支持):

不支持覆盖消息,每条信息都在系统消息中心,忽略cover属性值。

添加推送消息事件监听器

void plus.push.addEventListener( event, listener, Boolean );

说明:

添加推送消息事件监听器,当指定推送事件发出时触发。

参数:

type:

(

String

)

必选事件类型

支持事件类型:"click"-从系统消息中心点击消息启动应用事件;"receive"-应用从推送服务器接收到推送消息事件。

listener:

capture:

(

Boolean

)

可选是否捕获事件,此处可忽略

返回值:

void

: 无

平台支持:

Android

- 2.2+

(支持)

iOS

- 4.3+

(支持):

在客户端在运行时收到推送消息触发receive事件,离线接收到的推送消息全部进入系统消息中心。

示例:

Push Example

// 监听plusready事件

document.addEventListener( "plusready", function(){

// 扩展API加载完毕,现在可以正常调用扩展API

// 添加监听从系统消息中心点击某条消息启动应用事件

plus.push.addEventListener( "click", function ( msg ) {

// 分析msg.payload处理业务逻辑

alert( "You clicked: " + msg.content );

}, false );

}, false );

清空所有推送消息

void plus.push.clear();

说明:

清空系统消息中心所有的推送消息。

参数:

返回值:

void

: 无

创建本地消息

void plus.push.createMessage( content, payload, option );

说明:

在本地直接创建推送消息,并添加到系统消息中心。

参数:

content:

(

String

)

必选

消息显示的内容,在系统通知中心中显示的文本内容。

payload:

(

String

)

可选

消息承载的数据,可根据业务逻辑自定义数据格式。

options:

返回值:

void

: 无

获取所有推送消息

PushMessage[] plus.push.getAllMessage();

说明:

获取客户端接收到的所有推送消息。

仅包括在系统消息中心显示的推送消息,不包括调用setAutoNotification(false)方法设置不显示推送消息后接收到的消息。

参数:

返回值:

PushMessage

: Array[PushMessage]对象,推送消息PushMessage数组。

平台支持:

Android

- 2.2+

(支持)

iOS

- 4.3+

(不支持):

无法获取系统消息中心的消息列表,调用此方法返回空数组。

获取客户端推送标识信息

ClientInfo plus.push.getClientInfo();

说明:

客户端标识信息用于业务服务器下发推送消息时提交给推送服务器的数据,用于说明下发推送消息的接收者(客户端)。需要客户端在第一次运行时提交到业务服务器保存。

参数:

返回值:

ClientInfo

: 客户端推送标识信息对象

示例:

Push Example

// 监听plusready事件

document.addEventListener( "plusready", function(){

// 扩展API加载完毕,现在可以正常调用扩展API

// 获取客户端标识信息

var info = plus.push.getClientInfo();

alert( JSON.stringify( info ) );

// 添加监听从系统消息中心点击消息启动事件

plus.push.addEventListener( "click", function ( msg ) {

// 分析msg.payload处理业务逻辑

alert( "You clicked: " + msg.content );

}, false );

}, false );

设置程序是否将消息显示在系统消息中心

void plus.push.setAutoNotification( notify );

说明:

默认情况下程序在接收到推送消息后将会在系统消息中心显示,通过此方法可关闭默认行为,接收到推送消息后不在系统消息中心显示,通过addEventListener方法的“receive”事件监听处理接收到的消息。

在这种模式下可通过createMessage方法创建在系统消息中心显示的消息。

参数:

notify:

(

Boolean

)

必选是否自动提示推送消息

可取值true或false,true表示自动显示推送消息,false则不显示。默认值为true。

返回值:

void

: 无

平台支持:

Android

- 2.2+

(支持):

如果程序没有运行时接收到推送消息,则在程序启动后调用addEventListener方法监听“receive”事件时返回接收到的消息。

注意:个推平台仅透传消息才支持此功能,其它消息依然会显示到系统消息中心。

iOS

- 4.3+

(不支持):

无法修改是否显示离线推送消息,当程序在前台运行时接收到消息时一定不会添加到系统消息中心,当程序在不再前台运行时一定会添加到系统消息中。

示例:

Push Example

// 监听plusready事件

document.addEventListener( "plusready", function(){

// 扩展API加载完毕,现在可以正常调用扩展API

// 在程序运行时接收到的消息不显示在系统消息中心

plus.push.setAutoNotification( false );

}, false );

删除推送消息

void plus.push.remove( message )

说明:

删除系统消息中心指定的推送消息,可通过getAllMessage方法获取所有的消息后进行操作。

参数:

message:

返回值:

void

: 无

平台支持:

Android

- 2.2+

(支持)

iOS

- 4.3+

(不支持):

无法对单条消息进行删除操作,可调用clear()方法清空所有消息。

JSON对象,获取的客户端标识信息

属性:

token: (String

类型

)设备令牌(iOS设备唯一标识),用于APNS服务推送中标识设备的身份

平台支持

Android - 2.2+ (支持): 设备的唯一标识号,通常与clientid值一致。

iOS - 4.5+ (支持): 设备的DeviceToken值,向APNS服务器发送推送消息时使用。

clientid: (String

类型

)推送服务令牌(设备唯一标识),用于标识推送信息接收者身份

第三方推送服务器管理的设备唯一标识,在iOS平台此值通常与token不同;在其它平台此值通常与token值一致。

此值与设备及应用都相关,即不同的apk/ipa安装到同一台设备上的值都不相同。

appid: (String

类型

)第三方推送服务的应用标识

第三方推送服务器管理的应用标识,通常需要在第三方推送服务器平台进行注册获取。

appkey: (String

类型

)第三方推送服务器的应用键值

第三方推送服务器管理的应用键值,通常需要在第三方推送服务器平台进行注册获取。

JSON对象,推送消息对象

属性:

title: (String

类型

)推送消息显示的标题

平台支持

Android - 2.2+ (支持)

iOS - ALL (支持): 。

content: (String

类型

)推送消息显示的内容

payload: (JSON

类型

)推送消息承载的数据

如果推送消息中传输的数据不符合JSON格式,则作为String类型数据保存。

aps: (JSON

类型

)Apple APNS推送协议数据

平台支持

Android - 2.2+ (不支持): 不支持此数据,返回值为undefined。

iOS - 5.0+ (支持): 仅封装标准APNS协议中的数据,其它数据封装在payload中。如果是通过本地API创建的消息此属性值则为undefined。

JSON对象,获客户端创建本地消息的参数

属性:

appid: (String

类型

)要启动流应用的appid

默认值为当前流应用的appid。

平台支持

Android - ALL (不支持)

360-Stream - (支持)

iOS - ALL (不支持)

cover: (Boolean

类型

)是否覆盖上一次提示的消息

可取值true或false,true为覆盖,false不覆盖,默认为permission中设置的cover值。

平台支持

Android - ALL (支持)

iOS - 5.0+ (不支持):

不支持覆盖消息,只能创建新的消息。

delay: (Number

类型

)提示消息延迟显示的时间

当设备接收到推送消息后,可不立即显示,而是延迟一段时间显示,延迟时间单位为s,默认为0s,立即显示。

icon: (String

类型

)推送消息的图标

本地图片地址,相对路径 - 相对于当前页面的host位置,如"a.jpg",注意当前页面为网络地址则不支持; 绝对路径 - 系统绝对路径,如Android平台"/sdcard/logo.png",此类路径通常通过其它5+ API获取的; 扩展相对路径URL(RelativeURL) - 以"_"开头的相对路径,如"_www/a.jpg"; 本地路径URL - 以“file://”开头,后面跟随系统绝对路径。

平台支持

Android - 2.3+ (支持)

iOS - ALL (不支持):

不支持自定义图片,固定使用应用图标。

sound: (String

类型

)推送消息的提示音

显示消息时的播放的提示音,可取值:

“system”-表示使用系统通知提示音;

“none”-表示不使用提示音;

默认值为“system”。

平台支持

Android - 2.3+ (支持)

iOS - 5.1+ (支持):

当程序在前台运行时,提示音不生效。

注:通常应该设置延迟时间,当程序切换到后台才创建本地推送消息时生效。

title: (String

类型

)推送消息的标题

在系统消息中心显示的通知消息标题,默认值为程序的名称。

平台支持

Android - ALL (支持)

iOS - 5.0+ (不支持):

不支持设置消息的标题,固定为程序的名称。

when: (Date

类型

)消息上显示的提示时间

默认为当前时间,如果延迟显示则使用延时后显示消息的时间。

平台支持

Android - ALL (支持)

iOS - 5.0+ (不支持):

不支持设定消息的显示时间,由系统自动管理消息的创建时间。

平台支持:

Android

- 2.2+

(支持)

iOS

- 4.3+

(支持): 不支持title、cover、when属性,忽略其属性值。

客户端接收到推动消息的回调函数

void onReceive( msg ) {

// Recieved push message code.

}

参数:

msg:

(

String

)

必选接收到的推送信息msg

返回值:

void

: 无

用户点击推送消息事件的回调函数

void onClick( msg ) {

// Clicked push message code.

}

参数:

msg:

(

String

)

必选用户点击的推送信息msg

返回值:

void

: 无

html5 push api,HTML5+ API Reference相关推荐

  1. html5在线api,HTML5 历史记录API

    HTML5 历史记录API HTML5历史记录API的使用方法,在线实例演示HTML5历史记录API如何使用.浏览器的兼容性.语法定义及它的属性值详细资料等. HTML5历史记录API使您可以通过Ja ...

  2. html5 定位 计算距离,HTML5 地理定位+地图 API:计算用户到商家的距离

    背景 最近在做一个类似支付宝口碑商家的功能模块,其中有个功能就是计算出用户与商家的距离,如下图: 支付宝口碑商家页面截图 思路分析 1.商家选取店铺地址,将坐标经纬度存入数据库: 2.移动端定位当前用 ...

  3. HTML5 postMessage 和 onmessage API 详细应用

    HTML5 postMessage 和 onmessage API 详细应用 在学习HTML5的时候发现一位大神的博文,解决了个人的很多疑惑,转载分享给大家 原文地址:https://www.cnbl ...

  4. html5media使用api,html5中media(播放器)的api使用指南.pdf

    代码如下 : HTML Audio API HTML5 Audio API HTML5 Audio API demo by " target="_blank">Le ...

  5. atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97

    atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1. 实现html5化界面的要解决的策略1 1.1. Js交互1 1.2. 动态参 ...

  6. java swing调用H5_atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97...

    atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1.实现html5化界面的要解决的策略 1.1.Js交互 Firefox与Chro ...

  7. html约束验证的例子,HTML5利用约束验证API来检查表单的输入数据的代码实例

    HTML5对于表单有着极大程度的优化,无论是语义,小部件,还是数据格式的验证.我猜你肯定会以浏览器兼容作为借口不愿意使用这些"新功能",但这绝不应该成为使你停滞不前的原因,况且还有 ...

  8. [HTML5]移动Web应用程序开发 HTML5篇 (四) 多媒体API

    介绍 本系列博客将主要介绍如今大红大紫的移动Web应用程序开发最重要的三个工具:HTML5,JavaScript, CSS3. 本篇是HTML5介绍的第三篇,主要介绍HTML5的Canvas API. ...

  9. html5获取地理位置信息API

    html5获取地理位置信息API 在HTML5中,可以看下如何使用Geolocation API来获得用户的地理位置信息,如果该浏览器支持的话,且设备具有定位功能,就能够直接使用这组API来获取当前位 ...

  10. HTML5关于上传API的一些使用(上)

    HTML5提供了很多有用的API,其中就包括上传的API,XMLHttpRequest2.0,在HTML5时代之前,需要进行二进制的上传一般都会才用flash的方案,但是当XMLHttpRequest ...

最新文章

  1. 马腾宇的AI学术历程:做科研要考虑长期的影响力
  2. Python学习之路 (一)开发环境搭建
  3. WM_CHAR、WM_KEYDOWN和WM_SYSKEYDOWN消息
  4. netflix_Netflix Archaius用于物业管理–基础知识
  5. python脚本限制_解决python 上传图片限制格式问题
  6. android.app.activityview,ViewModel 概览
  7. Java中的关键字--volatile
  8. python datetime处理时间
  9. 【杭州云栖】飞天技术汇大视频专场:全民视频时代下的创新技术之路 1
  10. php中加载图片淡入淡出,jQuery做出图片滚动淡入淡出
  11. Python操作Kafka例子
  12. JS监听安卓软键盘删除键
  13. svn如何提取文件更新列表
  14. .net core系列源码地址介绍
  15. 辰信领创携手天津麒麟全力保障国产操作系统安全
  16. 手机支付宝密码存储机制分析
  17. unbuntu下pytorch安装
  18. 2019年博客排名前十
  19. 关于DoG角点检测matlab实现
  20. 46家中外知名企业面试题目

热门文章

  1. mysql 停数据库_mysql数据库突然停了
  2. C++设计模式详解之工厂模式解析
  3. Prometheus-普罗米修斯:高扩展性的监控和报警系统
  4. Linux 内核中的宏定义
  5. Docker基础知识:Containers,Namespace,CGroups
  6. FD.io VPP官方邮件列表
  7. ipad怎么连接电脑_一条网线怎么连接多台电脑?
  8. Java中,与;||与|的区别
  9. Android2D绘图二
  10. oracle让索引失效命令,Oracle中查询时候使index索引失效的限制条件