firebase-admin.messaging package

Firebase Cloud Messaging (FCM).

Functions

Function Description
getMessaging(app) Gets the Messaging service for the default app or a given app.admin.messaging() can be called with no arguments to access the default app's Messaging service or as admin.messaging(app) to access the Messaging service associated with aspecific app.

Classes

Class Description
FirebaseMessagingError Firebase Messaging error code structure. This extends FirebaseError.
Messaging Messaging service bound to the provided app.

Interfaces

Interface Description
AndroidConfig Represents the Android-specific options that can be included in an Message.
AndroidFcmOptions Represents options for features provided by the FCM SDK for Android.
AndroidNotification Represents the Android-specific notification options that can be included in AndroidConfig.
ApnsConfig Represents the APNs-specific options that can be included in an Message. Refer to Apple documentation for various headers and payload fields supported by APNs.
ApnsFcmOptions Represents options for features provided by the FCM SDK for iOS.
ApnsPayload Represents the payload of an APNs message. Mainly consists of the aps dictionary. But may also contain other arbitrary custom keys.
Aps Represents the aps dictionary that is part of APNs messages.
ApsAlert
BaseMessage
BatchResponse Interface representing the server response from the Messaging.sendEach() and Messaging.sendEachForMulticast() methods.
ConditionMessage
CriticalSound Represents a critical sound configuration that can be included in the aps dictionary of an APNs payload.
FcmOptions Represents platform-independent options for features provided by the FCM SDKs.
LightSettings Represents settings to control notification LED that can be included in AndroidNotification.
MessagingTopicManagementResponse Interface representing the server response from the Messaging.subscribeToTopic() and Messaging.unsubscribeFromTopic() methods.See Manage topics from the server for code samples and detailed documentation.
MulticastMessage Payload for the Messaging.sendEachForMulticast() method. The payload contains all the fields in the BaseMessage type, and a list of tokens.
Notification A notification that can be included in Message.
SendResponse Interface representing the status of an individual message that was sent as part of a batch request.
TokenMessage
TopicMessage
WebpushConfig Represents the WebPush protocol options that can be included in an Message.
WebpushFcmOptions Represents options for features provided by the FCM SDK for Web (which are not part of the Webpush standard).
WebpushNotification Represents the WebPush-specific notification options that can be included in WebpushConfig. This supports most of the standard options as defined in the Web Notification specification.

Variables

Variable Description
MessagingErrorCode The constant mapping for valid Messaging client error codes.

Type Aliases

Type Alias Description
Message Payload for the Messaging.send() operation. The payload contains all the fields in the BaseMessage type, and exactly one of token, topic or condition.
MessagingErrorCode The type definition for valid Messaging client error codes.

getMessaging(app)

Gets the Messaging service for the default app or a given app.

admin.messaging() can be called with no arguments to access the default app's Messaging service or as admin.messaging(app) to access the Messaging service associated with aspecific app.

Signature:

export declare function getMessaging(app?: App): Messaging;

Parameters

Parameter Type Description
app App Optional app whose Messaging service to return. If not provided, the default Messaging service will be returned.

Returns:

Messaging

The default Messaging service if no app is provided or the Messaging service associated with the provided app.

Example 1

// Get the Messaging service for the default app
const defaultMessaging = getMessaging();

Example 2

// Get the Messaging service for a given app
const otherMessaging = getMessaging(otherApp);

MessagingErrorCode

The constant mapping for valid Messaging client error codes.

Signature:

MessagingErrorCode: {
    readonly INVALID_ARGUMENT: "invalid-argument";
    readonly INVALID_RECIPIENT: "invalid-recipient";
    readonly INVALID_PAYLOAD: "invalid-payload";
    readonly INVALID_DATA_PAYLOAD_KEY: "invalid-data-payload-key";
    readonly PAYLOAD_SIZE_LIMIT_EXCEEDED: "payload-size-limit-exceeded";
    readonly INVALID_OPTIONS: "invalid-options";
    readonly INVALID_REGISTRATION_TOKEN: "invalid-registration-token";
    readonly REGISTRATION_TOKEN_NOT_REGISTERED: "registration-token-not-registered";
    readonly MISMATCHED_CREDENTIAL: "mismatched-credential";
    readonly INVALID_PACKAGE_NAME: "invalid-package-name";
    readonly DEVICE_MESSAGE_RATE_EXCEEDED: "device-message-rate-exceeded";
    readonly TOPICS_MESSAGE_RATE_EXCEEDED: "topics-message-rate-exceeded";
    readonly TOPICS_SUBSCRIPTION_RATE_EXCEEDED: "topics-subscription-rate-exceeded";
    readonly MESSAGE_RATE_EXCEEDED: "message-rate-exceeded";
    readonly THIRD_PARTY_AUTH_ERROR: "third-party-auth-error";
    readonly TOO_MANY_TOPICS: "too-many-topics";
    readonly AUTHENTICATION_ERROR: "authentication-error";
    readonly SERVER_UNAVAILABLE: "server-unavailable";
    readonly INTERNAL_ERROR: "internal-error";
    readonly UNKNOWN_ERROR: "unknown-error";
}

Message

Payload for the Messaging.send() operation. The payload contains all the fields in the BaseMessage type, and exactly one of token, topic or condition.

Signature:

export type Message = TokenMessage | TopicMessage | ConditionMessage;

MessagingErrorCode

The type definition for valid Messaging client error codes.

Signature:

export type MessagingErrorCode = typeof MessagingErrorCode[keyof typeof MessagingErrorCode];