【问题标题】:Is it possible for an iOS app to programmatically know if the device has an active connection to APNS?iOS 应用程序是否可以通过编程方式知道设备是否与 APNS 建立了活动连接?
【发布时间】:2011-12-14 09:39:15
【问题描述】:

如果启用通知,iOS 设备会在端口 5223 上保持与 APNS 推送服务器的 TCP 连接。

我的应用程序是否可以知道此类连接当前是否处于活动状态?这不是通知设置是否开启的问题,而是设备当前连接APNS服务是否开启。

虽然 APNS 服务不能保证可靠,但在我的应用程序中让用户知道他们当前是否能够/无法接收通知很有用。设备可能被防火墙阻止,或者与 APNS 的连接可能正在重试等过程中。

(我知道开发人员可以通过使用 PersistentConnectionLogging.mobileconfig 配置文件查看 APSD 的输出来检查这一点,但这不是最终用户选项)

【问题讨论】:

    标签: ios push-notification apple-push-notifications


    【解决方案1】:

    我不这么认为。关键是让应用程序不再担心这一点。当您为设备注册推送通知时,它要么通过,要么失败。您应该始终在应用程序启动时处理失败案例并以某种方式通知用户。

    【讨论】:

    • 谢谢。正如我所指出的,处理权限和注册成功/失败很容易。这是一个关于启用通知后当前状态的问题,并且推送注册成功。从本质上讲,如果设备与 APNS 有活动连接,则此实例。这对于 IM 或 VOIP 应用程序很有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    相关资源
    最近更新 更多