chrome.gcm

描述 使用 chrome.gcm 通过 Google Cloud Messaging 服务在应用和扩展程序中发送和接收消息。
可用版本 从 Chrome 35 开始支持。
权限 "gcm"
了解更多 Google 云消息服务教程
随时通知用户

摘要

属性
MAX_MESSAGE_SIZE
方法
register chrome.gcm.register(array of string senderIds, function callback)
unregister chrome.gcm.unregister(function callback)
send chrome.gcm.send(object message, function callback)
事件
onMessage
onMessagesDeleted
onSendError

属性

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

方法

register

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

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

参数
array of string senderIds

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

function callback

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

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

function(string registrationId) {...};
string registrationId

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

unregister

chrome.gcm.unregister(function callback)

在 GCM 中取消注册应用。

参数
function callback

取消注册完成后调用,如果没有设置 runtime.lastError 的话取消注册成功。

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

function() {...};

send

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

发送指定内容的消息。

参数
object message

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

string destinationId

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

string messageId

消息标识符,应用程序范围内的每一条消息都必须有唯一的标识符。有关选择与处理标识符的建议,请参见 Google Cloud Messaging 文档。

integer (可选)
timeToLive

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

object data

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

function callback

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

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

function(string messageId) {...};
string messageId

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

事件

onMessage

通过 GCM 收到消息时产生。

addListener

chrome.gcm.onMessage.addListener(function callback)
参数
function callback

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

function(object message) {...};
object message

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

object data

消息数据。

string (可选)
collapseKey

onMessagesDeleted

GCM 服务器必须从队列中删除发送给应用的消息时产生。有关处理该事件的详情请参考云消息文档的 Messages deleted event(消息已删除事件)部分。

addListener

chrome.gcm.onMessagesDeleted.addListener(function callback)
参数
function callback

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

function() {...};

onSendError

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

addListener

chrome.gcm.onSendError.addListener(function callback)
参数
function callback

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

function(object error) {...};
object error

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

string errorMessage

描述问题的错误消息。

string (可选)
messageId

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

object details

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