如何使关键警报在ios与世博sdk42管理

dzjeubhm  于 2023-03-31  发布在  iOS
关注(0)|答案(2)|浏览(144)

我已经为我们当地的消防站创建了一个应用程序,在紧急情况下可以推送通知。这与预期的一样有效。现在,苹果批准了关键警报授权请求,我想集成此功能。
问题是,我找不到一种方法来请求应用程序中的关键警报权限。我尝试了以下方法来获得权限...

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)应用程序中工作吗?

xeufq47z

xeufq47z1#

所有的配置步骤都是完全确定的.没有错.有一天,我们得到一个新的应用程序用户,他被要求安装后接收关键警报.所以现在我删除了我的应用程序完成从我的手机,并重新安装它.
就是这样。现在我也收到了关键警报请求,一切正常。
我在app.json中的配置看起来像这样:

"ios": {
  "infoPlist": {
    "com.apple.developer.usernotifications.critical-alerts": 1
  },
  "entitlements": {
    "com.apple.developer.usernotifications.critical-alerts": true
  }

如果苹果批准了你的关键警报请求,并且你的配置没有问题,所有都必须按预期工作。

wnavrhmk

wnavrhmk2#

问题是,如果用户已经授予了通知权限,则无法请求criticalAlerts的权限。
所以解决这个问题的唯一方法是重新安装应用程序。
我希望世博会能找到妥善处理这件事的方法

相关问题