UNPKG

@react-native-firebase/messaging

Version:

React Native Firebase - React Native Firebase provides native integration of Firebase Cloud Messaging (FCM) for both Android & iOS. FCM is a cost free service, allowing for server-device and device-device communication. The React Native Firebase Messaging

47 lines (42 loc) 1.83 kB
/* eslint-disable @typescript-eslint/no-wrapper-object-types */ import type { TurboModule } from 'react-native'; import { TurboModuleRegistry } from 'react-native'; export interface IOSPermissions { alert?: boolean; announcement?: boolean; badge?: boolean; carPlay?: boolean; criticalAlert?: boolean; provisional?: boolean; sound?: boolean; providesAppNotificationSettings?: boolean; } export interface Spec extends TurboModule { getConstants(): { isAutoInitEnabled: boolean; isDeliveryMetricsExportToBigQueryEnabled: boolean; isRegisteredForRemoteNotifications?: boolean; isNotificationDelegationEnabled?: boolean; }; getInitialNotification(): Promise<Object | null>; getDidOpenSettingsForNotification(): Promise<boolean>; setAutoInitEnabled(enabled: boolean): Promise<void>; signalBackgroundMessageHandlerSet(): void; completeNotificationProcessing(): void; getToken(appName: string, senderId: string): Promise<string>; deleteToken(appName: string, senderId: string): Promise<void>; getAPNSToken(): Promise<string | null>; setAPNSToken(token: string, type?: string): Promise<void>; getIsHeadless(): Promise<boolean>; requestPermission(permissions: IOSPermissions): Promise<number>; registerForRemoteNotifications(): Promise<void>; unregisterForRemoteNotifications(): Promise<void>; hasPermission(): Promise<number>; sendMessage(remoteMessageMap: Object): Promise<void>; subscribeToTopic(topic: string): Promise<void>; unsubscribeFromTopic(topic: string): Promise<void>; setDeliveryMetricsExportToBigQuery(enabled: boolean): Promise<void>; setNotificationDelegationEnabled(enabled: boolean): Promise<void>; isNotificationDelegationEnabled(): Promise<boolean>; } export default TurboModuleRegistry.getEnforcing<Spec>('NativeRNFBTurboMessaging');