# push

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

## 方法：

- addEventListener: 添加推送消息事件监听器
- clear: 清空所有推送消息
- createMessage: 创建本地消息
- getAllMessage: 获取所有推送消息
- getClientInfo: 获取客户端推送标识信息
- setAutoNotification: 设置程序是否将消息显示在系统消息中心
- remove: 删除推送消息

## 对象：

- ClientInfo: JSON对象，获取的客户端标识信息
- PushMessage: JSON对象，推送消息对象
- MessageOptions: JSON对象，获客户端创建本地消息的参数

## 回调方法：

- PushReceiveCallback: 客户端接收到推动消息的回调函数
- PushClickCallback: 用户点击推送消息事件的回调函数

## 权限：

permissions

    {
    // ...
    "permissions":{
    	// ...
    	"Push": {
    		"description": "消息推送"
    	}
    }
    }

属性：

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

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

  ### 平台支持

  - Android - 2.2+ (支持)
  - iOS - 4.3+ (不支持): 不支持覆盖消息，每条信息都在系统消息中心，忽略cover属性值。

# ClientInfo

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

## 属性：

- id: (String 类型 )推送通道标识

  目前支持以下推送通道： "igexin" - 表示个推推送； "mipush" - 表示小米推送； "unipush" - 表示DCloud UniPush。

- token: (String 类型 )设备令牌（iOS设备唯一标识），用于APNS服务推送中标识设备的身份
- clientid: (String 类型 )推送服务令牌（设备唯一标识），用于标识推送信息接收者身份

  第三方推送服务器管理的设备唯一标识，在iOS平台此值通常与token不同；在其它平台此值通常与token值一致。 此值与设备及应用都相关，即不同的apk/ipa安装到同一台设备上的值都不相同。

- appid: (String 类型 )第三方推送服务的应用标识

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

- appkey: (String 类型 )第三方推送服务器的应用键值

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

# PushMessage

JSON对象，推送消息对象

## 属性：

- title: (String 类型 )推送消息显示的标题
- content: (String 类型 )推送消息显示的内容
- payload: (JSON 类型 )推送消息承载的数据

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

- aps: (JSON 类型 )Apple APNS推送协议数据

# MessageOptions

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

## 属性：

- appid: (String 类型 )要启动流应用的appid

  仅在流应用环境中有效，默认值为当前流应用的appid。

- cover: (Boolean 类型 )是否覆盖上一次提示的消息

  可取值true或false，true为覆盖，false不覆盖。 默认为false。

- delay: (Number 类型 )提示消息延迟显示的时间

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

- icon: (String 类型 )推送消息的图标

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

- sound: (String 类型 )推送消息的提示音

  显示消息时的播放的提示音，可取值： “system”-表示使用系统通知提示音； “none”-表示不使用提示音； 默认值为“system”。

- title: (String 类型 )推送消息的标题

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

- subtitle: (String 类型 )推送消息的副标题
- when: (Date 类型 )消息上显示的提示时间

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

# PushReceiveCallback

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

    void onReceive( msg ) {
    	// Recieved push message code.
    }

## 参数：

- msg: ( String ) 必选 接收到的推送信息msg

## 返回值：

void : 无

# PushClickCallback

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

    void onClick( msg ) {
    	// Clicked push message code.
    }

## 参数：

- msg: ( String ) 必选 用户点击的推送信息msg

## 返回值：

void : 无