我已经为我们当地的消防站创建了一个应用程序,在紧急情况下可以推送通知。这与预期的一样有效。现在,苹果批准了关键警报授权请求,我想集成此功能。
问题是,我找不到一种方法来请求应用程序中的关键警报权限。我尝试了以下方法来获得权限...
const test = await Notifications.requestPermissionsAsync({
android: {},
ios: {
allowAlert: true,
allowBadge: true,
allowSound: true,
allowAnnouncements: true,
allowCriticalAlerts: true
}
})
console.log(test)
但是在请求响应中,我可以看到“allowsCriticalAlerts”:null,下面是响应:
"ios": Object {
"alertStyle": 2,
"allowsAlert": true,
"allowsAnnouncements": null,
"allowsBadge": true,
"allowsCriticalAlerts": null,
"allowsDisplayInCarPlay": null,
"allowsDisplayInNotificationCenter": true,
"allowsDisplayOnLockScreen": true,
"allowsPreviews": 1,
"allowsSound": true,
"providesAppNotificationSettings": false,
"status": 2,
},
"status": "granted",
}
有人有办法让它在托管的expo(sdk42)应用程序中工作吗?
2条答案
按热度按时间xeufq47z1#
所有的配置步骤都是完全确定的.没有错.有一天,我们得到一个新的应用程序用户,他被要求安装后接收关键警报.所以现在我删除了我的应用程序完成从我的手机,并重新安装它.
就是这样。现在我也收到了关键警报请求,一切正常。
我在app.json中的配置看起来像这样:
如果苹果批准了你的关键警报请求,并且你的配置没有问题,所有都必须按预期工作。
wnavrhmk2#
问题是,如果用户已经授予了通知权限,则无法请求criticalAlerts的权限。
所以解决这个问题的唯一方法是重新安装应用程序。
我希望世博会能找到妥善处理这件事的方法