chrome.pushMessaging

描述 使用 chrome.pushMessaging 使应用或扩展程序能够接收通过 Google 云消息服务发送的消息数据。
可用版本 从 Chrome 24 开始支持。
权限 "pushMessaging"
了解更多 用于 Chrome 浏览器的 Google 云消息服务
GCM 服务的 API参考

调试

内部服务器错误

如果调用 pushMessaging API 的应用不能在 Chrome 网上应用店中找到,消息推送服务器会返回 HTTP 状态码 500。这一所有者检查是为了防止他人未经过您的同意就向您的应用发送消息。通常在开发过程中,如果您运行的应用没有在清单文件中包含正确的 key 属性,就会产生这一错误。

为了修复这一问题,只要从 Chrome 网上应用店安装您的应用,从已安装应用的 manifest.json 中将 key 字段复制到您正在开发的应用的 manifest.json 中(有关详细的步骤请参见在云端测试)。注意,在您再次将应用上传到 Chrome 网上应用店之前,您需要从 manifest.json 删除 key 字段。

摘要

方法
getChannelId chrome.pushMessaging.getChannelId(boolean interactive, function callback)
事件
onMessage

方法

getChannelId

chrome.pushMessaging.getChannelId(boolean interactive, function callback)

接收与当前应用或扩展程序相关联的通道标识符。通常应用或扩展程序会将这一值发送至应用程序服务器,以便服务器使用它来触发发送回应用或扩展程序的推送消息。如果设置了 interactive 标志并且还没有登录的话我们将要求用户登录。

参数
boolean (可选)
interactive
function callback

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

function(object channelId) {...};
object channelId
string channelId

该应用程序用于推送消息的通道标识符。

事件

onMessage

接收到推送消息时产生。

addListener

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

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

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

与消息相关联的详情。

integer subchannelId

发送消息的子通道标识符,只有 0~3 之间的值有效。

string payload

与消息相关联的内容,如果有的话。不能包含任何个人识别信息。