┌─┐ ┌─┐ ,.-^^-._ ║"│ ║"│ |-.____.-| └┬┘ └┬┘ | | ┌┼┐ ┌┼┐ | | │ │ ┌───────┐ ┌────┐ ┌──────────┐ ┌────┐ ┌────┐ ┌───┐ | | ┌────────────┐ ┌┴┐ ┌┴┐ │Website│ │push│ │updateFeed│ │feed│ │subs│ │FCM│ '-.____.-' │PubSubHubbub│ User Admin └───┬───┘ └────┘ └──────────┘ └────┘ └────┘ └─┬─┘ feed └─────┬──────┘ │ 𝟏 Push notification request │ │ │ │ │ │ │ │ │ ──────────────────────────────────>│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 𝟐 Send token ┌┴┐ │ │ │ │ │ │ │ │ │──────────────>│ │ │ │ │ │ │ │ │ │ │ └┬┘ │ │ │ │ │ │ │ │ │ │ │ 𝟑 Subscribe feed topic │ │ │ │ │ │ │ │ ─────────────────────────────────────────────────────────────────────────────────> │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ . . . . . 𝟏 Subscribe feed . . . . . .──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────> . . . . . . . . . . . . . . . . ┌┴┐ 𝟐 GET subscriber . . │ │ │ │ │ │ │ │ <───────────────────────────────────────────────────────────── │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │─ ─ ┐ │ │ │ │ │ │ │ │ │ │ │ | 𝟑 Check verify_token │ │ │ │ │ │ │ │ │ │ │< ─ ┘ │ │ │ │ │ │ │ │ │ └┬┘ │ │ │ │ │ │ │ │ │ │ 𝟒 Response challenge │ │ │ │ │ │ │ │ │ ──────────────────────────────────────────────────────────────> │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ . .𝟏 Publish contents . . . . . . . . . .──────────────────>. . . . . . . . . . . . . . . . . . . . . . . 𝟐 Add feed . . . . │ │ │──────────────────────────────────────────────────────────────────────────────────────────────────────────────────> │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌┴┐ │ 𝟑 (Trigger update) │ │ │ │ │ │ │ │ │ <─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ │ │ │ └┬┘ │ │ │ │ │ │ │ │ │ │ │ │ 𝟒 Publish request │ │ │ │ │ │ │ │ ─────────────────────────────────────────────────────────────────────────────────────────────────> │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌┴┐ │ 𝟓 Get feed.xml │ │ │ │ │ │ │ │ │ <───────────────────────────────────────────────────────────────────────────── │ │ │ │ │ └┬┘ │ │ │ │ │ │ │ │ │ │ │ 𝟔 Response feed.xml │ │ │ │ │ │ │ │ ──────────────────────────────────────────────────────────────────────────────> │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ┌┴┐ 𝟕 Post feed │ │ │ │ │ │ │ │ │ │ <───────────────────────────────────────────────────────────── │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │─ ─ ┐ │ │ │ │ │ │ │ │ │ │ │ | 𝟖 Check HMAC secret │ │ │ │ │ │ │ │ │ │ │< ─ ┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 𝟗 (Get latest Feed) │ │ │ │ │ │ │ │ │ │ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ > │ │ │ │ │ │ │ └┬┘ │ │ │ │ │ │ │ │ │ │ 𝟏𝟎 Send to topic │ │ │ │ │ │ │ │ │ │ ───────────────────────────> │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 𝟏𝟏 Send push notification │ │ │ │ │ │ <─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │