Jump to top

messaging

interface

The Firebase Messaging service interface.

This module is available for the default app only.

Example

Get the Messaging service for the default app:

const defaultAppMessaging = firebase.messaging();

Properties

app

</>

The current FirebaseApp instance for this Firebase service.

app: FirebaseApp;

isAutoInitEnabled

</>

Returns whether messaging auto initialization is enabled or disabled for the device.

isAutoInitEnabled: boolean;

isDeviceRegisteredForRemoteMessages

</>

Returns a boolean value whether the user has registered for remote notifications via registerDeviceForRemoteMessages().

isDeviceRegisteredForRemoteMessages: boolean;

isRegisteredForRemoteNotifications

</>

Deprecated. See isDeviceRegisteredForRemoteMessages instead.

isRegisteredForRemoteNotifications: boolean;

Methods

deleteToken

</>

Removes access to an FCM token previously authorized by it's scope. Messages sent by the server to this token will fail.

deleteToken(authorizedEntity?: undefined | string, scope?: undefined | string): Promise<void>;

getAPNSToken

</>

On iOS, it is possible to get the users APNS token. This may be required if you want to send messages to your iOS devices without using the FCM service.

getAPNSToken(): Promise<string | null>;

getInitialNotification

</>

When a notification from FCM has triggered the application to open from a quit state, this method will return a RemoteMessage containing the notification data, or null if the app was opened via another method.

getInitialNotification(): Promise<RemoteMessage | null>;

getToken

</>

Returns an FCM token for this device. Optionally you can specify a custom authorized entity or scope to tailor tokens to your own use-case.

getToken(authorizedEntity?: undefined | string, scope?: undefined | string): Promise<string>;

hasPermission

</>

Returns a AuthorizationStatus as to whether the user has messaging permission for this app.

hasPermission(): Promise<AuthorizationStatus>;

onDeletedMessages

</>

Called when the FCM server deletes pending messages. This may be due to:

onDeletedMessages(listener: () => void): () => void;

onMessage

</>

When any FCM payload is received, the listener callback is called with a RemoteMessage.

onMessage(listener: (message: RemoteMessage) => any): () => void;

onMessageSent

</>

When sending a RemoteMessage, this listener is called when the message has been sent to FCM.

onMessageSent(listener: (messageId: string) => any): () => void;

onNotificationOpenedApp

</>

When the user presses a notification displayed via FCM, this listener will be called if the app has opened from a background state.

onNotificationOpenedApp(listener: (message: RemoteMessage) => any): void;

onSendError

</>

When sending a RemoteMessage, this listener is called when an error is thrown and the message could not be sent.

onSendError(listener: (evt: SendErrorEvent) => any): () => void;

onTokenRefresh

</>

Called when a new registration token is generated for the device. For example, this event can happen when a token expires or when the server invalidates the token.

onTokenRefresh(listener: (token: string) => any): () => void;

registerDeviceForRemoteMessages

</>

On iOS, if your app wants to receive remote messages from FCM (via APNS), you must explicitly register this request with APNS. For example if you want to display alerts, play sounds or perform other user-facing actions (via the Notification library), you must call this method.

registerDeviceForRemoteMessages(): Promise<void>;

registerForRemoteNotifications

</>

Deprecated. See registerDeviceForRemoteMessages instead.

registerForRemoteNotifications(): Promise<void>;

requestPermission

</>

On iOS, messaging permission must be requested by the current application before messages can be received or sent.

requestPermission(permissions?: IOSPermissions): Promise<AuthorizationStatus>;

sendMessage

</>

Send a new RemoteMessage to the FCM server.

sendMessage(message: RemoteMessage): Promise<void>;

setAutoInitEnabled

</>

Sets whether auto initialization for messaging is enabled or disabled.

setAutoInitEnabled(enabled: boolean): Promise<void>;

setBackgroundMessageHandler

</>

On Android, set a message handler function which is called when the app is in the background or terminated. A headless task is created, allowing you to access the React Native environment to perform tasks such as updating local storage, or sending a network request.

setBackgroundMessageHandler(handler: (message: RemoteMessage) => Promise<any>): any;

subscribeToTopic

</>

Apps can subscribe to a topic, which allows the FCM server to send targeted messages to only those devices subscribed to that topic.

subscribeToTopic(topic: string): Promise<void>;

unregisterDeviceForRemoteMessages

</>

Unregisters the app from receiving remote notifications.

unregisterDeviceForRemoteMessages(): Promise<void>;

unregisterForRemoteNotifications

</>

Deprecated. See unregisterDeviceForRemoteMessages instead.

unregisterForRemoteNotifications(): Promise<void>;

unsubscribeFromTopic

</>

Unsubscribe the device from a topic.

unsubscribeFromTopic(topic: string): Promise<void>;

Statics

AuthorizationStatus

</>
messaging.AuthorizationStatus: AuthorizationStatus;

NotificationAndroidPriority

</>
messaging.NotificationAndroidPriority: NotificationAndroidPriority;

NotificationAndroidVisibility

</>
messaging.NotificationAndroidVisibility: NotificationAndroidVisibility;