有没有办法在实际有意义时提示用户启用推送通知?换句话说,不要在应用程序第一次启动时提示用户启用推送通知(使用应用程序委托(delegate)中的代码),而是将提示延迟到应用程序中的特定点之后(例如,发布演练)。
我见过几个应用程序可以做到这一点,包括 Google Photos 和 Uber,但我不清楚哪一段代码实际上触发屏幕上的对话框,以及是否可以将其放置在应用程序中的任何位置。我假设它是以下内容(在 Swift 中):
UIApplication.sharedApplication().registerForRemoteNotifications()
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
application.registerUserNotificationSettings(settings)
最佳答案
将以下代码放置在您认为正确的应用程序中的任何位置(即应用程序委托(delegate)之外的位置),以提示用户启用通知:
UIApplication.sharedApplication().registerForRemoteNotifications()
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil)
application.registerUserNotificationSettings(settings)
要处理各种情况,您可以follow这个答案/线程。
关于ios - apns - 如何提示用户仅在相关时启用推送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35968613/