SheykVit
У нас именно так. То есть в любом состоянии приходит.
Eugene
на экспо?
Eugene
на андроиде?
SheykVit
экспо, да
SheykVit
и андроид и айос
Eugene
может есть какаие-то скрытые настройки? ну типа что-то что мы забыли учесть?)
Eugene
я провел даже просто через https://expo.io/notifications
SheykVit
там три состояния есть: приложение на переднем плане, свернуто и закрыто. Вы все обрабатываете случаи?
Eugene
как только в андроиде в списке активных приложений жму "очистить" всё.. уведомления не приходят в принципе
Eugene
хм.. не знал что там делится на состояния
Eugene
нет под рукой ссылочки на эту подробность?
SheykVit
Комп не включен. Потом скрин сделаю скину
Eugene
большое спасибо)
Eugene
а то вопрос жизни и смерти проекта)
SheykVit
большое спасибо)
ты делал к в доках написано?
SheykVit
https://docs.expo.io/versions/latest/guides/push-notifications/
Eugene
ну типа да.. по мануалу
Eugene
я не понимаю где подвох)
SheykVit
я не понимаю где подвох)
А событие _handleNotification срабатывает вобще, когда отправляешь пуш?
Eugene
видимо нет. а разе должно при закрытом приложении?
SheykVit
должно при тапе на пуш
Eugene
нету пуша в телефоне
Eugene
не приходит
Eugene
но если запускаю приложение то приходит
Eugene
если приложение на фоне висит то тоже приходит
Eugene
если выключаю экран то ничё не приходит. а как включаю то вижу что уже пришло ну либо оно мгновенно в этот момент приходит
Eugene
андроид 10 если это конечно важно
Vitaliy
андроид 10 если это конечно важно
Да, это важно. Почти с каждой версией что-то меняется в системе. Если протестировать на чистом андроиде 5 версии - наверняка практически всё работает. После api26 (8 версии) начали закручивать гайки по использованию батарейки, стало сложнее. Разных состояний у приложения на android (критично для пушей) 4 а не 3 - его можно просто закрыть (выкинуть из списка недавних) а можно остановить полностью (force kill в настройках), при этом в force kill никакие сообщения не будут доставлены пока пользователь не запустит приложение. Некоторые вендоры и разработчики кастомных оболочек обрабатывают стандартное закрытие приложения как force kill - в этом случае тоже доставки пушей в закрытое приложение не будет. Для того чтобы разбудить закрытое приложение может сработать high priority пуш (но там свои ограничения, на последних версиях до 5 - 10 в день максимум, подробнее в документации, ссылка внизу), чистые нотификации без данных (с полями title, message) по идее должны нормально отображаться и без запуска приложения рекомендую еще посмотреть https://developer.android.com/topic/performance/power/power-details https://dontkillmyapp.com/
Макс
Ребят те кто углубленно работал с LayoutAnimation или долго работал с этим, ответьте пожалуйста на это сообщение или отпишите в лс у меня есть не простой вопрос по этому
Макс
Может лучше просто вопрос написать здесь? )
Я писал, откликнулись, но сами не работали долго с этим, поэтому мне нужны опытные в этом деле люди чтобы задать вопрос
SheykVit
Привет. У меня вопрос к тем кто юзает expo. Есть компонент ImagePicker и у него есть метод для вызова камеры. Как мне на камеру наложить рамку, чтоб фото обрезалось по этой рамкн в момент сьемки?
Gena
Т.е. вы хотите невозможного.
Макс
LayoutAnimation глобален. Вы просто задаёте конфиг, который начинает работать на следующий "фрейм"
из-за того что он глобален он может перекрывать другие анимации своей?
Макс
LayoutAnimation глобален. Вы просто задаёте конфиг, который начинает работать на следующий "фрейм"
в моем случае он перекрывает своей анимацией все другие которые работают или с Animated API или с LayoutAnimation
Gena
из-за того что он глобален он может перекрывать другие анимации своей?
Он не перекрывает, он их заменяет. Но только LayoutAnimation. С обычными он не должен никак интерферировать.
Макс
Он не перекрывает, он их заменяет. Но только LayoutAnimation. С обычными он не должен никак интерферировать.
а в каких кейсах порекомендуешь использовать LayoutAnimation? или его в таком случае не имеет смысла юзать
Gena
Почему, я использовал в чате, к примеру чтоб сделать поведение "как в телеграм" - переход в режим редактирования сообщений, когда весь список как бы сдвигается в право а слева появляются чекбоксы.
Gena
Но это была одна анимация на весь экран
Andrey
коллеги, всем привет! Кто-нибудь realm прикручивал в RN приложение?) у вас debug режим не отвалился после этого?=)
Gena
Но весь механизм LayoutAnimation - это конечно один большой хак. И он тут только из-за того, что обычный Animation работает в UI треде и не может анимировать никакие layout св-ва (width/height/left/...) просто потому, что процесс лэйаута вытащен в отдельный от UI тред.
Gena
В нативе (и в iOS и в Android) все анимации выглядят одинаково и работают в UI треде. Так и в RN должно быть, но при текущей архитектуре это невозможно.
Gena
С LayoutAnimation надо ещё иметь ввиду. Они вызывают баги при добавлении/удалении детей во вьюхи с removeClippedSubviews=true. А в андроид это включено по дефолту в виртуализованных списках.
Gena
И там смешно в итоге. В iOS выключен removeClippedSubviews (как раз из-за этого), но включены LayoutAnimation. А в Android наоборот, включен removeClippedSubview, но выключены LayoutAnimation. )
Макс
И там смешно в итоге. В iOS выключен removeClippedSubviews (как раз из-за этого), но включены LayoutAnimation. А в Android наоборот, включен removeClippedSubview, но выключены LayoutAnimation. )
спасибо тебе огромное за твой фидбэк, я искал всю это информацию около недели, но ты рассказал всю полезную выжимку, очень тебе благодарен!
Vitaliy
коллеги, всем привет! Кто-нибудь realm прикручивал в RN приложение?) у вас debug режим не отвалился после этого?=)
https://github.com/realm/realm-js/issues/2070 https://github.com/realm/realm-js/issues/491 это старая история. вроде что-то в 2.28.0 должны были пофиксить, но тут точно не скажу, давно не проверял. в качестве workaround-способа - использовать safari develop вместо chrome для логов JS из симулятора IOS, но там сильно меньше возможностей.
Макс
И там смешно в итоге. В iOS выключен removeClippedSubviews (как раз из-за этого), но включены LayoutAnimation. А в Android наоборот, включен removeClippedSubview, но выключены LayoutAnimation. )
остался только один вопрос, анимировать layout свой-ва width и height возможно только с LayoutAnimation или можно найти какие-то либы чтобы на одном скрине при надобности я мог анимировать высоту у одного компонента и ширину у другого?
Gena
Проглядел контекст значит, спасибо большое, все понял)
Не, это я стормозил, т.к. в коде рылся и для меня очевидно. Причина проста, цикл лэйаута в RN, тот самый который в отдельном треде, написан так, что его невозможно расширять извне. Поэтому возможна только одна реализация анимаций в нем - та, которая в самом RN, т.е. LayautAnimation
PAPAPEPAGEMABODY
Ребят возникла проблема. Я использую react-native-push-notification при клике на сообщение метод onNotification срабатывает на ios, а на android при получение сообщения, как обработать клик по сообщению на android????
Jurij
Всем привет. Вопрос тривиальный, но как запретить всплытие onPress?
Jurij
e.stopPropagation(); по-моему не работает...
Maxim 📱 D
я кое что написал, чтобы норм работать с андроидовскими системными вьюхами и вырезами, можешь попробовать, может быть, то что надо: https://github.com/greenfrvr/react-native-window-guard
у меня одного она плохо работает?) сейчас релиз для иос собрал, приложение за рамки ушло, в дебаге норм. Андроид лишние рамки добавляет, после того как клавиатура выезжает вроде встает на место
Maxim 📱 D
SafeAreaView из react-navigation так не багает
Макс
Ребят вопрос такой, чем больше анимаций я закину в Animated.parallel([...]) тем больше будет лагать?, или я что-то упустил и это можно оптимизировать?
Alexsandr
нет конечно) может еще как
+ ты можешь анимировать только те проперти которые тебе нативка разрешает)
Макс
покажешь что за анимашка, к каждой свой подход
могу видео заснять если нужно, но я анимирую width и opacity
Alexsandr
могу видео заснять если нужно, но я анимирую width и opacity
опасити можно использовать с nativeDriver, а width нельзя
Макс
опасити можно использовать с nativeDriver, а width нельзя
Я так понял что все что можно в LayoutAnimation то NativeDriver не помочь с анимацией
Макс
покажешь анимашку ?
так выглядит код компонента
Alexsandr
тебе нужно решать это через position: absolute у желтого блока
Alexsandr
и юзать useNativeDriver
Alexsandr
тогда не будет лагать