该 API 还是实验性的,仅对
dev 分支的
Chrome 用户可用。
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 发送给另一方的消息。
-
属性
-
messageId
(
string
)
-
消息标识符,对每一条消息都必须唯一。
-
timeToLive
(
optional
integer
)
-
消息保留的最长时间,以秒为单位。如果无法在指定时间内发送消息则会产生错误。0 表示应该立即发送消息,如果无法做到则失败。默认及最大值为 2419200 秒(4 星期)。
-
data
(
object
)
-
发送到服务器的消息数据,不允许使用
goo.
和 google
作为键的前缀。所有键/值对的大小不应该超过 MAX_MESSAGE_SIZE。
callback 参数应该指定一个如下形式的函数:
function(string messageId) {...};
-
messageId
(
string
)
-
调用回调函数时对应的消息标识符。
事件
onMessage
通过 GCM 收到消息时产生。
addListener
chrome.gcm.onMessage.addListener(function callback)
参数
callback 参数应该指定一个如下形式的函数:
function(object message) {...};
-
message
(
object
)
-
通过 GCM 从另一方收到的消息。
-
属性
onMessagesDeleted
GCM 服务器为了管理大小而不得不从队列中删除发送给应用的消息时产生,应用应该妥善处理这一情况,例如与服务器进行一次完整的同步。
addListener
chrome.gcm.onMessagesDeleted.addListener(function callback)
参数
callback 参数应该指定一个如下形式的函数:
function() {...};
onSendError
无法向 GCM 服务器发送消息时产生。
addListener
chrome.gcm.onSendError.addListener(function callback)
参数
callback 参数应该指定一个如下形式的函数:
function(object error) {...};
-
error
(
object
)
-
尝试发送消息时在 Chrome 浏览器或 GCM 服务器中发生的错误。应用可以等待合适的时间或者延长消息的生存期重新发送该消息。
-
属性
-
errorMessage
(
string
)
-
描述问题的错误消息。
-
messageId
(
optional
string
)
-
如果错误与特定消息相关的话,则为产生该错误的消息标识符。
-
details
(
object
)
-
如果可用,则为与错误相关的其他详情。