我正在开发一个必须通知用户服务器启动事件的应用程序。这些通知仅在短时间内(30-60 秒)有用。出于这个原因,我正在寻找一种既可以快速发送通知的方法,又可以在通知已经发送后以某种方式使通知无效(撤回/取消/超时)。
我的理解是 APNS 不适合这个。他们“发送并忘记”,无法检查/修改/删除通知。不过,此功能是我的应用程序不可或缺的一部分,因此我愿意接受任何可能让我实现这一目标的方法或服务的建议。
在我看来,有几种选择:
服务器向用户发送通知。然后服务器稍后向用户发送“取消”消息,这会删除通知。
服务器向具有内置计时器的用户发送通知。此计时器在本地进行监控,一旦超时,通知就会被删除。
应用程序定期轮询服务器并根据服务器所说的安排/取消本地通知。
我的首选是选项 2,因为它是自包含且高效的。一条消息启动调度和取消。选项 3 在 iOS 在后台关闭应用程序时存在问题(更不用说它必须轮询服务器的速率,因为通知只会在大约 30 秒内有用)。
诸如 Urban Airship 之类的任何服务是否提供了一些可以实现此目的的功能?任何其他建议/完整的解决方法?都非常感谢。
谢谢你的时间!
马特
编辑:为了鼓励开箱即用的思维,另一个想法可能是服务器与应用程序用户发起自动电话呼叫。如果用户接听电话,则会向他们提供所需的信息。如果不是,则该信息不再可用。有点古怪,我的直觉是这会很昂贵,但我对任何事情都持开放态度!