我正在开发一个 iOS 应用程序。应用程序有不同的“区域”,用户可以向它们发布“东西”。观看同一区域的其他用户应该将发布的内容发送到他们的手机(但前提是应用程序正在运行)。
我已经开始使用 RESTful API 开发Django后端。我计划在Amazon Web Services上托管后端,每次将某些内容添加到“区域”时,使用Amazon Simple Queue Service将更新时间和“区域”放入队列中。我将制作一个 Python 应用程序来处理队列中的项目,查询数据库以查看哪些用户可以下载新的“东西”——目前这部分计划然后向手机发送Apple 推送通知,如果应用程序正在运行,它可以发出简单的 RESTful 请求以获取 JSON 格式的新数据。
但是我相信XMPP会是一个更好的解决方案(在 iOS 端使用XMPPFramework),并且将来可以支持 Android。
我已经对如何为此目的使用 XMPP 进行了大量研究,但文档表明您将使用公共 XMPP 网络,用户必须设置一个 XMPP 帐户,并且不清楚如何发送非聊天信息。
该项目需要纯粹使用 XMPP 将信息从服务器发送到用户设备。因此它应该是一个私有的 XMPP 网络,如有必要,用户可以在这个私有网络上注册一个 XMPP 帐户(但在幕后,他们不应该知道什么技术正在为应用程序提供动力。)
是否可以仅使用 XMPP 将信息发送到移动应用程序?互联网上的很多答案/教程基本上只是建议使用 XMPP 服务器和客户端 - 没有提及如何在专用网络上连接两者以发送由 XMPP 服务器以外的其他东西确定的数据。
提前谢谢你的帮助 :)