messaging
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
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;
Methods
- deleteToken
- getAPNSToken
- getInitialNotification
- getToken
- hasPermission
- onDeletedMessages
- onMessage
- onMessageSent
- onNotificationOpenedApp
- onSendError
- onTokenRefresh
- registerDeviceForRemoteMessages
- requestPermission
- sendMessage
- setAutoInitEnabled
- setBackgroundMessageHandler
- subscribeToTopic
- unregisterDeviceForRemoteMessages
- unsubscribeFromTopic
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 with APNs if auto-registration has been disabled.
registerDeviceForRemoteMessages(): 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
</>Set a message handler function which is called when the app is in the background or terminated. In Android, 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>;
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;