iPhone应用中的Facebook聊天和推送通知

3
我们正在计划一个应用程序,其中包括集成 Facebook 聊天等功能。
我们正在讨论在应用程序后台接收消息的推送通知。所考虑的方案是为聊天设置代理服务器,实际连接到 Facebook 聊天,然后 iPhone 应用程序连接到代理。这样就很容易让代理服务器充当推送通知服务器。
这是唯一的方法吗?还是我们把它想复杂了?
欢迎提供任何意见和建议。谢谢。
2个回答

3
要实现推送通知(当应用关闭时,用户收到一条消息并在 iPhone 上出现一个警报),这是唯一的方法,因为每个应用都需要一个唯一的证书来发送推送通知。这意味着官方 Facebook 服务器不能为第三方应用程序推送。您需要一个代理来保持与 FB 的连接,并在需要时向 Apple 的推送通知服务器推送警报。
而在应用内部,您可以通过打开到 Facebook 服务器的套接字并使用 ObjC 的 Jabber 库直接连接。这允许另一种方法:本地通知。它们类似于推送,但不需要代理服务器:运行在用户设备上的应用程序保持与聊天服务器的开放连接(即使应用程序在后台运行)。
这是涵盖两种类型通知的文档:本地和推送通知编程指南

问题是:当应用程序在后台运行时,套接字是否会保持连接并继续接收数据? - BAndonovski

0
Facebook的聊天系统是一个Jabber服务器,所以我认为你正在使它比你需要的更复杂。

那么,如果您不使用代理服务器,您将如何实现推送通知? - BAndonovski
带着一颗谨慎的心态看待这个问题,因为我没有在这个特定领域的经验。我认为过于复杂的原因是jabber是一个众所周知的协议,所以我想象有一个库可以用来与它进行接口交互。我不确定是否需要推送通知,但像我说的那样,我不是专家。MrMagic的答案可能更有用。 - Hack Saw

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接