为 iOS 通知自定义 OneSignal 启动按钮

Customizing OneSignal launch buttons for iOS notification

所以我遇到了一个问题: 我正在创建此请求以发送推送通知并仅指定一个附加按钮:

{
...
"buttons":[{"id": "view", "text": "View"}]
}

我也有我的设置

window.plugins.OneSignal.enableInAppAlertNotification(true);

设为真。 当应用程序收到通知时,我正在检查 "view" 按钮是否被按下(因为默认情况下总是显示另一个选项 'Close')——然后我将用户路由到自定义操作:

var notificationOpenedCallback = function(jsonData) {
  if (jsonData.additionalData) {
    if (jsonData.additionalData.actionSelected == "view")
      //custom code executes
  }
}

问题是,当我单击 "Close" 或点击通知栏中的通知时,这两个操作的名称都是“__DEFAULT__”。

有没有办法判断用户是点击了'Close'应用内的通知还是点击了iOS通知中心的通知?因为这是两种完全不同的行为类型。

为了能够区分警报点击和来自通知中心的区别,您需要禁用 enableInAppAlertNotification 并根据 jsonData.isActive 为 [=12= 时显示您自己的警报].