【问题标题】:Notify user when push notifications are unavailable当推送通知不可用时通知用户
【发布时间】:2014-02-01 19:04:18
【问题描述】:

在我的 iOS 应用程序中,我需要通知用户远程设备上的一些紧急事件。无论应用程序处于何种状态,用户都必须收到警报:如果应用程序处于前台、后台模式,甚至被终止。

根据 Apple 文档,只有“voip”后台模式允许“保持活动”功能在后台保持连接到服务器。但“voip”模式仅适用于真正的 VoIP 应用程序,我的应用程序不提供任何 VoiP 服务。 所以,我想我的情况的唯一选择是使用 Apple 推送通知。

当用户的 iOS 设备失去互联网连接时,无法发送推送通知。但是如果连接已经丢失,用户直到手动检查他的设备才知道这一点。所以在离线时,他无法收到任何推送通知,并且直到他检查了他的手机状态才知道。

我的问题是:当 iOS 设备上的 Internet 断开连接并且推送通知服务不可用时,有什么方法可以通知用户他在离线时不会收到任何通知?

【问题讨论】:

    标签: ios notifications apple-push-notifications offline


    【解决方案1】:

    请清楚您在此处询问的内容。仅仅因为您的设备在本地具有 Internet 连接,并不意味着它与服务器(您的或 Apple 的)有连接。您可以通过在您的应用程序中维护一个保持活动状态的系统来测试与服务器的连接,但想想这会对电池寿命有什么影响。

    如果您需要确保即使设备的互联网连接中断,消息也会到达设备,或者如果您的应用程序被“杀死”(您的话),您需要采用不同的方法。

    发送短信。

    【讨论】:

    • "keep-alive system in your app" - 这对我来说可能是一个不错的选择,但如果我正确理解文档,则无法在 iOS 中实现此功能。实现这种“keep-alive”的唯一方法需要设置“voip”后台模式,但这仅适用于 VoIP 应用程序。我说的对吗?
    【解决方案2】:

    世界上有 4 个频道可供设备使用:

    • 与您的服务器的 Internet 连接 - 不可用;
    • 推送通知 - 不可用;
    • SMS-message - 明白了!
    • 本地推送通知(如果您可以预测未来的事件时间)。

    【讨论】:

    • 当互联网连接丢失时显示本地通知可能会很好。但是有什么方法可以在后台为应用程序实现这一点?
    • 是的。当您的应用程序处于后台或关闭时,本地推送通知无需互联网连接即可工作。我知道的例子有:部落冲突、LinguaLeo。
    • 我知道本地通知可以在没有互联网连接的情况下工作。问题是 - 当我的应用程序处于后台时,有什么方法可以检查互联网连接?如果这是可能的,我可能会检测到连接何时丢失并显示本地通知以通知用户连接已丢失,并且在连接修复之前他不会收到来自远程设备的任何警报。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 2021-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多