0

@aws-amplify/pushnotification から PushNotification.onNotification を次のようにセットアップします。

      if (notification.foreground) {
        console.log('notification received in foreground ', notification);
      } else {
        console.log('notification received in background ', notification);
      }

      if (PushNotificationIOS !== undefined) {
        notification.finish(PushNotificationIOS.FetchResult.NoData);
      }
    });

Androidでは問題なく動作しています。iOS では、通知を受け取りますが、onNotification/onNotificationOpened イベントをトリガーできません。Pinpoint -> Test Messaging を介して「標準メッセージ」を送信すると、実際に関数がトリガーされる特別なケースがあり、通知をログに記録すると、次のようになります。

'notification received in background ', 
{ _data: 
{ remote: true,
notificationId: '45BAA2A6-8676-402E-8E6B-03A69173AC8C' },
_remoteNotificationCompleteCallbackCalled: false,
_isRemote: true,
_notificationId: '45BAA2A6-8676-402E-8E6B-03A69173AC8C',
_alert: { title: ' test', body: 'qwerty' },
_sound: undefined,
_badgeCount: undefined,
_category: undefined,
_contentAvailable: 1,
_threadID: undefined }

(通知はフォアグラウンドで受信されましたが、メッセージにはその情報が含まれていないため、バックグラウンドとして出力されます。Pintpoint -> テスト メッセージング -> 標準メッセージを使用すると、フォアグラウンド/バックグラウンドの両方でイベントがトリガーされます)。また、Raw メッセージの特定も機能しません。SNS 同一/カスタム ペイロードが機能しない。

https://github.com/react-native-push-notification-ios/push-notification-ios#augment-appdelegateに従って AppDelegate を拡張しました

イベントをトリガーするために、増幅が特定のペイロードを期待しているかどうかは誰にもわかりますか? または、他の何かがこれを引き起こしている可能性がある場合..?

これまでにテストされた構造:

SNS カスタム構造

  "APNS_SANDBOX": "{\"aps\":{\"alert\":\"Sample message for iOS development endpoints\"}}"
}

生メッセージの特定

{
    "APNSMessage": {
        "aps": {
            "alert": ""
        }
    },
    "GCMMessage": {
        "data": {
            "message": ""
        }
    },
    "ADMMessage": {
        "data" : {
            "message": ""
        }
    },
    "BaiduMessage": {
        "title":"",
        "description": ""
    }
}
4

1 に答える 1