Я использую Firebase, но я не уверен, что это актуально.
Я пытаюсь отправить тихое нажатие на мое приложение, запущенное в браузере (это одностраничное приложение JS / React), и в соответствии ск документации по Firebase FCM все, что мне нужно сделать, это отправить сообщение с ключом «data».
Однако это не сработает для меня: если в моем сообщении нет ключа «уведомлений», он не получен браузером.
Чтобы проверить это, я запускаю 2 команды curl:
curl -H "Content-type: application/json" -H "Authorization:key=<MYKEY>" -X POST -d '{ "data": { "foo": "1","bar": "2"},"to" : "<TOKEN>", "notification": { "data" : "Some data" } }' https://fcm.googleapis.com/fcm/send
curl -H "Content-type: application/json" -H "Authorization:key=<MYKEY>" -X POST -d '{ "data": { "foo": "1","bar": "2"},"to" : "<TOKEN>" }' https://fcm.googleapis.com/fcm/send
Первая из них поступает в браузер, когда приложение «открыто».и перейдет в центр уведомлений, когда приложение будет «закрыто» (либо вкладка закрыта, либо браузер закрыт).
Второй ничего не достигает (но ответ на вызов curl дает «success»:1, «сбой»: 0)
Что я делаю не так?Это просто не поддерживается WebPush?Я читаю противоречивую информацию онлайн.
Бывают случаи, когда тихий толчок действительно полезен для обновления состояния клиента в браузере.Например, если я создаю приложение чата с каналами / группами, я хотел бы иметь возможность отправлять обновления о состоянии чата клиенту без уведомления пользователя: я не хочу, чтобы пользователь виделНапример, явное уведомление «поверх» при обновлении участников группы чата: я просто хочу обновить его в пользовательском интерфейсе браузера, особенно если приложение находится на переднем плане.