推送通知
当顾客的排队号转为 CALLED 时,Jonot 会向顾客发送系统通知 — 即使
浏览器标签页在后台或手机已锁屏。被跳过的排队号被召回后再次叫号时,也会
发送通知。
- 顾客即将加入队列,看到队列选择页。
- 队列列表上方出现推送订阅卡片 — 顾客点按 通知我 并授予浏览器权限,然后加入。
- 其浏览器注册一个 Web Push 订阅。
- 顾客加入队列并收到排队号。订阅在服务器端与该排队号关联。
- 当服务台叫号时,服务器向该排队号的所有活跃订阅发送推送消息。
- 顾客的设备唤醒,显示带有排队号号码、队列名称和门店的系统通知。点按通知打开排队号屏幕。
- 当排队号到达终态(
COMPLETED、CANCELED或NO_SHOW)或推送端点过期(浏览器退订/权限被撤销)时,订阅自动删除。
未在队列选择页订阅的顾客仍可从排队号屏幕订阅 — 排队号处于 WAITING 或
CALLED 期间会显示通知卡片。
被跳过排队号的召回通知
Section titled “被跳过排队号的召回通知”如果顾客的排队号被跳过(移到 SKIPPED 状态),其推送订阅保持激活。
当员工随后召回该排队号(移回 WAITING)并叫号时,顾客会收到推送通知 —
即使其已关闭排队号页面。
这意味着订阅后暂时离开的顾客,在员工将其召回时仍会收到通知,无需保持 浏览器打开。
订阅 — 顾客体验
Section titled “订阅 — 顾客体验”| 状态 | 显示 |
|---|---|
| 提示(尚未请求权限) | 订阅 CTA 卡片(队列选择页 + 排队号屏幕) |
| 已授予权限 + 已订阅 | ”我们会通知您 — 可以关闭此标签页”确认 |
| 权限被拒绝 | 后备建议 + 浏览器设置链接 |
| 浏览器不支持 | 无(静默跳过) |
订阅后,即使标签页已关闭或手机在后台,浏览器也会递送推送通知 — 顾客无需 保持排队号页面打开。
如果顾客的设备在排队号页面打开期间失去 WebSocket 连接(例如短暂离线后), 屏幕上会出现一个 连接已断开 — 正在重新连接…… 徽章。它仅对非终态 排队号显示,初始页面加载时从不显示。连接自动恢复;无需手动操作。
iOS — 需要主屏幕
Section titled “iOS — 需要主屏幕”iOS Safari 16.4+ 支持 Web Push,但仅当应用已添加到主屏幕(独立模式)时。 在常规浏览器的 iOS Safari 中:
- 队列选择页在队列列表上方显示一个 将 Jonot 添加到主屏幕 指引卡片。
- 添加到主屏幕后,顾客从主屏幕图标重新打开 Jonot,标准的订阅 CTA 出现。
仅限事务性 — 无营销
Section titled “仅限事务性 — 无营销”推送订阅与单个排队号关联。它们严格是事务性的:一个订阅对应一个排队号的
生命周期。没有发送促销或批量推送的机制 — 只有排队号 CALLED 事件触发通知。
GDPR / 同意依据: 订阅与顾客刚创建的排队号绑定。覆盖排队号本身的同一 同意依据(正当利益/合同履行)覆盖这单条通知。无需单独收集同意。
- 标准:Web Push,载荷加密遵循 RFC 8291(AES-128-GCM),VAPID 认证请求遵循 RFC 8292。
- 订阅存储:每个订阅绑定一个排队号,当该排队号到达终态时自动删除。