push notifications not working for some reason
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
|
||||
import { useEffect } from "react";
|
||||
import messaging from "@react-native-firebase/messaging";
|
||||
import notifee, { AndroidImportance, EventType } from "@notifee/react-native";
|
||||
|
||||
|
||||
async function displayLocalNotification(title?: string, body?: string) {
|
||||
if (!title && !body) return;
|
||||
|
||||
const channelId = await notifee.createChannel({
|
||||
id: "default",
|
||||
name: "General",
|
||||
importance: AndroidImportance.HIGH,
|
||||
});
|
||||
|
||||
await notifee.displayNotification({
|
||||
title,
|
||||
body,
|
||||
android: {
|
||||
channelId,
|
||||
pressAction: { id: "default" },
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function usePushNotifications() {
|
||||
useEffect(() => {
|
||||
const unsubscribeMessage = messaging().onMessage(async remoteMessage => {
|
||||
const title = remoteMessage.data?.title as string | undefined;
|
||||
const body = remoteMessage.data?.body as string | undefined;
|
||||
await displayLocalNotification(title, body);
|
||||
});
|
||||
|
||||
const unsubscribeNotifee = notifee.onForegroundEvent(({ type, detail }) => {
|
||||
if (type === EventType.PRESS) {
|
||||
console.log("Notification tapped:", detail.notification);
|
||||
}
|
||||
});
|
||||
|
||||
return () => {
|
||||
unsubscribeMessage();
|
||||
unsubscribeNotifee();
|
||||
};
|
||||
}, []);
|
||||
}
|
||||
Reference in New Issue
Block a user