代码之家  ›  专栏  ›  技术社区  ›  RickiG

使用城市飞艇服务(iPhone)的应用程序推送通知策略

  •  2
  • RickiG  · 技术社区  · 15 年前

    我正在构建一个应用程序,它使用优质的城市飞艇API发送用户推送通知。

    应用程序跟踪用户添加到应用程序中的事件日期。 这意味着我没有合适的服务器来处理推送,应用程序本身 当用户添加事件日期和时间时,使用Urban调度推送通知。

    如果用户决定在事件发生之前删除事件,我将使用Urban AS取消计划。一切都很好。但是,我不想向已禁用通知的用户发送通知,因为这些通知不可用:)

    我知道来自苹果的推送通知API可以确保用户在设置中将其关闭时不会收到任何通知。他们只会忽略城市中发送的预定通知,这是浪费带宽和金钱。

    如何判断用户是否已禁用我的应用程序通知?

    另外,除了测试用户是否关闭了通知,然后告诉Urban取消所有通知,如果用户重新打开了通知,我将不得不浏览所有事件并重新安排它们:每次应用程序运行时。

    有人能想出一种方法让我不用在AppDelegate中填充各种条件代码来测试这些场景吗? 例如,用户自上次运行应用程序以来已关闭推送,用户自上次以来已将其打开。我还担心用户是否会理解这种行为?

    我想我只是想了解一下这种推进式/城市飞艇设置的最佳实践:) 谢谢。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Ole Begemann    15 年前

    依我看, [[UIApplication sharedApplication] enabledRemoteNotificationTypes] 将返回用户当前为您的应用程序启用的通知类型。

    否则,你是对的。您必须在每次应用程序启动时调用此方法,并且在用户重新启用通知的情况下,重新安排以前删除的所有事件。

    关于用各种条件填充应用程序委托的问题,您可能需要编写一个单独的pushNotificationsController(不是uiviewController,只是一个nsObject子类),它将处理所有与推送相关的内容。