使用Urban Airship服务推送应用程序的通知策略(iPhone)

时间:2010-03-23 16:37:34

标签: iphone push-notification urbanairship.com

我正在构建一个使用精美Urban Airship api发送用户推送通知的应用程序。

该应用程序会跟踪用户添加到应用程序的事件日期。 这意味着我没有服务器来处理推送,应用程序本身就是这样 当用户添加事件日期和时间时,使用Urban AS安排推送通知。

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

我知道Apple推送通知API可确保用户在设置中关闭它们时不会收到任何通知。他们只会忽略Urban AS发送的预定通知,这会浪费带宽和金钱。

如何判断用户是否已停用我应用的通知?

此外,除了测试用户是否已关闭通知然后告知Urban AS取消所有通知以及用户是否重新打开时,我认为没有别的选择,我将不得不经历所有事件并重新安排他们:/每次应用程序运行。

有人可以想办法让我不必用各种条件代码来填充我的appDelegate来测试这些场景吗?,例如用户自上次运行应用程序后关闭了推送,用户自上次启用后将其打开。我也担心用户是否会理解这种行为?

猜猜我只是想通过这种推/ Urban Airship设置来进行一些最佳练习:) 感谢。

1 个答案:

答案 0 :(得分:1)

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

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

关于用各种条件填充app委托的问题,你可能想要编写一个单独的PushNotificationsController(不是UIViewController,只是一个NSObject子类)来处理所有与推送相关的东西。