实时数据库交互 iOS

Realtime database interaction iOS

我正在创建一个应用程序,我希望用户在他们关注的任何人发布图片时在应用程序中得到通知。因此,假设用户 A 关注用户 B,当用户 B 发布图片时,它会实时显示在用户 A 的屏幕上。我的问题是:这种事情是使用推送通知完成的吗?就像在收到通知时发出获取图像的请求一样,还是使用套接字或队列更好?

对于这样的实时操作,您可以使用 google 的 firebase 您也可以使用 推送通知 发送可能包含 url 图像的模型,并在收到时加载图像并显示它,同样的功能也可以通过 socketIO

这是推送通知最常见的用例之一。您的 iOS 应用程序请求用户允许发送通知,然后向 Apple 注册以接收推送通知。 Apple 提供了一个 "token",它是该通知订阅的唯一标识符,您的应用随后需要将其发送到您的服务器。当需要通知用户新照片或其他内容时,您的服务器使用 Apple 的 APNS 服务发送通知,使用令牌来识别收件人。

因此,应用程序和服务器使用多个 Apple 提供的 API 来创建通信 通道,然后您可以自由添加任何您想要的逻辑来确定时间和通知内容。

在尝试实施任何东西之前,我建议通读 Apple Remote Notifications Programming Guide 的全部内容,以深入了解这项技术的所有部分是如何组合在一起的。

您还可以使用其他技术吗?可能是。对于 iOS 应用程序,Firebase 本质上是一个更独立于平台的包装器,它建立在上述 Apple 通知系统之上;在引擎盖下,它仍在使用 APNS 并且需要一些相同的初始步骤来配置您的应用程序。由于 运行 应用程序在后台的限制(以及其他原因),套接字类型的技术可能适用于有限的用例,但不是通用通知传递的正确方法。