如何在 Chrome 中实现推送通知
How to implement push notification in Chrome
我正在编写一个 chrome 扩展程序,它将在某些时候接收消息。我想在我的 ico 扩展的右下角有 小红圈 1,2,3... 取决于用户收到的消息数量。此外,如果用户按下扩展并阅读 that/those 条消息,那个小圆圈将消失
我已经阅读了一些关于我如何能够实现这样的事情的好文章,但是现在,我所带来的只是一个基本的通知,它会在十秒后消失。
manifest.json
{
"name": "Notification with Audio",
"description": "notification",
"manifest_version": 2,
"version": "1",
"permissions": [
"notifications"
],
"background": {
"scripts": [
"background.js"
]
}
}
background.js
创建通知();
audioNotification();
function audioNotification(){
var yourSound = new Audio('yourSound.mp3');
yourSound.play();
}
function createNotification(){
var opt = {type: "basic",title: "Your Title",message: "Your message",iconUrl: "your_icon.png"}
chrome.notifications.create("notificationName",opt,function(){});
//include this line if you want to clear the notification after 5 seconds
setTimeout(function(){chrome.notifications.clear("notificationName",function(){});},5000);
}
有人可以描述实现我想要的过程吗?必须使用 GCM 服务 ?
如果你想显示一个图标来显示未读消息的数量并在点击时执行某些操作,那么你需要 Browser Action。
浏览器操作可以在点击时打开一个称为弹出窗口的小页面(如果您想显示某些内容,这很有用)或在后台触发一个 onClicked
事件页面(如果你想做其他事情很有用,比如打开网页)。
关于计数器,标准的方法是使用徽章,可以用setBadgeText
和setBadgeBackgroundColor
设置。或者,您可以使用 <canvas>
在图标上绘制某种自定义徽章,并使用 setIcon
动态更新图标 - 但这会违背 UI Chrome 的传统。
至于推送消息 - GCM API 是一个现成的解决方案,但您可以自己实施; WebSockets 将是一种合适的技术。
如果您对此有更具体的问题,请单独提问。
我正在编写一个 chrome 扩展程序,它将在某些时候接收消息。我想在我的 ico 扩展的右下角有 小红圈 1,2,3... 取决于用户收到的消息数量。此外,如果用户按下扩展并阅读 that/those 条消息,那个小圆圈将消失
我已经阅读了一些关于我如何能够实现这样的事情的好文章,但是现在,我所带来的只是一个基本的通知,它会在十秒后消失。
manifest.json
{
"name": "Notification with Audio",
"description": "notification",
"manifest_version": 2,
"version": "1",
"permissions": [
"notifications"
],
"background": {
"scripts": [
"background.js"
]
}
}
background.js
创建通知(); audioNotification();
function audioNotification(){
var yourSound = new Audio('yourSound.mp3');
yourSound.play();
}
function createNotification(){
var opt = {type: "basic",title: "Your Title",message: "Your message",iconUrl: "your_icon.png"}
chrome.notifications.create("notificationName",opt,function(){});
//include this line if you want to clear the notification after 5 seconds
setTimeout(function(){chrome.notifications.clear("notificationName",function(){});},5000);
}
有人可以描述实现我想要的过程吗?必须使用 GCM 服务 ?
如果你想显示一个图标来显示未读消息的数量并在点击时执行某些操作,那么你需要 Browser Action。
浏览器操作可以在点击时打开一个称为弹出窗口的小页面(如果您想显示某些内容,这很有用)或在后台触发一个 onClicked
事件页面(如果你想做其他事情很有用,比如打开网页)。
关于计数器,标准的方法是使用徽章,可以用setBadgeText
和setBadgeBackgroundColor
设置。或者,您可以使用 <canvas>
在图标上绘制某种自定义徽章,并使用 setIcon
动态更新图标 - 但这会违背 UI Chrome 的传统。
至于推送消息 - GCM API 是一个现成的解决方案,但您可以自己实施; WebSockets 将是一种合适的技术。
如果您对此有更具体的问题,请单独提问。