【问题标题】:Push Notification Strategy for App using the Urban Airship service (iPhone)使用 Urban Airship 服务的 App 推送通知策略 (iPhone)
【发布时间】:2010-03-23 16:37:34
【问题描述】:

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

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

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

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

如何判断用户是否禁用了我的应用的通知?

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

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

我想我只是要求一些有关此推送/城市飞艇设置的最佳实践:) 谢谢。

【问题讨论】:

    标签: iphone push-notification urbanairship.com


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢奥莱。是的,我一定会把它放在它自己的控制器中。我的意思是,当 appDelegate 收到 applicationDidFinishLaunching 消息时,我会测试大量其他内容。我会看看我是否可以想出一些轻量级的东西来跟踪用户从发布到发布的推送偏好并采取相应的行动。再次感谢您的意见。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多