Я пытаюсь создать приложение, которое может получать push-уведомления.Push-уведомления отправляются с использованием AWS SNS
и токена FCM
вместо Expo's Token
.Уведомления были получены, однако, каждое уведомление было получено дважды в системном трее.Я пытался использовать телефон без установленной экспо, но он все еще получил 2 уведомления.
это мой запрос полезной нагрузки при отправке на SNS
{
"GCM": "{ \"notification\": { \"text\": \"test message\" } }"
}
Есть идеи, почему это происходит?Я готов предоставить код, однако я понятия не имею, какую часть я должен поставить.Вот один пример.Название приложения такое же, но в первом уведомлении есть логотип выставки. update : после отправки через консоль firebase я понял, что уведомление с иконкой expo является правильным.
EDIT : после попытки отправить уведомление с консоли firebase,Мне удалось получить только 1 уведомление.Проблема в SNS?
РЕДАКТИРОВАТЬ [2] Я взглянул на свой журнал Cloudwatch Log для приложения платформы SNS.А метрики NumberOfMessagesPublished
предполагают, что опубликовано только 1 сообщение.Таким образом, я предполагаю, что это исключает возможность вызова API SNS дважды.
EDIT [3] Я пытался использовать пакет go-fcm
для прямой отправки уведомления в fcm.Я получил 2 уведомления даже без использования SNS.Но почему отправка уведомления в fcm напрямую имеет другой выход, чем при использовании консоли Firebase?
![enter image description here](https://i.stack.imgur.com/NLVKa.jpg)
ОБНОВЛЕНИЕ
Наконец, мне удалось заставить его работать, установив поле tag
в поле notification
для предотвращения дублирования.
Таким образом, полезная нагрузка выглядит следующим образом:
{
"GCM": "{ \"notification\": { \"text\": \"test message\", \"tag\": \"testing\" } }"
}
Однако этодо сих пор не отвечает на вопрос, почему я получил дубликаты: (