Skip to content

Files

Latest commit

 

History

History
420 lines (384 loc) · 9.75 KB

firebase-admin.messaging.api.md

File metadata and controls

420 lines (384 loc) · 9.75 KB

API Report File for "firebase-admin.messaging"

Do not edit this file. It is a report generated by API Extractor.

import { Agent } from 'http';

// @public
export interface AndroidConfig {
    collapseKey?: string;
    data?: {
        [key: string]: string;
    };
    directBootOk?: boolean;
    fcmOptions?: AndroidFcmOptions;
    notification?: AndroidNotification;
    priority?: ('high' | 'normal');
    restrictedPackageName?: string;
    ttl?: number;
}

// @public
export interface AndroidFcmOptions {
    analyticsLabel?: string;
}

// @public
export interface AndroidNotification {
    body?: string;
    bodyLocArgs?: string[];
    bodyLocKey?: string;
    channelId?: string;
    clickAction?: string;
    color?: string;
    defaultLightSettings?: boolean;
    defaultSound?: boolean;
    defaultVibrateTimings?: boolean;
    eventTimestamp?: Date;
    icon?: string;
    imageUrl?: string;
    lightSettings?: LightSettings;
    localOnly?: boolean;
    notificationCount?: number;
    priority?: ('min' | 'low' | 'default' | 'high' | 'max');
    proxy?: ('allow' | 'deny' | 'if_priority_lowered');
    sound?: string;
    sticky?: boolean;
    tag?: string;
    ticker?: string;
    title?: string;
    titleLocArgs?: string[];
    titleLocKey?: string;
    vibrateTimingsMillis?: number[];
    visibility?: ('private' | 'public' | 'secret');
}

// @public
export interface ApnsConfig {
    fcmOptions?: ApnsFcmOptions;
    headers?: {
        [key: string]: string;
    };
    payload?: ApnsPayload;
}

// @public
export interface ApnsFcmOptions {
    analyticsLabel?: string;
    imageUrl?: string;
}

// @public
export interface ApnsPayload {
    // (undocumented)
    [customData: string]: any;
    aps: Aps;
}

// @public
export interface Aps {
    // (undocumented)
    [customData: string]: any;
    alert?: string | ApsAlert;
    badge?: number;
    category?: string;
    contentAvailable?: boolean;
    mutableContent?: boolean;
    sound?: string | CriticalSound;
    threadId?: string;
}

// @public (undocumented)
export interface ApsAlert {
    // (undocumented)
    actionLocKey?: string;
    // (undocumented)
    body?: string;
    // (undocumented)
    launchImage?: string;
    // (undocumented)
    locArgs?: string[];
    // (undocumented)
    locKey?: string;
    // (undocumented)
    subtitle?: string;
    // (undocumented)
    subtitleLocArgs?: string[];
    // (undocumented)
    subtitleLocKey?: string;
    // (undocumented)
    title?: string;
    // (undocumented)
    titleLocArgs?: string[];
    // (undocumented)
    titleLocKey?: string;
}

// @public (undocumented)
export interface BaseMessage {
    // (undocumented)
    android?: AndroidConfig;
    // (undocumented)
    apns?: ApnsConfig;
    // (undocumented)
    data?: {
        [key: string]: string;
    };
    // (undocumented)
    fcmOptions?: FcmOptions;
    // (undocumented)
    notification?: Notification;
    // (undocumented)
    webpush?: WebpushConfig;
}

// @public
export interface BatchResponse {
    failureCount: number;
    responses: SendResponse[];
    successCount: number;
}

// @public (undocumented)
export interface ConditionMessage extends BaseMessage {
    // (undocumented)
    condition: string;
}

// @public
export interface CriticalSound {
    critical?: boolean;
    name: string;
    volume?: number;
}

// @public
export interface DataMessagePayload {
    // (undocumented)
    [key: string]: string;
}

// @public
export interface FcmOptions {
    analyticsLabel?: string;
}

// Warning: (ae-forgotten-export) The symbol "PrefixedFirebaseError" needs to be exported by the entry point index.d.ts
//
// @public
export class FirebaseMessagingError extends PrefixedFirebaseError {
}

// Warning: (ae-forgotten-export) The symbol "App" needs to be exported by the entry point index.d.ts
//
// @public
export function getMessaging(app?: App): Messaging;

// @public
export interface LightSettings {
    color: string;
    lightOffDurationMillis: number;
    lightOnDurationMillis: number;
}

// @public
export type Message = TokenMessage | TopicMessage | ConditionMessage;

// @public
export class Messaging {
    get app(): App;
    // @deprecated
    enableLegacyHttpTransport(): void;
    send(message: Message, dryRun?: boolean): Promise<string>;
    sendEach(messages: Message[], dryRun?: boolean): Promise<BatchResponse>;
    sendEachForMulticast(message: MulticastMessage, dryRun?: boolean): Promise<BatchResponse>;
    subscribeToTopic(registrationTokenOrTokens: string | string[], topic: string): Promise<MessagingTopicManagementResponse>;
    unsubscribeFromTopic(registrationTokenOrTokens: string | string[], topic: string): Promise<MessagingTopicManagementResponse>;
}

// @public
export class MessagingClientErrorCode {
    // (undocumented)
    static AUTHENTICATION_ERROR: {
        code: string;
        message: string;
    };
    // (undocumented)
    static DEVICE_MESSAGE_RATE_EXCEEDED: {
        code: string;
        message: string;
    };
    // (undocumented)
    static INTERNAL_ERROR: {
        code: string;
        message: string;
    };
    // (undocumented)
    static INVALID_ARGUMENT: {
        code: string;
        message: string;
    };
    // (undocumented)
    static INVALID_DATA_PAYLOAD_KEY: {
        code: string;
        message: string;
    };
    // (undocumented)
    static INVALID_OPTIONS: {
        code: string;
        message: string;
    };
    // (undocumented)
    static INVALID_PACKAGE_NAME: {
        code: string;
        message: string;
    };
    // (undocumented)
    static INVALID_PAYLOAD: {
        code: string;
        message: string;
    };
    // (undocumented)
    static INVALID_RECIPIENT: {
        code: string;
        message: string;
    };
    // (undocumented)
    static INVALID_REGISTRATION_TOKEN: {
        code: string;
        message: string;
    };
    // (undocumented)
    static MESSAGE_RATE_EXCEEDED: {
        code: string;
        message: string;
    };
    // (undocumented)
    static MISMATCHED_CREDENTIAL: {
        code: string;
        message: string;
    };
    // (undocumented)
    static PAYLOAD_SIZE_LIMIT_EXCEEDED: {
        code: string;
        message: string;
    };
    // (undocumented)
    static REGISTRATION_TOKEN_NOT_REGISTERED: {
        code: string;
        message: string;
    };
    // (undocumented)
    static SERVER_UNAVAILABLE: {
        code: string;
        message: string;
    };
    // (undocumented)
    static THIRD_PARTY_AUTH_ERROR: {
        code: string;
        message: string;
    };
    // (undocumented)
    static TOO_MANY_TOPICS: {
        code: string;
        message: string;
    };
    // (undocumented)
    static TOPICS_MESSAGE_RATE_EXCEEDED: {
        code: string;
        message: string;
    };
    // (undocumented)
    static UNKNOWN_ERROR: {
        code: string;
        message: string;
    };
}

// @public
export interface MessagingOptions {
    // (undocumented)
    [key: string]: any | undefined;
    collapseKey?: string;
    contentAvailable?: boolean;
    dryRun?: boolean;
    mutableContent?: boolean;
    priority?: string;
    restrictedPackageName?: string;
    timeToLive?: number;
}

// @public
export interface MessagingPayload {
    data?: DataMessagePayload;
    notification?: NotificationMessagePayload;
}

// @public
export interface MessagingTopicManagementResponse {
    // Warning: (ae-forgotten-export) The symbol "FirebaseArrayIndexError" needs to be exported by the entry point index.d.ts
    errors: FirebaseArrayIndexError[];
    failureCount: number;
    successCount: number;
}

// @public
export interface MulticastMessage extends BaseMessage {
    // (undocumented)
    tokens: string[];
}

// @public
export interface Notification {
    body?: string;
    imageUrl?: string;
    title?: string;
}

// @public
export interface NotificationMessagePayload {
    // (undocumented)
    [key: string]: string | undefined;
    badge?: string;
    body?: string;
    bodyLocArgs?: string;
    bodyLocKey?: string;
    clickAction?: string;
    color?: string;
    icon?: string;
    sound?: string;
    tag?: string;
    title?: string;
    titleLocArgs?: string;
    titleLocKey?: string;
}

// @public
export interface SendResponse {
    // Warning: (ae-forgotten-export) The symbol "FirebaseError" needs to be exported by the entry point index.d.ts
    error?: FirebaseError;
    messageId?: string;
    success: boolean;
}

// @public (undocumented)
export interface TokenMessage extends BaseMessage {
    // (undocumented)
    token: string;
}

// @public (undocumented)
export interface TopicMessage extends BaseMessage {
    // (undocumented)
    topic: string;
}

// @public
export interface WebpushConfig {
    data?: {
        [key: string]: string;
    };
    fcmOptions?: WebpushFcmOptions;
    headers?: {
        [key: string]: string;
    };
    notification?: WebpushNotification;
}

// @public
export interface WebpushFcmOptions {
    link?: string;
}

// @public
export interface WebpushNotification {
    // (undocumented)
    [key: string]: any;
    actions?: Array<{
        action: string;
        icon?: string;
        title: string;
    }>;
    badge?: string;
    body?: string;
    data?: any;
    dir?: 'auto' | 'ltr' | 'rtl';
    icon?: string;
    image?: string;
    lang?: string;
    renotify?: boolean;
    requireInteraction?: boolean;
    silent?: boolean;
    tag?: string;
    timestamp?: number;
    title?: string;
    vibrate?: number | number[];
}