我想知道当另一个用户与应用程序的用户交互时,社交网络应用程序(例如 Twitter、Facebook 和 WhatsApp)如何实时更新其用户界面。举个我能想到的最好的例子:当你在 WhatsApp 中打开一个聊天窗口时,当你与之聊天的用户与你互动时,UI 会自动更新(无需任何用户操作)。消息显示在您的屏幕上而不会刷新,并且当您的聊天伙伴离线或重新在线时,屏幕顶部的“上次查看”状态会自动更新。我可以想到两种方法来实现这一点:
content-available在用户执行某些操作时使用静默通知 ( ) 将数据传递到另一台设备,可能会为您节省大量 HTTP 请求,从而使您的应用程序消耗更少的数据和 CPU 使用量。这种方法的风险在于,用户可以轻松禁用所有推送通知以节省电池电量(包括静默通知),然后您的应用将无法远程获得事件通知。我刚刚在我自己的应用程序中实现了一个聊天功能,我想启用与 WhatsApp 使用的相同的实时 UI 更新。什么是最好的方法来做到这一点?我应该使用上述两种方法之一还是有人可以想到另一种方法来做到这一点?顺便说一下,我是一个相对较新的程序员,最近刚刚学会了如何开发 iOS 应用程序 (Swift)。我离专业还很远,所以请在解释和工作方法能力上放轻松。谢谢!