我目前正在阅读有关推送通知的developers.google.com。
我到目前为止已经获得了推送订阅对象 但我不确定保存它的最佳方法。
以下是Google的代码
function subscribeUserToPush() {
return getSWRegistration().then(function(registration) {
const subscribeOptions = {
userVisibleOnly: true,
applicationServerKey: urlBase64ToUint8Array('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
};
return registration.pushManager.subscribe(subscribeOptions);
}).then(function(pushSubscription) {
console.log('Received PushSubscription: ', JSON.stringify(pushSubscription));
return pushSubscription;
});
}
我有一个数据库,有一个用户表,那么我应该在那里创建一个新列,并将字符串化的JSON订阅对象存储在那里吗?
或者更好地为订阅创建新表? 例如这样的表?
user_id |端点| p256dh | AUTH
用户可以有多个订阅吗?在这种情况下,我认为首选专用订阅表。
关于VAPID密钥,我应该将公共权限放在上面的代码中吗?然后将私人存储在安全的地方吗?
谢谢。
答案 0 :(得分:1)
如果用户通过多种设备(例如移动设备和桌面设备)使用您的网站,则可能会有多个订阅。
关于VAPID,是的,您的公钥可以在JavaScript客户端代码中。您的私钥应该只为您所知,因此应该放在服务器上安全的地方。