所以我知道我可以确定用户是否禁用了推送通知的徽章和声音
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if(types & UIRemoteNotificationTypeBadge){
NSLog(@"BADGE activated");
}
if(types & UIRemoteNotificationTypeSound){
NSLog(@"SOUND activated");
}
//etc...
但如果用户在
下禁用通知中心,则不会受到影响Settings -> Notifications -> <Appname> -> "Show in Notification Center" to NO
那么如果用户禁用此功能,我如何在我的应用中找到它?我用谷歌搜索了一段时间,发现它不可能,但我不想相信它,所以如果有人知道解决方案,那么在这里分享它会很棒。谢谢!
答案 0 :(得分:0)
文档很清楚:
<强> enabledRemoteNotificationTypes 强>
返回应用程序接受的通知类型。
因此,它会使用方法registerForRemoteNotificationTypes:
您的应用无法看到用户允许的通知类型。
但是,当您为推送通知注册应用时,如果用户允许您的应用注册的通知类型之一,它会触发委托方法application:didRegisterForRemoteNotificationsWithDeviceToken:
。
很奇怪,但如果用户允许通知你会收到通知,但如果他不允许则通知你......
服务器端,Apple会针对失败的推送通知提供反馈。这意味着应用程序不再存在此设备。看The Feedback Service
希望它会对你有所帮助。