Я использую firebase в своем реактивном проекте (с машинописью), я все правильно настроил, и он отлично работает с data
сообщениями, как показано ниже:
{
"to": "fcm-token",
"data": {
"field1": "value1",
"field2": "value1",
"field3": "value1"
}
}
в моем приложении, я могу получить доступ к своим данным, используя data
поле RemoteMessage
, как показано ниже:
const data: MyDataType = remoteMessage.data;
const {/* destructed fields */} = data;
Но , когда мой сервер отправляет вложенный Объект на сервер FCM, он преобразует их в строку, и поэтому я не могу получить к ним прямой доступ, как указано выше.
вот что мой сервер отправляет на сервер FCM:
{
"to": "fcm-token",
"data": {
"field1": {
"subfield1": "subvalue1",
"subfield2": "subvalue2",
},
"field2": "value1",
"field3": "value1"
}
}
и вот что я получаю в своем приложении:
{
"to": "fcm-token",
"data": {
"field1": "{"subfield1": "subvalue1","subfield2": "subvalue2"}", <--- the problem is here, it must be a nested object not string
"field2": "value1",
"field3": "value1"
}
}
Я установил заголовок Content-Type
на application/json
в моих почтовых запросах к серверу, поэтому я не думаю, что с заголовками есть какие-либо проблемы.
Я что-то не так делаю? Как я могу запретить FCM конвертировать мои вложенные объекты?