JSPM

@spoonconsulting/cordova-plugin-firebase-messaging

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 122
  • Score
    100M100P100Q76854F
  • License MIT

Cordova plugin for Firebase Messaging

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@spoonconsulting/cordova-plugin-firebase-messaging) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Cordova plugin for Firebase Cloud Messaging

    Index

    Supported platforms

    • iOS
    • Android

    Installation

    $ cordova plugin add cordova-plugin-firebase-messaging

    If you get an error about CocoaPods being unable to find compatible versions, run

    $ pod repo update

    Use variables IOS_FIREBASE_POD_VERSION and ANDROID_FIREBASE_BOM_VERSION to override dependency versions on Android:

    $ cordova plugin add cordova-plugin-firebase-messaging \
        --variable IOS_FIREBASE_POD_VERSION="9.3.0" \
        --variable ANDROID_FIREBASE_BOM_VERSION="30.3.1"

    Adding configuration files

    Cordova supports resource-file tag for easy copying resources files. Firebase SDK requires google-services.json on Android and GoogleService-Info.plist on iOS platforms.

    1. Put google-services.json and/or GoogleService-Info.plist into the root directory of your Cordova project
    2. Add new tag for Android platform
    <platform name="android">
        ...
        <resource-file src="google-services.json" target="app/google-services.json" />
    </platform>
    ...
    <platform name="ios">
        ...
        <resource-file src="GoogleService-Info.plist" />
    </platform>

    This way config files will be copied on cordova prepare step.

    Set custom default notification icon (Android only)

    Setting a custom default icon allows you to specify what icon is used for notification messages if no icon is set in the notification payload. Also use the custom default icon to set the icon used by notification messages sent from the Firebase console. If no custom default icon is set and no icon is set in the notification payload, the application icon (rendered in white) is used.

    <platform name="android">
        ...
        <config-file parent="/manifest/application" target="app/src/main/AndroidManifest.xml">
            <meta-data
                android:name="com.google.firebase.messaging.default_notification_icon"
                android:resource="@drawable/my_custom_icon_id"/>
        </config-file>
    </platform>

    Set custom default notification color (Android only)

    You can also define what color is used with your notification. Different android versions use this settings in different ways: Android < N use this as background color for the icon. Android >= N use this to color the icon and the app name.

    <platform name="android">
        ...
        <config-file parent="/manifest/application" target="app/src/main/AndroidManifest.xml">
            <meta-data
                android:name="com.google.firebase.messaging.default_notification_color"
                android:resource="@drawable/my_custom_color"/>
        </config-file>
    </platform>

    Type Aliases

    PushPayload

    PushPayload: Object

    In general (for both platforms) you can only rely on custom data fields.

    message_id and sent_time have google. prefix in property name (will be fixed).

    Type declaration

    Name Type Description
    aps? Record<string, any> IOS payload, available when message arrives in both foreground and background.
    data Record<string, any> Custom data sent from server
    gcm? Record<string, any> Android payload, available ONLY when message arrives in foreground.
    message_id string Message ID automatically generated by the server
    sent_time number Time in milliseconds from the Epoch that the message was sent.

    Functions

    clearNotifications

    clearNotifications(): Promise<void>

    Clear all notifications from system notification bar.

    Example

    cordova.plugins.firebase.messaging.clearNotifications();

    Returns

    Promise<void>

    Callback when operation is completed


    deleteToken

    deleteToken(): Promise<void>

    Delete the Instance ID (Token) and the data associated with it.

    Call getToken to generate a new one.

    Example

    cordova.plugins.firebase.messaging.deleteToken();

    Returns

    Promise<void>

    Callback when operation is completed


    getBadge

    getBadge(): Promise<number>

    Gets current badge number (if supported).

    Example

    cordova.plugins.firebase.messaging.getBadge().then(function(value) {
        console.log("Badge value: ", value);
    });

    Returns

    Promise<number>

    Promise fulfiled with the current badge value


    getToken

    getToken(format?): Promise<string>

    Returns the current FCM token.

    Example

    cordova.plugins.firebase.messaging.getToken().then(function(token) {
        console.log("Got device token: ", token);
    });

    Parameters

    Name Type Description
    format? "apns-buffer" | "apns-string" Token representation (iOS only)

    Returns

    Promise<string>

    Promise fulfiled with the current FCM token


    onBackgroundMessage

    onBackgroundMessage(callback, errorCallback?): void

    Registers background push notification callback.

    Example

    cordova.plugins.firebase.messaging.onBackgroundMessage(function(payload) {
        console.log("New background FCM message: ", payload);
    });

    Parameters

    Name Type Description
    callback (payload: PushPayload) => void Callback function
    errorCallback? (error: string) => void Error callback function

    Returns

    void


    onMessage

    onMessage(callback, errorCallback?): void

    Registers foreground push notification callback.

    Example

    cordova.plugins.firebase.messaging.onMessage(function(payload) {
        console.log("New foreground FCM message: ", payload);
    });

    Parameters

    Name Type Description
    callback (payload: PushPayload) => void Callback function
    errorCallback? (error: string) => void Error callback function

    Returns

    void


    onTokenRefresh

    onTokenRefresh(callback, errorCallback?): void

    Registers callback to notify when FCM token is updated.

    Use getToken to generate a new token.

    Example

    cordova.plugins.firebase.messaging.onTokenRefresh(function() {
        console.log("Device token updated");
    });

    Parameters

    Name Type Description
    callback () => void Callback function
    errorCallback? (error: string) => void Error callback function

    Returns

    void


    requestPermission

    requestPermission(options): Promise<void>

    Ask for permission to recieve push notifications (will trigger prompt on iOS).

    Example

    cordova.plugins.firebase.messaging.requestPermission({forceShow: false}).then(function() {
        console.log("Push messaging is allowed");
    });

    Parameters

    Name Type Description
    options Object Additional options.
    options.forceShow boolean When value is true incoming notification is displayed even when app is in foreground.

    Returns

    Promise<void>

    Filfiled promise when permission is granted.


    setBadge

    setBadge(badgeValue): Promise<void>

    Sets current badge number (if supported).

    Example

    cordova.plugins.firebase.messaging.setBadge(value);

    Parameters

    Name Type Description
    badgeValue number New badge value

    Returns

    Promise<void>

    Callback when operation is completed


    subscribe

    subscribe(topic): Promise<void>

    Subscribe to a FCM topic.

    Example

    cordova.plugins.firebase.messaging.subscribe("news");

    Parameters

    Name Type Description
    topic string Topic name

    Returns

    Promise<void>

    Callback when operation is completed


    unsubscribe

    unsubscribe(topic): Promise<void>

    Unsubscribe from a FCM topic.

    Example

    cordova.plugins.firebase.messaging.unsubscribe("news");

    Parameters

    Name Type Description
    topic string Topic name

    Returns

    Promise<void>

    Callback when operation is completed