8

我想使用 APNS 创建一个 iOS 聊天应用程序。如果我有 10,000 个活跃用户并且他们还在继续聊天,苹果会屏蔽我的开发者帐户吗?这有什么限制吗?

4

4 回答 4

14

我不鼓励您将 APNS 用作“聊天应用程序”的骨干。

如果您需要快速聊天功能,您应该编写自己的基于 TCP 套接字的服务器。

如果每隔几秒同步一次没问题,您可以使用基于 HTTP 的服务器后端(但是所有的拉同步都可能对网络流量造成困难 - 所以 TCP-socket 仍然是更好的选择)。

但是,您可以使用 APNS 进行后备- 当您在某些设备上的应用程序没有响应(即未连接到服务器)时,您可以通过 APNS 发送初始消息(以唤醒您的应用程序并通知用户有一条消息等待他)。

一旦用户打开您的应用程序,您应该切换回基于 TCP 套接字或 HTTP 请求的服务器通信。

至于您的问题:不,Apple 很可能(永远无法确定)不会因为使用 APNS 聊天而拒绝您的应用程序。但请注意(正如其他人所说的那样):如果两个用户之间的交互过于频繁,他们之间的消息将会“丢失” - 请参阅 Roman Barzyczak 给你的链接。

于 2013-05-08T17:38:51.780 回答
13

“如果您在短时间内向同一设备或计算机发送多个通知,推送服务将只发送最后一个。”

更多信息:http: //developer.apple.com/library/ios/#technotes/tn2265/_index.html

但Apple不会阻止您的开发者帐户:)

于 2013-05-08T15:46:44.357 回答
6

您可以将它们用于消息传递,但您将很快发现无法保证它们会到达。这被称为推送通知的黑洞。;-)

于 2013-05-08T15:46:57.730 回答
1

我喜欢这里的答案。

首先尝试使用仅 APNS 的解决方案。使您的推送通知无状态(它们仅用作“嘿,您在服务器中有一些新东西”)。
因此,当客户端收到推送通知时,它会向服务器询问新数据(消息或其他内容)。

使用OneSignal 简化发送推送通知的代码(从后端)。如果您的应用程序中的用户在 10 秒后收到一条消息,他不在乎您使用的是 TCP、socket.io 还是 xmpp...

甚至 Whatsapp 的消息也可能需要几秒钟才能到达。

聊天应用程序不是实时游戏。最终用户可以接受几秒钟的延迟。

于 2016-03-23T00:36:24.177 回答