iOS 重要通知的设置(critical-alerts)

app中有这样的需求当app处于静音或者开启勿扰模式后可以收到紧急的通知提醒,例如:心率异常等

一、Critical alerts require a special entitlement issued by Apple.(紧急警报需要苹果公司授予的特殊授权。)

授予权限还是有些要求的,这些为苹果考虑到用可能到此功能的分类:Healthcare(医疗保健)、Public Safety(公共安全)、Personal Safety and Security(个人安全)、Enterprise In-house(企业内部)、Other(其他分类也可描述使用场景)
需要填写:
1.app类型
2.描述你的app
3.发送紧急通知的消息类型
4.紧急通知的频率
5.解释为什么需要用到紧急通知及功能设计过程
Request a Critical Alert Notifications Entitlement
等待些许时日后会收到申请成功的邮件

Hello,

Thanks for your interest in the Critical Alerts API.

We added a new template containing the Critical Alerts entitlement to your team's developer account.

To use this special entitlement you must create a new provisioning profile in the Certificates, Identifiers & Profiles section of your developer account

然后我们登录自己的开发者账号创建开发或者发布的provisioning profile证书最后就多了一个这样的选项

截屏2021-01-29 上午11.20.49.png
证书就可使用了

二、Xcode配置

critical alerts 只支持iOS12.0以上的系统,在设置UNUserNotificationCenter中增加criticalAlert

let notificationCenter = UNUserNotificationCenter.current() 
notificationCenter.requestAuthorization( 
 options:[.sound, .badge, .alert, .criticalAlert]) { 
}

然后在app.entitlements中增加keycom.apple.developer.usernotifications.critical-alerts类型为boolean 并将值设为1
使用我们刚刚创建的provisioning profile证书运行demo,可看见app中多了

IMG_0856.PNG

在iPhone手机设置的app通知设置中多了“允许重要警告”的开关
IMG_0857.PNG

三、 Critical alerts APNS 格式
{ 
 "aps" : { 
 "sound" : { 
 "critical": 1, 
 "name": "warning-sound.aiff", 
 "volume": 1.0 
 } 
 } 
}

参考:
https://developer.apple.com/wwdc18/710
https://developer.apple.com/library/archive/technotes/tn2415/_index.html#//apple_ref/doc/uid/DTS40016427-CH1-INTRODUCTION-SCOPE

你可能感兴趣的:(iOS 重要通知的设置(critical-alerts))