【问题标题】:iphone & notifications : max number of notifications?iphone和通知:最大通知数?
【发布时间】:2010-11-03 11:16:58
【问题描述】:

我有一个发送通知的 iPhone 应用程序,一切正常...除了有时 :)

让我解释一下:我正在使用一个非常简单的 PHP 脚本来发送通知(使用 stream_context_create 方法),但有些用户告诉我他们没有收到一些通知。显然,我可能会遇到需要在一分钟内发送多达 50,000 条通知的情况,我认为这可能是问题所在。我正在使用一个流来发送所有通知。

你们中有人遇到过这样的问题吗?我需要分成几个流吗?有关于我可以在流中发送的最大通知数量的任何信息吗?

谢谢:)

编辑 1

“速度”不是这里的问题:我可以在一分钟内将我的所有通知推送到 Apple(如果我的用户数量增加,我将来可能会遇到一些问题,但它是好的 ATM)。我在这里看到的问题是,Apple 可能会认为我是垃圾邮件发送者或其他东西,并且不会发送我所有的 50,000 条通知:/ 你们知道我如何确定这一点吗?

【问题讨论】:

  • 您是否考虑过创建守护程序脚本并将通知推送到守护程序以适当速度处理的堆栈?如果您的通知可以晚五分钟到达,我认为这是一个合适的解决方案,无需完全改变语言/等。
  • 刚刚编辑了我的帖子,我意识到我的问题并不准确
  • 好吧,我知道我们在使用 apns 时遇到了同样的问题。我认为我们通过使用队列解决了这个问题,并且每秒只向 Apple 发送限制数量的通知。我不完全知道这个上限是什么,但您可能想研究一下并进行一些实验。

标签: iphone notifications apple-push-notifications


【解决方案1】:

我就此询问了 Apple 开发人员代表,并被告知没有速率限制,并且系统从未丢弃过通知。

(这是 12 个月前,当时 Push 还比较新,所以他们可能从那时起改变了政策)

【讨论】:

  • 只是一个评论:当向苹果发送流内容时,只要检测到一个无效令牌,连接就会停止。因此,请确保每当您发送数据时 fwrite() 是成功的。
【解决方案2】:

我宁愿开发用 C 语言发送通知的代码。PHP 作为一种脚本语言,不能(可能)保证每分钟处理 50K 通知所需的速度。此外,您可能需要配备最新一代 CPU 和大量内存的非常庞大的服务器。实际上,要满足您要求的 QOS,您必须能够每秒发送大约 14 个通知。我怀疑 PHP 是否真的能够应付这个速度。

过去我有自己的提供商,我的 QOS 远低于您所要求的。然后我决定转向商业服务提供商 Urban Airship。我发现这项服务很有魅力。没有用户 - 曾经 - 报告丢失的通知。您必须为此付费,但自己处理这些东西可能会非常麻烦。

【讨论】:

  • 刚刚编辑了我的帖子,我意识到我的问题并不准确
【解决方案3】:

如果通知流中出现故障(即错误的令牌),那么会丢失一些进行它的令牌。这是我的经验,所以我一次发送一个令牌。没有更多的失败,除了一个错误的令牌。

【讨论】:

    【解决方案4】:

    我遇到了完全相同的问题,但每个流的推送次数要少得多。就我而言,我将所有消息(大约 250 条)推送到同一个流上,但没有一条消息会被传递。看起来坏令牌似乎会导致失败,但到目前为止,我不确定什么是坏令牌。

    我在其他地方读到过,在沙盒环境中使用分发令牌推送消息和在分发环境中使用沙盒令牌推送消息会导致流失败,但我在这两个环境中混合了令牌并且没有错过消息,但当时我只在一个流中推送几条消息。

    长话短说:我正在为每个流推送一条消息,它运行良好。推送 250 条消息需要几秒钟的时间,这似乎非常低效,但对我来说只是一个小麻烦。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-11
      • 1970-01-01
      • 2011-10-30
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多