ReactNative и что-то остальное – Telegram
ReactNative и что-то остальное
159 subscribers
80 photos
6 videos
2 files
104 links
если тебе не больно, значит ты что-то делаешь не правильно

что-то о React Native и в целом о разработке

буду рад подпискам и донатам
https://boosty.to/mbhusty
https://www.patreon.com/mbhusty

Лс: @mbhusty
Download Telegram
Ну и я наконец допилил свое приложение с календарем гонок F1, статистикой и результатами 🏎

пользователи iOS, велком ту бета-тестинг
https://testflight.apple.com/join/EsmJr3lh

⚡️ReactNative и что-то остальное
🔥8
ReactNative и что-то остальное
что будет ковырять на этот раз?
Всем привет!
В прошлый раз по результатам опроса, 2 место поделили темы:

- Настройка пушей в приложении
- Testing with Jest

А так как я больше ничего не придумал, давайте выберем из них)

Ну или как обычно, свое в комменты 🖖
ReactNative и что-то остальное
выбирайте с умом
Через пару часов завершу голосование, так что еще есть время повлиять на результаты 🤡
ReactNative и что-то остальное
выбирайте с умом
Ну что, у нас есть победитель!

Пойду разбираться с этим вопросом в рамках своего приложения как раз 🖖 Скоро будет пост
👍2🔥1
Всех с пятницей, господа! Всех отпускаю пить пиво 🍻

#пятничный_мем

⚡️ReactNative и что-то остальное
🫡5👏2
Всем привет!
Я совсем закопался в работу и в ближайшую неделю пропаду 🙃

Вы тут не скучайте, побольше отдыхайте, всех с пятничкой, всех обнял 🖖

ps/ по пушам статья в процессе, постараюсь выкатить как вернусь

#пятничный_мем
🔥8
Внезапно!

📟 Push-уведомления и нотификации в RN и работа с ними

Начнем с того, в чем же отличия одного от другого. Честно говоря, до погружения в эту тему, я был уверен, что это одно и тоже)

Итак. Ключевая разница пушей и нотификаций в том, что пуши отправляются на устройство пользователя с внешнего сервера, а нотификации генерятся самим приложением на устройстве (какое-либо событие, напоминание, обновление данных и тд)

Реализация push-уведомлений

Для реализации пушей, я нашел только 2 инструмента на текущий момент:

1. Firebase Cloud Messaging (FCM)

Наверное одно из самых популярных решений на текущий момент для работы с пушами.

Основные плюсы FCM:

Легкая интеграция с приложениями React Native.

Поддержка отправки сообщений с сервера через HTTP и XMPP протоколы.

Возможность сегментации пользователей для точечных уведомлений.


Ставиться просто, в доке все необходимое описано


npm install --save @react-native-firebase/app @react-native-firebase/messaging


2. OneSignal

У сервиса есть несколько вариантов платной подписки, но в бесплатном пакете есть то что нам нужно - Unlimited Mobile Push Sends 🤪

Я его еще не тестил, но вроде как там чуть лучше работает сегментирование, а еще есть поддержка Live Activities (Max 10,000 total push subscribers)


Интеграция OneSignal в React Native осуществляется с помощью библиотеки react-native-onesignal.


npm install react-native-onesignal


Реализация нотификаций

Для работы с локальными нотификациями по сути есть только один инструмент - Notifee, т.к React Native Push Notification уже года 3 не обновлялся

This repository is not actively maintained.


В Notifee есть возможность создавать уведомления по событию и выполнять, когда срабатывают какие-то триггеры

Для своего приложения я как раз использую Notifee, потому что нет отдельного сервера для отправки пушей, а нужно локально на событие генерировать увед и отправлять его.

Пока не понял, почему на эмуляторе ок работает, а на устройстве нет. Буду разбираться дальше)

Есть хотите какой-то из этих инструментов разобрать подробнее, пишите в комменты, сделаю отдельный проектик, соберу и выложу на GH 🖖

⚡️ReactNative и что-то остальное
🔥13👍21
Всем привет! Долго думал, писать сюда или нет, потому что для большинства это будет бесполезной информацией. Но это мой канал и делаю чего хочу ☺️

Мне сегодня 32. Всячески принимаю поздравления)
🎉18🥰53
Дратути!
Отпуск закончился, уже работу работаю и надо бы чет полезное на канал принести, а пока что

#пятничный_мем

⚡️ReactNative и что-то остальное
😁7👍1🔥1😱1
Всем удачного завершения рабочей недели, идите пить пиво, я разрешил🍻

#пятничный_мем

⚡️ReactNative и что-то остальное
😁71
ReactNative и что-то остальное
Время опроса
Что будем ковырять дальше?
Всем привет!
Случайно снес результаты голосования 🌟

Большее количество голосов было за Deep Linking, так что разбор в процессе, постараюсь до конца недели выкатить с примерами и кодом на GH
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🖱️ Deep Linking в приложениях на React Native. Part 1

Будет два поста, один про работу с Deep Linking в рамках Expo (изи левел) и второй пост в настройкой в чистом проекте (нот изи левел)

Deep Linking — это инструмент, который позволяет юзеру переходить к определённому контенту внутри приложения напрямую, минуя остальные экраны. Мы каждый день встречаемся с этим механизмом в приложениях.


Например, когда нам пришел пуш с сообщением в телеге, при тапе на него мы попадем в сам чат, а не просто запустим приложение со списком.

Deep Linking в Expo

1. Тут по классике, сначала


npx create-expo-app@latest


если у вас уже есть проект, то идем к слудующему шагу

2. Открываем файл конфигурации app.json и добавляем в него

"scheme": "react-pain"


вместо "react-pain" можете указать все что угодно, но логичнее наверное название приложения или типа того, дальше будет видно где это используется.

А так как у нас проект на экспо использует expo-router, по сути нам кроме этого для старта больше ничего не нужно.

Но, если вы используете на текущем проекте React Navigation, то смотрим сюда, что еще необходимо сделать

Запускаем!

В нашем пустом проекте есть 2 страницы index и explore.

Для проверки работы нам достаточно будет использовать утилиту командной строки — uri-scheme

Переходим в консоль и вбиваем


npx uri-scheme open [your deep link] --[ios|android]



#для iOS при использовании клиента Expo
npx uri-scheme open "exp://127.0.0.1:19000/--/explore" --ios


#для собранного приложения на iOS
npx uri-scheme open "react-pain://explore" --ios


После выполнения команды, мы попадем на второй экран приложения!

Идем дальше. Добавляю для примера на страницу Explore список их 10 записей + отдельную страницу для отображения детальной информации (смотрите доку по expo-router). Возвращаемся в консоль:


npx uri-scheme open "react-pain://explore/7" --ios



После вызова команды, мы попадем в приложение на детальную страницу с ID 7. Profit!

Можете сами проверить и поковырять проект, выложил его на GitHub

Следующий пост будет про чистый проект + тестирование ссылок с использованием xcrun для iOS и adb для Android

Всем хорошего завершения рабочей недели 💃


⚡️ReactNative и что-то остальное
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍32
Если бы в сутках было больше часов, точно бы залетел на курс)
🔥4💯1