This page was saved using WebZIP 7.0.3.1030 offline browser on 12/24/13 11:31:37.
Address: https://crxdoc-zh.appspot.com/extensions/gcm.html
Title: chrome.gcm - Google Chrome 扩展程序开发文档(非官方中文版)  •  Size: 36677

该 API 还是实验性的,仅对 dev 分支的 Chrome 用户可用。

chrome.gcm

描述 使用 chrome.gcm 通过 Google Cloud Messaging for Android 在应用和扩展程序中发送和接收消息。
可用版本 仅用于 Dev 分支。
权限 "gcm"

chrome.gcm 参考

属性

MAX_MESSAGE_SIZE

chrome.gcm.MAX_MESSAGE_SIZE
MAX_MESSAGE_SIZE ( 4,096 )
消息中所有键/值对的最大大小(以字节为单位)。

方法

register

chrome.gcm.register(array of string senderIds, function callback)

在 GCM 中注册应用,注册标识符由 callback 返回。如果以相同的 senderIds 再次调用 register,则会返回相同的注册标识符。

参数

senderIds ( array of string )

允许向应用发送消息的服务器标识符列表,至少包含一个,不能超过 100 个发送者标识符。

callback ( function )

注册完成时调用的函数,如果 registrationId 为空,它应该检查 runtime.lastError 中的错误信息。

callback 参数应该指定一个如下形式的函数:

function(string registrationId) {...};

registrationId ( string )

GCM 分配给应用的注册标识符。

send

chrome.gcm.send(object message, function callback)

发送指定内容的消息。

参数

message ( object )

通过 GCM 发送给另一方的消息。

属性

destinationId ( string )

发送消息的目标服务器标识符,在 Google API 控制台中指定。

messageId ( string )

消息标识符,对每一条消息都必须唯一。

timeToLive ( optional integer )

消息保留的最长时间,以秒为单位。如果无法在指定时间内发送消息则会产生错误。0 表示应该立即发送消息,如果无法做到则失败。默认及最大值为 2419200 秒(4 星期)。

data ( object )

发送到服务器的消息数据,不允许使用 goo.google 作为键的前缀。所有键/值对的大小不应该超过 MAX_MESSAGE_SIZE

callback ( function )

消息成功放入队列等待发送后调用的函数,您应该检查 runtime.lastError,确保消息已经发送,没有遇到问题。

callback 参数应该指定一个如下形式的函数:

function(string messageId) {...};

messageId ( string )

调用回调函数时对应的消息标识符。

事件

onMessage

通过 GCM 收到消息时产生。

addListener

chrome.gcm.onMessage.addListener(function callback)

参数

callback ( function )

callback 参数应该指定一个如下形式的函数:

function(object message) {...};

message ( object )

通过 GCM 从另一方收到的消息。

属性

data ( object )

消息数据。

onMessagesDeleted

GCM 服务器为了管理大小而不得不从队列中删除发送给应用的消息时产生,应用应该妥善处理这一情况,例如与服务器进行一次完整的同步。

addListener

chrome.gcm.onMessagesDeleted.addListener(function callback)

参数

callback ( function )

callback 参数应该指定一个如下形式的函数:

function() {...};

onSendError

无法向 GCM 服务器发送消息时产生。

addListener

chrome.gcm.onSendError.addListener(function callback)

参数

callback ( function )

callback 参数应该指定一个如下形式的函数:

function(object error) {...};

error ( object )

尝试发送消息时在 Chrome 浏览器或 GCM 服务器中发生的错误。应用可以等待合适的时间或者延长消息的生存期重新发送该消息。

属性

errorMessage ( string )

描述问题的错误消息。

messageId ( optional string )

如果错误与特定消息相关的话,则为产生该错误的消息标识符。

details ( object )

如果可用,则为与错误相关的其他详情。