169 похожих чатов

Всем доброго дня! Возник вопрос по работе с @react-native-firebase/messaging 7

версии как нужно правильно обрабатывать сообщения в background. Так как сейчас когда приложение получает push уведомление с данными, они обрабытываются в отдельном потоке в background. Опишу пример, чтобы ситуация стала немного понятей.

У меня есть чат с 2-мя собеседниками - чат 1 и чат 2. По нажатию на конкретный push мне нужно открыть соответсвующий чат. Мне приходит push из чата 1, показывается в шторке. Я обрабываю его и, к примеру, записываю данные из него в AsyncStorage. Приходит push из 2-ого чата. Я аналогично его обрабатываю. Теперь вопрос. Как я могу понять по нажатию на push из 1-ого чата, что мне нужно открыть именно 1-ый чат при открытии?

Никаких параметров, по какому уведомлению кликнул пользователь я не нашел в доке. Может кто-то уже сталкивался с подобной ситуацией?

6 ответов

16 просмотров

в сообщении только title/message или еще какой payload есть? может по тем данным как-нибудь можно?

Khorark- Автор вопроса
Vitaliy Ponomarev
в сообщении только title/message или еще какой pay...

В сообщение есть payload c данными. Проблема в том, что когда я кликаю на push из шторки, то у меня просто запускается приложение. Далее во flow запуска у меня уже встроен хук, который достаёт данные из AsyncStorage по ключу, и если они есть, то открывает экран. Вот только на какой push я нажал, информации нет. Может человек уже смахнул 2-ой push, а данные в AsyncStorage до сих пор о нём есть. Когда работал с 6 версией, там обработка происходила по другому. Ставился обработчик в коде, и когда запускалось приложение по клику на этот push, то в этот обработчик приходил именно тот payload, по которому человек кликнул из шторки. В 7 версии процесс обработки push-ей переделали и вот теперь у меня возникла проблема, которую пока не знаю как решить.

Khorark
В сообщение есть payload c данными. Проблема в том...

а вот это уже выпилили? https://rnfirebase.io/reference/messaging#onNotificationOpenedApp не могу доку по 7 найти что-то

Khorark- Автор вопроса
Khorark- Автор вопроса
Vitaliy Ponomarev
а вот это уже выпилили? https://rnfirebase.io/refe...

Вроде есть, завтра попробую. Странно, что в общей доке они убрали это. Спасибо за помощь, надеюсь будет работать как раньше👍

Khorark- Автор вопроса
Vitaliy Ponomarev
а вот это уже выпилили? https://rnfirebase.io/refe...

Эта штука не работает, если приложение выгружено из памяти. Только если оно находится в background😔 Так что вопрос остается открытым - Как понять по какому уведомлению тапнул пользователь, если приложение закрыто.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта