Skip to content

Commit aa2f500

Browse files
committed
feat(messaging): add support for Android Config V2
1 parent bcae57a commit aa2f500

5 files changed

Lines changed: 905 additions & 12 deletions

File tree

etc/firebase-admin.messaging.api.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@
66

77
import { Agent } from 'http';
88

9+
// @public
10+
export interface AndroidBackgroundSyncConfig extends AndroidConfigV2Base {
11+
backgroundSync: AndroidBackgroundSyncMessage;
12+
remoteNotification?: never;
13+
}
14+
15+
// @public
16+
export type AndroidBackgroundSyncMessage = Record<string, never>;
17+
918
// @public
1019
export interface AndroidConfig {
1120
bandwidthConstrainedOk?: boolean;
@@ -22,6 +31,23 @@ export interface AndroidConfig {
2231
ttl?: number;
2332
}
2433

34+
// @public
35+
export type AndroidConfigV2 = AndroidRemoteNotificationConfig | AndroidBackgroundSyncConfig;
36+
37+
// @public
38+
export interface AndroidConfigV2Base {
39+
bandwidthConstrainedOk?: boolean;
40+
collapseKey?: string;
41+
data?: {
42+
[key: string]: string;
43+
};
44+
directBootOk?: boolean;
45+
fcmOptions?: AndroidFcmOptions;
46+
restrictedPackageName?: string;
47+
restrictedSatelliteOk?: boolean;
48+
ttl?: number;
49+
}
50+
2551
// @public
2652
export interface AndroidFcmOptions {
2753
analyticsLabel?: string;
@@ -57,6 +83,49 @@ export interface AndroidNotification {
5783
visibility?: ('private' | 'public' | 'secret');
5884
}
5985

86+
// @public
87+
export interface AndroidNotificationV2 {
88+
body?: string;
89+
bodyLocArgs?: string[];
90+
bodyLocKey?: string;
91+
channelId?: string;
92+
clickAction?: string;
93+
color?: string;
94+
defaultLightSettings?: boolean;
95+
defaultSound?: boolean;
96+
defaultVibrateTimings?: boolean;
97+
eventTime?: Date;
98+
icon?: string;
99+
id?: string;
100+
imageUrl?: string;
101+
lightSettings?: LightSettings;
102+
localOnly?: boolean;
103+
notificationCount?: number;
104+
priority?: ('min' | 'low' | 'default' | 'high' | 'max');
105+
sound?: string;
106+
sticky?: boolean;
107+
tag?: string;
108+
ticker?: string;
109+
title?: string;
110+
titleLocArgs?: string[];
111+
titleLocKey?: string;
112+
vibrateTimingsMillis?: number[];
113+
visibility?: ('private' | 'public' | 'secret');
114+
}
115+
116+
// @public
117+
export interface AndroidRemoteNotification {
118+
mutableContent?: boolean;
119+
notification: AndroidNotificationV2;
120+
useAsV1DataMessage?: boolean;
121+
}
122+
123+
// @public
124+
export interface AndroidRemoteNotificationConfig extends AndroidConfigV2Base {
125+
backgroundSync?: never;
126+
remoteNotification: AndroidRemoteNotification;
127+
}
128+
60129
// @public
61130
export interface ApnsConfig {
62131
fcmOptions?: ApnsFcmOptions;
@@ -124,6 +193,8 @@ export interface BaseMessage {
124193
// (undocumented)
125194
android?: AndroidConfig;
126195
// (undocumented)
196+
androidV2?: AndroidConfigV2;
197+
// (undocumented)
127198
apns?: ApnsConfig;
128199
// (undocumented)
129200
data?: {

src/messaging/index.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,15 @@ export {
3030

3131
export {
3232
AndroidConfig,
33-
AndroidFcmOptions,
33+
AndroidConfigV2,
34+
AndroidConfigV2Base,
35+
AndroidRemoteNotificationConfig,
36+
AndroidBackgroundSyncConfig,
37+
AndroidRemoteNotification,
38+
AndroidBackgroundSyncMessage,
3439
AndroidNotification,
40+
AndroidNotificationV2,
41+
AndroidFcmOptions,
3542
ApnsConfig,
3643
ApnsFcmOptions,
3744
ApnsPayload,

0 commit comments

Comments
 (0)