【问题标题】:ios, Is there a change in push notification authorization callbackios,推送通知授权回调有变化吗
【发布时间】:2015-01-27 18:49:28
【问题描述】:

在 ios 中,如果我在提示时授权或拒绝定位服务,则会立即调用一个委托方法:

- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status;

我想知道是否存在类似的方法来接受或拒绝推送通知。我知道如何提示,以及如何测试状态,但不知道如何在用户接受或拒绝通知后立即执行某项操作。

我想提示用户推送通知,并根据他们的响应执行特定操作,例如以一种或另一种方式重定向 ViewController。

【问题讨论】:

    标签: ios authorization push


    【解决方案1】:

    我对此进行了大量研究,但不幸的是,该接受/拒绝选项的状态似乎完全不透明。

    您可以确定用户没有启用推送通知(使用 UIApplication 的 isRegisteredForRemoteNotifications),但不能为什么没有启用它(即确定它是否是“从不提示”或“提示然后拒绝或以后禁用”状态)。

    我强烈怀疑这是 Apple 有意识的设计决定,目的是让开发者更难追捕选择退出的用户。不过,拥有这些信息是有正当理由的,所以我希望他们将来会重新考虑。

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      您不能这样做,但您可以在每次应用程序进入前台时检查。当您可以在用户打开应用的那一刻采取行动时,这将解决您的问题。

      如果您想在后台执行此操作(例如,如果您想向服务器报告用户已被禁用通知),您可以随时运行一些后台任务(例如“后台获取”)来检查状态。

      【讨论】:

        猜你喜欢
        • 2014-07-18
        • 2021-04-15
        • 2015-01-14
        • 2019-03-14
        • 2023-04-05
        • 2016-06-03
        • 2016-04-13
        • 2016-07-09
        • 1970-01-01
        相关资源
        最近更新 更多