User Image

Технологии

Пошаговое руководство по настройке push-уведомлений в React Native

By Dwinner ||

 10 минут ||

 21 Июня, 2024

1. Создание нового проекта React Native (если не создано ранее)

Если вы еще не создали проект React Native, сделайте это с помощью следующей команды:

npx react-native init PushNotificationsApp
cd PushNotificationsApp

2. Установка React Native Firebase

Установите react-native-firebase и его зависимости в ваш проект:

npm install @react-native-firebase/app @react-native-firebase/messaging
# или
yarn add @react-native-firebase/app @react-native-firebase/messaging

3. Настройка проекта Firebase

  • Создайте проект Firebase и добавьте ваши Android и iOS приложения в него в консоли Firebase (https://console.firebase.google.com/).
  • Для Android:
    • Скачайте файл google-services.json из Firebase и поместите его в директорию android/app вашего проекта React Native.
  • Для iOS:
    • Скачайте файл GoogleService-Info.plist из Firebase и добавьте его в директорию ios/PushNotificationsApp вашего проекта React Native.

4. Инициализация Firebase в вашем проекте React Native

Откройте ваш файл App.js (или основной файл входа) и инициализируйте Firebase в вашем приложении:

// App.js

import React, { useEffect } from 'react';
import { AppRegistry, Platform } from 'react-native';
import messaging from '@react-native-firebase/messaging';

const App = () => {
  useEffect(() => {
    // Запрос разрешения на уведомления
    const requestUserPermission = async () => {
      const authStatus = await messaging().requestPermission();
      const enabled =
        authStatus === messaging.AuthorizationStatus.AUTHORIZED ||
        authStatus === messaging.AuthorizationStatus.PROVISIONAL;
  
      if (enabled) {
        console.log('Статус авторизации:', authStatus);
      }
    };
  
    requestUserPermission();
  
    // Обработка уведомлений, когда приложение на переднем плане
    const unsubscribeForeground = messaging().onMessage(async remoteMessage => {
      console.log('Получено уведомление в переднем плане:', remoteMessage);
    });
  
    return () => {
      unsubscribeForeground();
    };
  }, []);

  return (
    // Основной компонент вашего приложения
    <YourAppMainComponent />
  );
};

// Регистрация приложения
AppRegistry.registerComponent('PushNotificationsApp', () => App);

export default App;

5. Обработка уведомлений в фоновом режиме

Для обработки уведомлений, когда приложение находится в фоновом режиме или завершено, вам необходимо настроить обработчик фонового сервиса. Это включает изменение вашего файла android/app/src/main/java/com/pushnotificationsapp/MainApplication.java для Android и настройку соответствующих обработчиков согласно документации Firebase.

6. Тестирование push-уведомлений

  • Запустите ваше React Native приложение на эмуляторе Android или iOS или на физическом устройстве.
  • Используйте консоль Firebase или инструменты, такие как Postman, для отправки тестовых уведомлений на токены устройства, полученные из Firebase Cloud Messaging.

Дополнительные советы:

  • Отладка: Эффективно используйте консольные логи для отладки любых проблем.
  • Обработка данных уведомлений: Расширьте код для обработки пользовательских данных, отправляемых вместе с уведомлениями.
  • Обработка ошибок: Обеспечьте грамотную обработку ошибок, особенно сетевых ошибок при отправке уведомлений.

Это руководство предоставляет базовую настройку для интеграции push-уведомлений в приложение React Native с использованием Firebase Cloud Messaging. Для приложений в продакшн режиме рассмотрите дополнительные шаги, такие как обработка кликов по уведомлениям, управление каналами уведомлений (для Android) и обеспечение безопасности.

Теги:

react-native

технологии

push-notification


Избранный пост

User Image

🚀 Обзор React Native 0.74: Новая Архитектура без ...

React Native продолжает активно развиваться, и версия 0.74 принесла несколько значительных изменений, которые улучшают производительность и удобство работы с фреймворком. Одним из главных нововведений...

7 Февраля, 2025
10 минут

Недавний пост

User Image

Пошаговое руководство по настройке push-уведомлени...

1. Создание нового проекта React Native (если не создано ранее)

User Image

Понимание потоков в React Native: JavaScript, Shad...

React Native создан, чтобы обеспечить бесперебойную работу приложений,...

User Image

Улучшение производительности React Native с помощь...

React Native

User Image

🚀 Как настроить .env для приложения на React Nati...

Управление переменными окружения критически важно для настройки конфиг...

User Image

Новые возможности React 19

🔧 Компилятор React: Предстоящий компилятор React, уже используемый In...

User Image

Стоимость разработки мобильных приложений в 2024 г...

Цена разработки мобильного приложения может варьироваться в зависимост...

User Image

🚀 Обзор React Native 0.74: Новая Архитектура без ...

React Native продолжает активно развиваться, и версия 0.74 принесла не...