如何判断推送通知是尚未注册还是已关闭?
Posted
技术标签:
【中文标题】如何判断推送通知是尚未注册还是已关闭?【英文标题】:How can I tell whether push notification is not registered yet or has been turned off? 【发布时间】:2018-04-28 01:18:52 【问题描述】:更具体地说,我想知道我的应用程序的推送通知设置是否在设置应用程序中可用。 如果它们可用,我想从我的应用程序中打开它(使用深层链接)。 如果不是,我想请用户在我的应用中注册推送通知。
我尝试检查UIApplication.shared.isRegisteredForRemoteNotifications
,但两种情况都返回false。
我需要支持 ios 9 及更高版本。
【问题讨论】:
【参考方案1】:您不需要注册远程通知的权限;你可以做到。
您需要获得许可的是显示通知。无论是显示本地通知还是远程通知,权限请求都是一样的。
【讨论】:
查看official 和raywenderlich.com 等推送通知指南,首先使用UNUserNotificationCenter.current().requestAuthorization
请求权限。您的意思是在执行此操作之前可以在“设置”应用中提供推送通知设置吗?
先请求是有道理的,因为如果用户不授予权限,您可能不会费心注册通知,但如果您已注册但未请求显示任何内容的权限,您仍然可以收到静默通知。请注意您使用的方法是RegisteredForRemoteNotifications - 它与您是否已注册有关,而不是与权限有关。您使用UNUserNotificationCenter
检查显示通知的权限
谢谢,我想我明白了!我这周正在休假,可能要到下周才能试用。以上是关于如何判断推送通知是尚未注册还是已关闭?的主要内容,如果未能解决你的问题,请参考以下文章
如何确定用户是不是尚未注册接收推送通知和/或他们的设置是不是被禁用