sql - Angular向所有用户发送紧急警报
问题描述
我想向所有最终用户发送紧急警报。就像“紧急”广播通知一样,因为如果我要更新新版本,他们必须在半小时之前保存他们的作品。
我希望它现在清楚了。一旦检查了 UI 的设计,您就会对此有所了解。
这是概念设计: https ://i.stack.imgur.com/wRqnU.png 像这样我想向所有人发出紧急警报
解决方案
如果它是实时和 Web Socket 实现,您可以使用SocketIOWeb socket
或SocketIO来发出消息。否则你必须使用Angular PWA来推送通知。
试试这个为PWA
您现有的 Angular 应用程序添加功能:
ng add @angular/pwa
然后你必须使用 node web-push 生成一个VAPID
密钥对。安装网络推送:
npm install web-push -g
使用以下命令生成 VAPID 密钥对:
web-push generate-vapid-keys --json
然后你必须订阅推送通知。这是一个示例:
app.component.ts
@Component({
selector: 'app-root',
template: `
<button class="button button-primary" (click)="subscribeToNotifications()">
Subscribe
</button>
`})
export class AppComponent {
readonly VAPID_PUBLIC_KEY = "BLBx-hf2WrL2qEa0qKb-aCJbcxEvyn62GDTyyP9KTS5K7ZL0K7TfmOKSPqp8vQF0DaG8hpSBknz_x3qf5F4iEFo";
constructor(
private swPush: SwPush,
private newsletterService: NewsletterService) {}
subscribeToNotifications() {
this.swPush.requestSubscription({
serverPublicKey: this.VAPID_PUBLIC_KEY
})
.then(sub => this.newsletterService.addPushSubscriber(sub).subscribe())
.catch(err => console.error("Could not subscribe to notifications", err));
}
}
有关更多信息,请参阅此处的完整指南:Angular Push Notifications: a Complete Step-by-Step Guide
推荐阅读
- javascript - 为什么 /0(\.\d+)?|1/.test('0.') 返回 true?
- react-native - 我从节点模块 react-native-cli-platform-android 得到错误
- javascript - 尝试更新下拉选择元素而不使用 Vanilla JavaScript 重新加载
- reactjs - 何时在 NextJS 应用程序中使用可加载组件?
- python-3.x - 如何在 django 中为一个模型文件创建一个迁移文件
- android - 白屏来自在颤振中在另一台设备上调试
- mysql - 我如何为 4 个表中的特定结果进行连接并且没有一个相关?
- javascript - 为什么我在执行突变时收到“不能为不可为空的字段返回 null”错误?
- reactjs - 如何使用 Reactjs 获取 CSV 数据并存储到状态中?
- python - 我怎样才能漂亮地处理这个脏的多次尝试代码