"Мое приложение может получать push-уведомления FCM, отправленные через Postman с моим ключом API, и эти уведомления появляются как на консоли FCM, так и на устройстве"
Из приведенной выше цитаты, поскольку при тестировании с FCM ( Firebase Cloud Messaging ) непосредственно вы получаете push-уведомление на своем устройстве, тогда я подозреваю, что проблема может быть связана сдве вещи, т.е. класс PushListener или тип сообщения push-уведомления. Позвольте мне объяснить :
Когда дело касается push-уведомлений FCM, существует два типа типов сообщений , которые поддерживаются, то есть «Данные или «Уведомление» . Таким образом, консоль FCM / SDK по умолчанию отправляет push-уведомление типа «Уведомление» . Этот тип сообщения обрабатывается FCM SDK автоматически и доставляется в панель уведомлений приложения. С другой стороны, «Данные» сообщения не обрабатываются SDK FCM, и клиентам необходимо обрабатывать сообщения такого типа.
Amazon Pinpoint, в настоящее времяпо умолчанию используется «Данные» тип сообщения для стандартного сообщения, что означает, что клиентское приложение должно реализовывать методы (например, реализовать класс PushListenerClass, который принимает полезную нагрузкуи отображает входящее уведомление в области уведомлений) для обработки полезной нагрузки и принятия действий.
Можете ли вы подтвердить, есть ли в вашем коде приложения класс PushListener? Если нет, то вы можетеобратитесь к следующим статьям, в которых подробно объясняется, как обрабатывать сообщения FCM (уведомления и данные) в Android:
https://www.zoftino.com/android-notification-data-messages-from-app-server-using-firebase-cloud-messaging
https://aws -amplify.github.io /docs / android / push-уведомления
Если вы хотите отправить push-уведомление типа «Уведомление» , тогда вам нужно будет использовать:
RawContent свойство при использовании Pinpoint SDK / REST API / CLI. Свойство RawContent необходимо определить / указать в виде строки в формате JSON, как показано ниже:
'RawContent' : '{"notification":{"title":"TEST PUSH NOTIFICATION","body":"Hello, this is a test push notification!"}}', // If you define 'RawContent' here, everything ("message") else in the "MessageConfiguration" will be ignored.
Свойство RawMessage при использовании консоли Pinpoint, как показано ниже, где вы заменяете «данные» на «уведомление»:
Надеюсь, это поможет!