notifications
This commit is contained in:
@@ -1,22 +1,41 @@
|
||||
/**
|
||||
* Sample React Native App
|
||||
* https://github.com/facebook/react-native
|
||||
*
|
||||
* @format
|
||||
*/
|
||||
|
||||
import { NewAppScreen } from '@react-native/new-app-screen';
|
||||
import { StatusBar, StyleSheet, useColorScheme, View } from 'react-native';
|
||||
import {
|
||||
SafeAreaProvider,
|
||||
useSafeAreaInsets,
|
||||
} from 'react-native-safe-area-context';
|
||||
import AppNavigator from './src/navigation/AppNavigator';
|
||||
import React, { useEffect } from 'react';
|
||||
import { StyleSheet, useColorScheme } from 'react-native';
|
||||
import { SafeAreaProvider } from 'react-native-safe-area-context';
|
||||
import { PaperProvider } from 'react-native-paper';
|
||||
import AppNavigator from './src/navigation/AppNavigator';
|
||||
import notifee from '@notifee/react-native';
|
||||
import FirebaseService from './src/utils/firebase/firebaseServices';
|
||||
|
||||
function App() {
|
||||
const isDarkMode = useColorScheme() === 'dark';
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
// 🔹 Ask for permission
|
||||
FirebaseService.requestPermission();
|
||||
|
||||
// 🔹 Handle background + quit state
|
||||
FirebaseService.backgroundHandler();
|
||||
|
||||
// 🔹 Listen for foreground messages
|
||||
const unsubscribe = FirebaseService.foregroundListener();
|
||||
|
||||
// 🔹 Listen for token refresh
|
||||
const unsubscribeRefresh = FirebaseService.tokenRefreshHandler();
|
||||
|
||||
// 🔹 Create default notification channel (Android)
|
||||
notifee.createChannel({
|
||||
id: 'default',
|
||||
name: 'Default Channel',
|
||||
importance: 4, // HIGH
|
||||
});
|
||||
|
||||
return () => {
|
||||
unsubscribe();
|
||||
unsubscribeRefresh();
|
||||
};
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<SafeAreaProvider>
|
||||
<PaperProvider>
|
||||
|
||||
Reference in New Issue
Block a user