Google chrome 如何在chrome扩展中注销gcm
我使用GCM向用户浏览器发送通知。要注册我使用的GCM服务Google chrome 如何在chrome扩展中注销gcm,google-chrome,google-chrome-extension,google-cloud-messaging,chrome-gcm,Google Chrome,Google Chrome Extension,Google Cloud Messaging,Chrome Gcm,我使用GCM向用户浏览器发送通知。要注册我使用的GCM服务 function registerCallback(registrationId) { if (chrome.runtime.lastError) { // When the registration fails, handle the error and retry the // registration later. return; } // Send the registration toke
function registerCallback(registrationId) {
if (chrome.runtime.lastError) {
// When the registration fails, handle the error and retry the
// registration later.
return;
}
// Send the registration token to your application server.
sendRegistrationId(function(succeed) {
// Once the registration token is received by your server,
// set the flag such that register will not be invoked
// next time when the app starts up.
if (succeed)
chrome.storage.local.set({registered: true});
});
}
function sendRegistrationId(callback) {
// Send the registration token to your application server
// in a secure way.
}
chrome.runtime.onStartup.addListener(function() {
chrome.storage.local.get("registered", function(result) {
// If already registered, bail out.
if (result["registered"])
return;
// Up to 100 senders are allowed.
var senderIds = ["Your-Sender-ID"];
chrome.gcm.register(senderIds, registerCallback);
});
});
我的扩展正在与GCM建立连接,我正在向用户浏览器发送通知。我的问题是当用户卸载扩展时如何注销GCM令牌。chrome扩展中没有卸载事件。你能告诉我在我的chrome扩展中在哪里写未注册的GCM连接代码吗
在我的扩展名(background.js、contentscript.js)中的何处编写此代码
当用户卸载您的应用程序时,它将自动从GCM服务中注销。不需要为它设置事件侦听器
source-有一个setUninstallUrl,它可以帮助您从外部服务器执行此操作。现在,如果通知无法送达用户,为什么需要取消注册?嗨,谢谢你的回复。我安装了我的chrome扩展,并多次卸载以在我的PC中测试我的扩展,每次安装都会创建一个GCM id(我安装10次意味着创建10个GCM id)。每当我向用户发送通知时,我都会收到10个通知,因为我的GCM ID未注册。我不知道在哪里调用注销函数我的扩展。@Java4you我正在处理完全相同的问题:)您找到解决方案了吗?您的应用程序或扩展可以调用gcm.unregister来撤销注册令牌。只有在极少数情况下才能取消注册,例如,如果您的应用程序或扩展不想接收更多消息,或者怀疑注册令牌被泄露。
function unregisterCallback() {
if (chrome.runtime.lastError) {
// When the unregistration fails, handle the error and retry
// the unregistration later.
return;
}
}
chrome.gcm.unregister(unregisterCallback);