近年来,通知功能已经成为许多应用程序中突出的特性。构建一个能每天发送数百万通知的可扩展系统绝非易事。这正是为什么我觉得有必要记录我在这方面踩坑之路。也叫用户触达系统。
完成这项任务要求对通知生态系统有深刻的理解,否则需求很容易变得模糊和不明确。
通知是用于向用户提供重要信息的一种方式,如产品更新、提醒事件、优惠等。已成为应用功能清单中的重要组成部分。
通知不仅是移动推送通知。通常,根据接收者的特征
首先,我们需要找出一个支持各种通知类型的高级设计:短信、电子邮件、iOS推送通知、Android推送通知和Slack应用通知。
然后,系统应该以以下组件结构化:
每种通知类型在高级层面上的工作原理。
生产者应提供:
给到Email Service函数。
使用SNS + APNS的iOS推送通知
Producer将向Mobile Push Service(移动推送服务)提供用户信息,如:
Mobile Push Service将构建并向SNS发送通知请求。iOS推送通知请求应构建以下数据:
APNS — 这是由Apple提供的远程服务,用于向iOS设备传播推送通知。
使用SNS + FCM的Android推送通知
Android有类似通知流。与使用APNS不同,使用Firebase Cloud Messaging(FCM)向Android设备发送推送通知。
producer将适当提供:
给第三方应用推送服务。
SQS是用于控制速率限制的消息队列,因为许多第三方API都有这样的限制。我们要有礼貌地调用第三方API!
本文由博客一文多发平台 OpenWrite 发布!