iOS 重要通知的设置(critical-alerts)
2021-01-29 本文已影响0人
astring
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证书最后就多了一个这样的选项
二、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中多了
在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