Stas
попробую
Alexandr
почитал бы сначала про try catch
Я и не говорил, что я тру... изначально код из туториала использовал, потом вставил тот, который мне выше отправили -_-
Aynur
но это база, основа основ🤔
Alexandr
но это база, основа основ🤔
база базой( но разобраться не могу(
Deleted Bird
Hi guys I find a awesome rn sdk which can help u build live video in easy way. https://github.com/syanbo/react-native-agora/
Dmitry
база базой( но разобраться не могу(
лять тебе говорят не про базу, а про основу языка
Eugene
🤔а vscode такие ошибки не подсвечивает? или нужен eslint для этого?
NG
Стоит ли использовать react-native-threads для вычислений типа фильтрации полученных данных?
Артем
всем привет, использую react-navigation, и как заставить компонент при переходе на него все время делать fetch. Просто он длеает запрос только когда первый раз на него захожу, а потом нет.
Aynur
вообще у react-navigation есть onfocus, но вроде это не рекомендуется юзать
Артем
NavigationEvents такую хрень использую
Артем
но получается немного убого
Aynur
https://reactnavigation.org/docs/en/with-navigation-focus.html
Aynur
вроде оно
Артем
сначала на странице старые данные
Aynur
а нет, не оно)
Артем
а потом новые ставятся
Артем
а мне хотелось бы, чтобы при переходе сразу запрос был и новые данные
Vitaly
а нет, не оно)
да вроде оно, в дидапдейте проверять на смену пропса
Vitaly
а мне хотелось бы, чтобы при переходе сразу запрос был и новые данные
в сочетании с withNavigationFocus, что-то такое componentDidUpdate(prevProps) { if (this.props.isFocused === true && this.props.isFocused !== prevProps.isFocused) { } }
Артем
cпасибо
Alexander
Почему KeyboardAvoidingView себя ведет неадекватно со scrollview? Если открыть поле и при этом произойдет скролл, то offset улетает в неизвестном направлении. Да и вообще offset некорректно ведет себя
Alexander
Андроид?
Да. Да и на iOS не несколько пикселей гонит
Kto?
На андроиде он неадекватно работает, даже в доках указано это
Kto?
На иос у меня все нормально
Kto?
На андроиде он неадекватно работает, даже в доках указано это
Поэтому на андроиде не советуется его юзать
Kto?
В 0.59 должны были поправить
Eugene
товарищи, юзаю react-native-firebase - отправляю notificifation с token в форме на сайте в cloud messages, на симуляторе срабатывает- firebase.messaging().onMessage( и показыввает console.log А на девайсе ничего не происходит, куда копать 🤔 Разрешение на получение уведомлений включенны
Serge
А, забейте, невнимательно прочел.
Eugene
и/или перерегистрировать пуш-айди. А как это сделать? 🤔 да я уже пробовал запускать и релиз билд, и дебаг билд
Serge
и/или перерегистрировать пуш-айди. А как это сделать? 🤔 да я уже пробовал запускать и релиз билд, и дебаг билд
Получить токен устройства. (На react-native-firebase 4.x.x это делается через `firebase.messaging().getToken()`), убрать какие токены у вас есть в консоли, и добавить свежеполученный.
Serge
@HellPirate скажите, а как вам удалось добиться работоспособности пушей на симуляторе? Они даже при закрытой аппе работают?
Eugene
Они не работают, вроде. Срабатывает listener this.messageListener = firebase.messaging().onMessage((message: RemoteMessage) => { console.log(message) // Process your message as required })
Eugene
🤔когда отправляю сообщение по токену из симулятора - срабатывает этот listener
Евгений
Всем привет. Может кто подсказать? Запускаем приложение через react-native run-android, оно работает, все хорошо, но при преводе его в Debug JS Remotely приложуха "замерзает". В отладчике хрома тоже тишина. Не реагирует на нажатия. При этом можно опять вызвать меню и выйти из дебага и все работает. На macOS запускаем. На Linux-е все работает нормально. Куда копать?
Serge
🤔когда отправляю сообщение по токену из симулятора - срабатывает этот listener
Тогда извиняйте, ничем не помогу. Знаний не хватает уже по теме.
Eugene
🤔когда отправляю сообщение по токену из симулятора - срабатывает этот listener
А когда на девайсе - не срабатывает Странно, да. Пойду дальше копать.
Serge
А когда на девайсе - не срабатывает Странно, да. Пойду дальше копать.
Успехов. Отпишитесь потом, как решите проблему :3
Eugene
на девайсе в таком же режиме что и на симуляторе проверяете ? (foreground/background/killed)
Да, все время в foreground.(а на симуляторе можно иначе? там вроде бандлер отвалится же?) На девайсе пробовал в разных режимах. Пустота
Андрей
Здравствуйте Господа! я с Вами!
sanqa
как вы отлаживаете веб сокеты ? в дебагере в вкладке нетворк пусто
Eugene
Успехов. Отпишитесь потом, как решите проблему :3
Сертификаты были не правильно настроенны для пушей 🙂🙂🙂
Олег
всем привет, может кто-то юзал https://github.com/react-native-community/react-native-google-signin? под IOS совсем не хочет запускаться
Serge
Сертификаты были не правильно настроенны для пушей 🙂🙂🙂
👍 Спасибо, что отписались! И круто, что починили.
Eugene
🤔вернусь к теме токенов в firebase. Это наверное не совсем про rn, но все же, или может есть чатик по firebase?:) У токена есть время жизни?🤔 И как мне их отправлять на бекенд.(чтобы потом по конкретным юзерам отправлять) То что девайс = токен и у юзера может быть много разных токенов (в зависимости от девайса) 🤔и можно как-то детектить что пользователь удалил приложение? И как? Не хотелось бы отправлять нотификейшены в пустоту
Yurii
времени жизни замечено не было. Токен это строка так что можно отправлять на бекенд без проблем и отправлять всё оттуда. У каждого девайса действительно свой токен потому в моём проекте было удобно подвязывать токен файербейза к сессии авторизации.
Yurii
насчёт удаления приложения, вряд ли
Yurii
и отправлять нотификейшены в пустоту вряд ли стоит бояться. Файербейз должен эти ситуации разруливать
Eugene
Просто собираюсь написать что-то типа ТЗ для бекендера, пытаюсь разузнать такие тонкости 🤔
Serge
Чтоб приложение раз в день отправляло heartbeat. Если не отправило -- токен удалять.
Yurii
это вынуждает добавлять фоновый таск на случай если юзер не открывал само приложение
Yurii
оно того не стоит, как по мне :)
Serge
Хотя не, это не "свидетельства канарейки", а "доказательство жизни".
Serge
это вынуждает добавлять фоновый таск на случай если юзер не открывал само приложение
Если пользователь неделю не открывал аппу, то можно перестать ему слать пуши. А если открыл, то снова их активировать. Чем не решение?
Eugene
🤔Может в случае отправки бекендом в firebase на нейзвестный токен, оно среагирует как-то, не знаю. Надо погуглить
Serge
По крайней мере, это лучше, чем вообще никогда токены не чистить.
Eugene
Хм, а еще же токен дается даже без включение функции "Получать уведомления".
Serge
Токен дается, но уведомления не будут показываться, пока не разрешат, так получается?
Yurii
в нашем проекте токены умирали вместе с сессиями вроде спустя месяц или около того
Yurii
именно так
Yurii
никаких проблем не было замечено
Serge
в нашем проекте токены умирали вместе с сессиями вроде спустя месяц или около того
+ Сделать время жизни типа "месяца с последнего запроса".
Serge
Аппа же кучу запросов делает. Можно цеплять айдишник в хэдерах и продлевать его жизнь при каждом запросе.
Eugene
Вот думаю как вариант отправлять при заходе в аппу сообщения токен на бекенд. И на бекенде мб пусть стоит время жизни его. 🤔 например месяц
Gena
🤔вернусь к теме токенов в firebase. Это наверное не совсем про rn, но все же, или может есть чатик по firebase?:) У токена есть время жизни?🤔 И как мне их отправлять на бекенд.(чтобы потом по конкретным юзерам отправлять) То что девайс = токен и у юзера может быть много разных токенов (в зависимости от девайса) 🤔и можно как-то детектить что пользователь удалил приложение? И как? Не хотелось бы отправлять нотификейшены в пустоту
- время жизни есть, иногда он обновляется на девайсе (firebase диспатчит нотификейшн, надо его ловить и слать на сервер новый токен) - отправлять на бэк не важно как... - да, у юзера может быть много токенов - удаление приложение отдетектить нельзя Мы вот так с токенами работаем init() { messaging().onTokenRefresh((token) => { if (this.token !== token) { this.token = token this.sent = false this.trySendToken() } }) Promise.resolve(messaging().getToken()).then((token: string) => { this.token = token this.sent = false this.trySendToken() }) } private trySendToken() { if (this.api && this.token && this.auth) { if (!this.sent) { this.api.send('ProvidePushToken', { token: this.token }) this.sent = true } } }
Serge
- время жизни есть, иногда он обновляется на девайсе (firebase диспатчит нотификейшн, надо его ловить и слать на сервер новый токен) - отправлять на бэк не важно как... - да, у юзера может быть много токенов - удаление приложение отдетектить нельзя Мы вот так с токенами работаем init() { messaging().onTokenRefresh((token) => { if (this.token !== token) { this.token = token this.sent = false this.trySendToken() } }) Promise.resolve(messaging().getToken()).then((token: string) => { this.token = token this.sent = false this.trySendToken() }) } private trySendToken() { if (this.api && this.token && this.auth) { if (!this.sent) { this.api.send('ProvidePushToken', { token: this.token }) this.sent = true } } }
> - время жизни есть, иногда он обновляется на девайсе (firebase диспатчит нотификейшн, надо его ловить и слать на сервер новый токен) А разве там не один токен на связку устройство-установка? Недавно читал где-то инфу, что изменить этот токен можно только полной переустановкой приложения. А если установлены несколько приложения одного автора (или что-то такое), то токен ресетнется только при удалении всех связанных приложений.