@react-native-firebase/messaging 25.0.1 → 26.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +4 -3
  3. package/RNFBMessaging.podspec +20 -6
  4. package/android/build.gradle +24 -0
  5. package/android/src/main/java/io/invertase/firebase/messaging/{ReactNativeFirebaseMessagingModule.java → NativeRNFBTurboMessaging.java} +143 -81
  6. package/android/src/main/java/io/invertase/firebase/messaging/ReactNativeFirebaseMessagingPackage.java +1 -1
  7. package/android/src/main/java/io/invertase/firebase/messaging/ReactNativeFirebaseMessagingReceiver.java +16 -0
  8. package/android/src/main/java/io/invertase/firebase/messaging/ReactNativeFirebaseMessagingStoreImpl.java +50 -11
  9. package/android/src/main/java/io/invertase/firebase/messaging/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboMessagingSpec.java +151 -0
  10. package/android/src/main/java/io/invertase/firebase/messaging/generated/jni/CMakeLists.txt +36 -0
  11. package/android/src/main/java/io/invertase/firebase/messaging/generated/jni/RNFBMessagingTurboModules-generated.cpp +152 -0
  12. package/android/src/main/java/io/invertase/firebase/messaging/generated/jni/RNFBMessagingTurboModules.h +31 -0
  13. package/android/src/main/java/io/invertase/firebase/messaging/generated/jni/react/renderer/components/RNFBMessagingTurboModules/RNFBMessagingTurboModulesJSI-generated.cpp +161 -0
  14. package/android/src/main/java/io/invertase/firebase/messaging/generated/jni/react/renderer/components/RNFBMessagingTurboModules/RNFBMessagingTurboModulesJSI.h +356 -0
  15. package/app.plugin.js +1 -1
  16. package/dist/module/index.js +622 -7
  17. package/dist/module/index.js.map +1 -1
  18. package/dist/module/statics.js +1 -1
  19. package/dist/module/types/internal.js +4 -0
  20. package/dist/module/types/internal.js.map +1 -0
  21. package/dist/module/types/messaging.js +0 -15
  22. package/dist/module/types/messaging.js.map +1 -1
  23. package/dist/module/version.js +1 -1
  24. package/dist/typescript/lib/index.d.ts +182 -5
  25. package/dist/typescript/lib/index.d.ts.map +1 -1
  26. package/dist/typescript/lib/types/internal.d.ts +41 -0
  27. package/dist/typescript/lib/types/internal.d.ts.map +1 -0
  28. package/dist/typescript/lib/types/messaging.d.ts +7 -55
  29. package/dist/typescript/lib/types/messaging.d.ts.map +1 -1
  30. package/dist/typescript/lib/version.d.ts +1 -1
  31. package/ios/RNFBMessaging/RNFBMessaging+AppDelegate.h +24 -2
  32. package/ios/RNFBMessaging/RNFBMessaging+AppDelegate.m +82 -12
  33. package/ios/RNFBMessaging/RNFBMessaging+NSNotificationCenter.m +14 -4
  34. package/ios/RNFBMessaging/RNFBMessaging+UNUserNotificationCenter.m +31 -28
  35. package/ios/RNFBMessaging/RNFBMessagingModule.h +3 -2
  36. package/ios/RNFBMessaging/RNFBMessagingModule.mm +500 -0
  37. package/ios/RNFBMessaging.xcodeproj/project.pbxproj +8 -8
  38. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  39. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  40. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  41. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  42. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  43. package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
  44. package/ios/generated/RNFBMessagingTurboModules/RNFBMessagingTurboModules-generated.mm +184 -0
  45. package/ios/generated/RNFBMessagingTurboModules/RNFBMessagingTurboModules.h +222 -0
  46. package/ios/generated/RNFBMessagingTurboModulesJSI-generated.cpp +161 -0
  47. package/ios/generated/RNFBMessagingTurboModulesJSI.h +356 -0
  48. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  49. package/lib/index.ts +821 -15
  50. package/lib/statics.ts +1 -1
  51. package/lib/types/internal.ts +59 -0
  52. package/lib/types/messaging.ts +7 -72
  53. package/lib/version.ts +1 -1
  54. package/package.json +30 -5
  55. package/plugin/build/app.plugin.d.ts +2 -0
  56. package/plugin/build/app.plugin.js +6 -0
  57. package/plugin/src/app.plugin.ts +3 -0
  58. package/plugin/tsconfig.tsbuildinfo +1 -1
  59. package/react-native.config.js +10 -0
  60. package/specs/NativeRNFBTurboMessaging.ts +46 -0
  61. package/typedoc.json +2 -19
  62. package/dist/module/modular.js +0 -396
  63. package/dist/module/modular.js.map +0 -1
  64. package/dist/module/namespaced.js +0 -415
  65. package/dist/module/namespaced.js.map +0 -1
  66. package/dist/typescript/lib/modular.d.ts +0 -255
  67. package/dist/typescript/lib/modular.d.ts.map +0 -1
  68. package/dist/typescript/lib/namespaced.d.ts +0 -12
  69. package/dist/typescript/lib/namespaced.d.ts.map +0 -1
  70. package/ios/RNFBMessaging/RNFBMessagingModule.m +0 -439
  71. package/lib/modular.ts +0 -455
  72. package/lib/namespaced.ts +0 -593
@@ -17,14 +17,629 @@
17
17
  *
18
18
  */
19
19
 
20
- // Export types from types/messaging
20
+ import { hasOwnProperty, isAndroid, isBoolean, isFunction, isIOS, isObject, isString, isUndefined } from '@react-native-firebase/app/dist/module/common';
21
+ import { FirebaseModule, getOrCreateModularInstance } from '@react-native-firebase/app/dist/module/internal';
22
+ import { getReactNativeModule } from '@react-native-firebase/app/dist/module/internal/nativeModule';
23
+ import { UTILS_NATIVE_MODULE } from '@react-native-firebase/app/dist/module/internal/constants';
24
+ import "./types/internal.js";
25
+ import { AppRegistry } from 'react-native';
26
+ import remoteMessageOptions from "./remoteMessageOptions.js";
27
+ import { AuthorizationStatus, NotificationAndroidPriority, NotificationAndroidVisibility } from "./statics.js";
28
+ import { version } from "./version.js";
29
+ const nativeModuleName = 'NativeRNFBTurboMessaging';
30
+ let backgroundMessageHandler;
31
+ let openSettingsForNotificationHandler;
32
+ class FirebaseMessagingModule extends FirebaseModule {
33
+ constructor(app, config, customUrlOrRegion) {
34
+ super(app, config, customUrlOrRegion);
35
+ this._isAutoInitEnabled = this.native.isAutoInitEnabled != null ? this.native.isAutoInitEnabled : true;
36
+ this._isDeliveryMetricsExportToBigQueryEnabled = this.native.isDeliveryMetricsExportToBigQueryEnabled != null ? this.native.isDeliveryMetricsExportToBigQueryEnabled : false;
37
+ this._isRegisteredForRemoteNotifications = this.native.isRegisteredForRemoteNotifications != null ? this.native.isRegisteredForRemoteNotifications : true;
38
+ this._isNotificationDelegationEnabled = this.native.getConstants?.()?.isNotificationDelegationEnabled ?? false;
39
+ AppRegistry.registerHeadlessTask('ReactNativeFirebaseMessagingHeadlessTask', () => {
40
+ if (!backgroundMessageHandler) {
41
+ // eslint-disable-next-line no-console
42
+ console.warn('No background message handler has been set. Set a handler via the "setBackgroundMessageHandler" method.');
43
+ return () => Promise.resolve();
44
+ }
45
+ return remoteMessage => backgroundMessageHandler(remoteMessage);
46
+ });
47
+ if (isIOS) {
48
+ this.emitter.addListener('messaging_message_received_background', remoteMessage => {
49
+ if (!backgroundMessageHandler) {
50
+ // eslint-disable-next-line no-console
51
+ console.warn('No background message handler has been set. Set a handler via the "setBackgroundMessageHandler" method.');
52
+ return Promise.resolve();
53
+ }
54
+ const handlerPromise = Promise.resolve(backgroundMessageHandler(remoteMessage));
55
+ handlerPromise.finally(() => {
56
+ this.native.completeNotificationProcessing();
57
+ });
58
+ return handlerPromise;
59
+ });
60
+ this.emitter.addListener('messaging_settings_for_notification_opened', remoteMessage => {
61
+ if (!openSettingsForNotificationHandler) {
62
+ // eslint-disable-next-line no-console
63
+ console.warn('No handler for notification settings link has been set. Set a handler via the "setOpenSettingsForNotificationsHandler" method');
64
+ return Promise.resolve();
65
+ }
66
+ return openSettingsForNotificationHandler(remoteMessage);
67
+ });
68
+ }
69
+ }
70
+ get isAutoInitEnabled() {
71
+ return this._isAutoInitEnabled;
72
+ }
21
73
 
22
- export { AuthorizationStatus, NotificationAndroidPriority, NotificationAndroidVisibility } from "./statics.js";
74
+ /**
75
+ * @ios
76
+ */
77
+ get isDeviceRegisteredForRemoteMessages() {
78
+ if (isAndroid) {
79
+ return true;
80
+ }
81
+ return this._isRegisteredForRemoteNotifications;
82
+ }
83
+ get isNotificationDelegationEnabled() {
84
+ return this._isNotificationDelegationEnabled;
85
+ }
86
+ get isDeliveryMetricsExportToBigQueryEnabled() {
87
+ return this._isDeliveryMetricsExportToBigQueryEnabled;
88
+ }
89
+ setAutoInitEnabled(enabled) {
90
+ if (!isBoolean(enabled)) {
91
+ throw new Error("getMessaging().setAutoInitEnabled(*) 'enabled' expected a boolean value.");
92
+ }
93
+ this._isAutoInitEnabled = enabled;
94
+ return this.native.setAutoInitEnabled(enabled);
95
+ }
96
+ getInitialNotification() {
97
+ return this.native.getInitialNotification().then(value => {
98
+ if (value) {
99
+ return value;
100
+ }
101
+ return null;
102
+ });
103
+ }
104
+ getDidOpenSettingsForNotification() {
105
+ if (!isIOS) return Promise.resolve(false);
106
+ return this.native.getDidOpenSettingsForNotification().then(value => value);
107
+ }
108
+ getIsHeadless() {
109
+ return this.native.getIsHeadless();
110
+ }
111
+ getToken(options) {
112
+ if (!isUndefined(options?.appName) && !isString(options?.appName)) {
113
+ throw new Error("getMessaging().getToken(*) 'appName' expected a string.");
114
+ }
115
+ if (!isUndefined(options?.senderId) && !isString(options?.senderId)) {
116
+ throw new Error("getMessaging().getToken(*) 'senderId' expected a string.");
117
+ }
118
+ const appName = options?.appName || this.app.name;
119
+ const senderId = options?.senderId || this.app.options.messagingSenderId;
120
+ return this.native.getToken(appName, senderId || '');
121
+ }
122
+ deleteToken(options) {
123
+ if (!isUndefined(options?.appName) && !isString(options?.appName)) {
124
+ throw new Error("getMessaging().deleteToken(*) 'appName' expected a string.");
125
+ }
126
+ if (!isUndefined(options?.senderId) && !isString(options?.senderId)) {
127
+ throw new Error("getMessaging().deleteToken(*) 'senderId' expected a string.");
128
+ }
129
+ const appName = options?.appName || this.app.name;
130
+ const senderId = options?.senderId || this.app.options.messagingSenderId;
131
+ return this.native.deleteToken(appName, senderId || '');
132
+ }
133
+ onMessage(listener) {
134
+ if (!isFunction(listener)) {
135
+ throw new Error("getMessaging().onMessage(*) 'listener' expected a function.");
136
+ }
137
+ const subscription = this.emitter.addListener('messaging_message_received', listener);
138
+ return () => subscription.remove();
139
+ }
140
+ onNotificationOpenedApp(listener) {
141
+ if (!isFunction(listener)) {
142
+ throw new Error("getMessaging().onNotificationOpenedApp(*) 'listener' expected a function.");
143
+ }
144
+ const subscription = this.emitter.addListener('messaging_notification_opened', listener);
145
+ return () => subscription.remove();
146
+ }
147
+ onTokenRefresh(listener) {
148
+ if (!isFunction(listener)) {
149
+ throw new Error("getMessaging().onTokenRefresh(*) 'listener' expected a function.");
150
+ }
151
+ const subscription = this.emitter.addListener('messaging_token_refresh', event => {
152
+ const {
153
+ token
154
+ } = event;
155
+ listener(token);
156
+ });
157
+ return () => subscription.remove();
158
+ }
23
159
 
24
- // Export modular API functions
25
- export * from "./modular.js";
160
+ /**
161
+ * @platform ios
162
+ * @deprecated Use {@link https://github.com/zoontek/react-native-permissions react-native-permissions} or
163
+ * {@link https://docs.expo.dev/versions/latest/sdk/notifications/ expo-notifications} for notification permission
164
+ * requests instead. These APIs will be removed in a future major release.
165
+ * See {@link https://github.com/invertase/react-native-firebase/issues/6283 #6283}.
166
+ */
167
+ requestPermission(permissions) {
168
+ if (isAndroid) {
169
+ return Promise.resolve(AuthorizationStatus.AUTHORIZED);
170
+ }
171
+ const defaultPermissions = {
172
+ alert: true,
173
+ announcement: false,
174
+ badge: true,
175
+ carPlay: true,
176
+ provisional: false,
177
+ sound: true,
178
+ criticalAlert: false,
179
+ providesAppNotificationSettings: false
180
+ };
181
+ if (!permissions) {
182
+ return this.native.requestPermission(defaultPermissions);
183
+ }
184
+ if (!isObject(permissions)) {
185
+ throw new Error('getMessaging().requestPermission(*) expected an object value.');
186
+ }
187
+ Object.entries(permissions).forEach(([key, value]) => {
188
+ if (!hasOwnProperty(defaultPermissions, key)) {
189
+ throw new Error(`getMessaging().requestPermission(*) unexpected key "${key}" provided to permissions object.`);
190
+ }
191
+ if (!isBoolean(value)) {
192
+ throw new Error(`getMessaging().requestPermission(*) the permission "${key}" expected a boolean value.`);
193
+ }
194
+ defaultPermissions[key] = value;
195
+ });
196
+ return this.native.requestPermission(defaultPermissions);
197
+ }
198
+ registerDeviceForRemoteMessages() {
199
+ if (isAndroid) {
200
+ return Promise.resolve();
201
+ }
202
+ const autoRegister = this.firebaseJson['messaging_ios_auto_register_for_remote_messages'];
203
+ if (autoRegister === undefined || autoRegister === true) {
204
+ // eslint-disable-next-line no-console
205
+ console.warn(`Usage of "registerDeviceForRemoteMessages()" is not required. You only need to register if auto-registration is disabled in your 'firebase.json' configuration file via the 'messaging_ios_auto_register_for_remote_messages' property.`);
206
+ }
207
+ this._isRegisteredForRemoteNotifications = true;
208
+ return this.native.registerForRemoteNotifications();
209
+ }
26
210
 
27
- // Export namespaced API
28
- export * from "./namespaced.js";
29
- export { default } from "./namespaced.js";
211
+ /**
212
+ * @platform ios
213
+ */
214
+ unregisterDeviceForRemoteMessages() {
215
+ if (isAndroid) {
216
+ return Promise.resolve();
217
+ }
218
+ this._isRegisteredForRemoteNotifications = false;
219
+ return this.native.unregisterForRemoteNotifications();
220
+ }
221
+
222
+ /**
223
+ * @platform ios
224
+ */
225
+ getAPNSToken() {
226
+ if (isAndroid) {
227
+ return Promise.resolve(null);
228
+ }
229
+ return this.native.getAPNSToken();
230
+ }
231
+
232
+ /**
233
+ * @platform ios
234
+ */
235
+ setAPNSToken(token, type) {
236
+ if (isUndefined(token) || !isString(token)) {
237
+ throw new Error("getMessaging().setAPNSToken(*) 'token' expected a string value.");
238
+ }
239
+ if (!isUndefined(type) && (!isString(type) || !['prod', 'sandbox', 'unknown'].includes(type))) {
240
+ throw new Error("getMessaging().setAPNSToken(*) 'type' expected one of 'prod', 'sandbox', or 'unknown'.");
241
+ }
242
+ if (isAndroid) {
243
+ return Promise.resolve();
244
+ }
245
+ return this.native.setAPNSToken(token, type);
246
+ }
247
+
248
+ /**
249
+ * @deprecated Use {@link https://github.com/zoontek/react-native-permissions react-native-permissions} or
250
+ * {@link https://docs.expo.dev/versions/latest/sdk/notifications/ expo-notifications} for notification permission
251
+ * requests instead. These APIs will be removed in a future major release.
252
+ * See {@link https://github.com/invertase/react-native-firebase/issues/6283 #6283}.
253
+ */
254
+ hasPermission() {
255
+ return this.native.hasPermission();
256
+ }
257
+ onDeletedMessages(listener) {
258
+ if (!isFunction(listener)) {
259
+ throw new Error("getMessaging().onDeletedMessages(*) 'listener' expected a function.");
260
+ }
261
+ const subscription = this.emitter.addListener('messaging_message_deleted', listener);
262
+ return () => subscription.remove();
263
+ }
264
+ onMessageSent(listener) {
265
+ if (!isFunction(listener)) {
266
+ throw new Error("getMessaging().onMessageSent(*) 'listener' expected a function.");
267
+ }
268
+ const subscription = this.emitter.addListener('messaging_message_sent', listener);
269
+ return () => {
270
+ subscription.remove();
271
+ };
272
+ }
273
+ onSendError(listener) {
274
+ if (!isFunction(listener)) {
275
+ throw new Error("getMessaging().onSendError(*) 'listener' expected a function.");
276
+ }
277
+ const subscription = this.emitter.addListener('messaging_message_send_error', listener);
278
+ return () => subscription.remove();
279
+ }
280
+ setBackgroundMessageHandler(handler) {
281
+ if (!isFunction(handler)) {
282
+ throw new Error("getMessaging().setBackgroundMessageHandler(*) 'handler' expected a function.");
283
+ }
284
+ backgroundMessageHandler = handler;
285
+ if (isIOS) {
286
+ this.native.signalBackgroundMessageHandlerSet();
287
+ }
288
+ }
289
+ setOpenSettingsForNotificationsHandler(handler) {
290
+ if (!isIOS) {
291
+ return;
292
+ }
293
+ if (!isFunction(handler)) {
294
+ throw new Error("getMessaging().setOpenSettingsForNotificationsHandler(*) 'handler' expected a function.");
295
+ }
296
+ openSettingsForNotificationHandler = handler;
297
+ }
298
+ sendMessage(remoteMessage) {
299
+ if (isIOS) {
300
+ throw new Error(`getMessaging().sendMessage() is only supported on Android devices.`);
301
+ }
302
+ let options;
303
+ try {
304
+ const senderId = this.app.options.messagingSenderId;
305
+ if (!senderId) {
306
+ throw new Error("'messagingSenderId' is required in Firebase app options.");
307
+ }
308
+ options = remoteMessageOptions(senderId, remoteMessage);
309
+ } catch (e) {
310
+ const message = e instanceof Error ? e.message : String(e);
311
+ throw new Error(`getMessaging().sendMessage(*) ${message}.`);
312
+ }
313
+ return this.native.sendMessage(options);
314
+ }
315
+ subscribeToTopic(topic) {
316
+ if (!isString(topic)) {
317
+ throw new Error("getMessaging().subscribeToTopic(*) 'topic' expected a string value.");
318
+ }
319
+ if (topic.indexOf('/') > -1) {
320
+ throw new Error('getMessaging().subscribeToTopic(*) \'topic\' must not include "/".');
321
+ }
322
+ return this.native.subscribeToTopic(topic);
323
+ }
324
+ unsubscribeFromTopic(topic) {
325
+ if (!isString(topic)) {
326
+ throw new Error("getMessaging().unsubscribeFromTopic(*) 'topic' expected a string value.");
327
+ }
328
+ if (topic.indexOf('/') > -1) {
329
+ throw new Error('getMessaging().unsubscribeFromTopic(*) \'topic\' must not include "/".');
330
+ }
331
+ return this.native.unsubscribeFromTopic(topic);
332
+ }
333
+ setDeliveryMetricsExportToBigQuery(enabled) {
334
+ if (!isBoolean(enabled)) {
335
+ throw new Error("getMessaging().setDeliveryMetricsExportToBigQuery(*) 'enabled' expected a boolean value.");
336
+ }
337
+ this._isDeliveryMetricsExportToBigQueryEnabled = enabled;
338
+ return this.native.setDeliveryMetricsExportToBigQuery(enabled);
339
+ }
340
+ setNotificationDelegationEnabled(enabled) {
341
+ if (!isBoolean(enabled)) {
342
+ throw new Error("getMessaging().setNotificationDelegationEnabled(*) 'enabled' expected a boolean value.");
343
+ }
344
+ this._isNotificationDelegationEnabled = enabled;
345
+ if (isIOS) {
346
+ return Promise.resolve();
347
+ }
348
+ return this.native.setNotificationDelegationEnabled(enabled);
349
+ }
350
+ async isSupported() {
351
+ if (isAndroid) {
352
+ // NewArch-AD-18 E6: cross-package Play Services availability via utils host.
353
+ const utilsNativeModule = getReactNativeModule(UTILS_NATIVE_MODULE);
354
+ if (!utilsNativeModule) {
355
+ return false;
356
+ }
357
+ const androidGetPlayServicesStatus = utilsNativeModule.androidGetPlayServicesStatus;
358
+ if (typeof androidGetPlayServicesStatus !== 'function') {
359
+ return false;
360
+ }
361
+ const playServicesAvailability = await androidGetPlayServicesStatus();
362
+ return playServicesAvailability?.isAvailable ?? false;
363
+ }
364
+ return true;
365
+ }
366
+ }
367
+ const config = {
368
+ namespace: 'messaging',
369
+ nativeModuleName,
370
+ nativeEvents: ['messaging_token_refresh', 'messaging_message_sent', 'messaging_message_deleted', 'messaging_message_received', 'messaging_message_send_error', 'messaging_notification_opened', ...(isIOS ? ['messaging_message_received_background', 'messaging_settings_for_notification_opened'] : [])],
371
+ hasMultiAppSupport: false,
372
+ hasCustomUrlOrRegionSupport: false,
373
+ turboModule: true
374
+ };
375
+ export const SDK_VERSION = version;
376
+ export { AuthorizationStatus, NotificationAndroidPriority, NotificationAndroidVisibility };
377
+
378
+ /**
379
+ * Returns the {@link Messaging} instance for the default or given {@link FirebaseApp}.
380
+ *
381
+ * @param app - The Firebase `FirebaseApp` to use. When omitted, the default app is used.
382
+ * @returns The Messaging service instance for that app.
383
+ */
384
+ export function getMessaging(app) {
385
+ return getOrCreateModularInstance(FirebaseMessagingModule, config, app);
386
+ }
387
+
388
+ /**
389
+ * Removes access to an FCM token previously authorized by its scope.
390
+ */
391
+ export function deleteToken(messaging, tokenOptions) {
392
+ return messaging.deleteToken(tokenOptions);
393
+ }
394
+
395
+ /**
396
+ * Returns an FCM token for this device.
397
+ */
398
+ export function getToken(messaging, options) {
399
+ return messaging.getToken(options);
400
+ }
401
+
402
+ /**
403
+ * Subscribes to foreground FCM messages.
404
+ *
405
+ * @remarks Event delivery uses the legacy native event proxy shared across RN Firebase modules
406
+ * (not yet migrated to Codegen TurboModule events). Behavior matches pre-v26 releases.
407
+ */
408
+ export function onMessage(messaging, listener) {
409
+ return messaging.onMessage(listener);
410
+ }
411
+
412
+ /**
413
+ * When the user presses a notification displayed via FCM, this listener will be called if the app
414
+ * has opened from a background state.
415
+ *
416
+ * @remarks Event delivery uses the legacy native event proxy shared across RN Firebase modules
417
+ * (not yet migrated to Codegen TurboModule events). Behavior matches pre-v26 releases.
418
+ */
419
+ export function onNotificationOpenedApp(messaging, listener) {
420
+ return messaging.onNotificationOpenedApp(listener);
421
+ }
422
+
423
+ /**
424
+ * Called when a new registration token is generated for the device.
425
+ *
426
+ * @remarks Event delivery uses the legacy native event proxy shared across RN Firebase modules
427
+ * (not yet migrated to Codegen TurboModule events). Behavior matches pre-v26 releases.
428
+ */
429
+ export function onTokenRefresh(messaging, listener) {
430
+ return messaging.onTokenRefresh(listener);
431
+ }
432
+
433
+ /**
434
+ * On iOS, messaging permission must be requested by the current application before messages can
435
+ * be received or sent.
436
+ *
437
+ * @deprecated Use {@link https://github.com/zoontek/react-native-permissions react-native-permissions} or
438
+ * {@link https://docs.expo.dev/versions/latest/sdk/notifications/ expo-notifications} for notification permission
439
+ * requests instead. These APIs will be removed in a future major release.
440
+ * See {@link https://github.com/invertase/react-native-firebase/issues/6283 #6283}.
441
+ */
442
+ export function requestPermission(messaging, iosPermissions) {
443
+ return messaging.requestPermission(iosPermissions);
444
+ }
445
+
446
+ /**
447
+ * Returns whether messaging auto initialization is enabled or disabled for the device.
448
+ */
449
+ export function isAutoInitEnabled(messaging) {
450
+ return messaging.isAutoInitEnabled;
451
+ }
452
+
453
+ /**
454
+ * Sets whether messaging auto initialization is enabled or disabled for the device.
455
+ */
456
+ export function setAutoInitEnabled(messaging, enabled) {
457
+ return messaging.setAutoInitEnabled(enabled);
458
+ }
459
+
460
+ /**
461
+ * When a notification from FCM has triggered the application to open from a quit state,
462
+ * this method will return a `RemoteMessage` containing the notification data, or `null`.
463
+ */
464
+ export function getInitialNotification(messaging) {
465
+ return messaging.getInitialNotification();
466
+ }
467
+
468
+ /**
469
+ * When the app is opened from iOS notifications settings from a quit state,
470
+ * this method will return `true` or `false` if the app was opened via another method.
471
+ */
472
+ export function getDidOpenSettingsForNotification(messaging) {
473
+ return messaging.getDidOpenSettingsForNotification();
474
+ }
475
+
476
+ /**
477
+ * Returns whether the root view is headless or not.
478
+ */
479
+ export function getIsHeadless(messaging) {
480
+ return messaging.getIsHeadless();
481
+ }
482
+
483
+ /**
484
+ * On iOS, if your app wants to receive remote messages from FCM (via APNs), you must explicitly register
485
+ * with APNs if auto-registration has been disabled.
486
+ *
487
+ * On ARM64 iOS Simulator, native registration skips UIKit `registerForRemoteNotifications`
488
+ * (main-thread wedge risk) and may reject with `messaging/registration-timeout` after ~10s.
489
+ * Use a physical device for real APNs tokens. A second overlapping call rejects the prior
490
+ * attempt with `messaging/registration-superseded`. See migrating-to-v26 Cloud Messaging —
491
+ * iOS APNs registration.
492
+ */
493
+ export function registerDeviceForRemoteMessages(messaging) {
494
+ return messaging.registerDeviceForRemoteMessages();
495
+ }
496
+
497
+ /**
498
+ * Returns a boolean value whether the user has registered for remote notifications via
499
+ * `registerDeviceForRemoteMessages()`.
500
+ */
501
+ export function isDeviceRegisteredForRemoteMessages(messaging) {
502
+ return messaging.isDeviceRegisteredForRemoteMessages;
503
+ }
504
+
505
+ /**
506
+ * Unregisters the app from receiving remote notifications.
507
+ */
508
+ export function unregisterDeviceForRemoteMessages(messaging) {
509
+ return messaging.unregisterDeviceForRemoteMessages();
510
+ }
511
+
512
+ /**
513
+ * Returns the APNs device token on iOS.
514
+ *
515
+ * @remarks **iOS only.** Returns `null` when no token is available. There is no firebase-js-sdk
516
+ * modular equivalent — web push uses a different token lifecycle.
517
+ */
518
+ export function getAPNSToken(messaging) {
519
+ return messaging.getAPNSToken();
520
+ }
521
+
522
+ /**
523
+ * Sets the APNs device token received by the application delegate.
524
+ *
525
+ * @remarks **iOS only.** `type` must be `'prod'`, `'sandbox'`, or `'unknown'`.
526
+ */
527
+ export function setAPNSToken(messaging, token, type) {
528
+ return messaging.setAPNSToken(token, type);
529
+ }
530
+
531
+ /**
532
+ * Returns a `AuthorizationStatus` as to whether the user has messaging permission for this app.
533
+ *
534
+ * @deprecated Use {@link https://github.com/zoontek/react-native-permissions react-native-permissions} or
535
+ * {@link https://docs.expo.dev/versions/latest/sdk/notifications/ expo-notifications} for notification permission
536
+ * requests instead. These APIs will be removed in a future major release.
537
+ * See {@link https://github.com/invertase/react-native-firebase/issues/6283 #6283}.
538
+ */
539
+ export function hasPermission(messaging) {
540
+ return messaging.hasPermission();
541
+ }
542
+
543
+ /**
544
+ * Called when the FCM server deletes pending messages.
545
+ *
546
+ * @remarks Event delivery uses the legacy native event proxy shared across RN Firebase modules
547
+ * (not yet migrated to Codegen TurboModule events). Behavior matches pre-v26 releases.
548
+ */
549
+ export function onDeletedMessages(messaging, listener) {
550
+ return messaging.onDeletedMessages(listener);
551
+ }
552
+
553
+ /**
554
+ * When sending a `RemoteMessage`, this listener is called when the message has been sent to FCM.
555
+ */
556
+ export function onMessageSent(messaging, listener) {
557
+ return messaging.onMessageSent(listener);
558
+ }
559
+
560
+ /**
561
+ * When sending a `RemoteMessage`, this listener is called when an error is thrown and the
562
+ * message could not be sent.
563
+ *
564
+ * @remarks Event delivery uses the legacy native event proxy shared across RN Firebase modules
565
+ * (not yet migrated to Codegen TurboModule events). Behavior matches pre-v26 releases.
566
+ */
567
+ export function onSendError(messaging, listener) {
568
+ return messaging.onSendError(listener);
569
+ }
570
+
571
+ /**
572
+ * Set a message handler function which is called when the app is in the background or terminated.
573
+ *
574
+ * @remarks Event delivery uses the legacy native event proxy shared across RN Firebase modules
575
+ * (not yet migrated to Codegen TurboModule events). Behavior matches pre-v26 releases.
576
+ */
577
+ export function setBackgroundMessageHandler(messaging, handler) {
578
+ return messaging.setBackgroundMessageHandler(handler);
579
+ }
580
+
581
+ /**
582
+ * Set a handler function which is called when the `${App Name} notifications settings`
583
+ * link in iOS settings is clicked.
584
+ */
585
+ export function setOpenSettingsForNotificationsHandler(messaging, handler) {
586
+ return messaging.setOpenSettingsForNotificationsHandler(handler);
587
+ }
588
+
589
+ /**
590
+ * Send a new `RemoteMessage` to the FCM server.
591
+ */
592
+ export function sendMessage(messaging, message) {
593
+ return messaging.sendMessage(message);
594
+ }
595
+
596
+ /**
597
+ * Apps can subscribe to a topic, which allows the FCM server to send targeted messages to only those
598
+ * devices subscribed to that topic.
599
+ */
600
+ export function subscribeToTopic(messaging, topic) {
601
+ return messaging.subscribeToTopic(topic);
602
+ }
603
+
604
+ /**
605
+ * Unsubscribe the device from a topic.
606
+ */
607
+ export function unsubscribeFromTopic(messaging, topic) {
608
+ return messaging.unsubscribeFromTopic(topic);
609
+ }
610
+
611
+ /**
612
+ * Returns a boolean whether message delivery metrics are exported to BigQuery.
613
+ */
614
+ export function isDeliveryMetricsExportToBigQueryEnabled(messaging) {
615
+ return messaging.isDeliveryMetricsExportToBigQueryEnabled;
616
+ }
617
+
618
+ /**
619
+ * Returns a boolean whether message delegation is enabled. Android only, always returns false on iOS.
620
+ */
621
+ export function isNotificationDelegationEnabled(messaging) {
622
+ return messaging.isNotificationDelegationEnabled;
623
+ }
624
+
625
+ /**
626
+ * Sets whether message notification delegation is enabled or disabled.
627
+ */
628
+ export function setNotificationDelegationEnabled(messaging, enabled) {
629
+ return messaging.setNotificationDelegationEnabled(enabled);
630
+ }
631
+
632
+ /**
633
+ * Checks if all required APIs exist in the browser.
634
+ */
635
+ export function isSupported(messaging) {
636
+ return messaging.isSupported();
637
+ }
638
+
639
+ /**
640
+ * Sets whether message delivery metrics are exported to BigQuery is enabled or disabled.
641
+ */
642
+ export function experimentalSetDeliveryMetricsExportedToBigQueryEnabled(messaging, enabled) {
643
+ return messaging.setDeliveryMetricsExportToBigQuery(enabled);
644
+ }
30
645
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AuthorizationStatus","NotificationAndroidPriority","NotificationAndroidVisibility","default"],"sourceRoot":"../../lib","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAeA,SACEA,mBAAmB,EACnBC,2BAA2B,EAC3BC,6BAA6B,QACxB,cAAW;;AAElB;AACA,cAAc,cAAW;;AAEzB;AACA,cAAc,iBAAc;AAC5B,SAASC,OAAO,QAAQ,iBAAc","ignoreList":[]}
1
+ {"version":3,"names":["hasOwnProperty","isAndroid","isBoolean","isFunction","isIOS","isObject","isString","isUndefined","FirebaseModule","getOrCreateModularInstance","getReactNativeModule","UTILS_NATIVE_MODULE","AppRegistry","remoteMessageOptions","AuthorizationStatus","NotificationAndroidPriority","NotificationAndroidVisibility","version","nativeModuleName","backgroundMessageHandler","openSettingsForNotificationHandler","FirebaseMessagingModule","constructor","app","config","customUrlOrRegion","_isAutoInitEnabled","native","isAutoInitEnabled","_isDeliveryMetricsExportToBigQueryEnabled","isDeliveryMetricsExportToBigQueryEnabled","_isRegisteredForRemoteNotifications","isRegisteredForRemoteNotifications","_isNotificationDelegationEnabled","getConstants","isNotificationDelegationEnabled","registerHeadlessTask","console","warn","Promise","resolve","remoteMessage","emitter","addListener","handlerPromise","finally","completeNotificationProcessing","isDeviceRegisteredForRemoteMessages","setAutoInitEnabled","enabled","Error","getInitialNotification","then","value","getDidOpenSettingsForNotification","getIsHeadless","getToken","options","appName","senderId","name","messagingSenderId","deleteToken","onMessage","listener","subscription","remove","onNotificationOpenedApp","onTokenRefresh","event","token","requestPermission","permissions","AUTHORIZED","defaultPermissions","alert","announcement","badge","carPlay","provisional","sound","criticalAlert","providesAppNotificationSettings","Object","entries","forEach","key","registerDeviceForRemoteMessages","autoRegister","firebaseJson","undefined","registerForRemoteNotifications","unregisterDeviceForRemoteMessages","unregisterForRemoteNotifications","getAPNSToken","setAPNSToken","type","includes","hasPermission","onDeletedMessages","onMessageSent","onSendError","setBackgroundMessageHandler","handler","signalBackgroundMessageHandlerSet","setOpenSettingsForNotificationsHandler","sendMessage","e","message","String","subscribeToTopic","topic","indexOf","unsubscribeFromTopic","setDeliveryMetricsExportToBigQuery","setNotificationDelegationEnabled","isSupported","utilsNativeModule","androidGetPlayServicesStatus","playServicesAvailability","isAvailable","namespace","nativeEvents","hasMultiAppSupport","hasCustomUrlOrRegionSupport","turboModule","SDK_VERSION","getMessaging","messaging","tokenOptions","iosPermissions","experimentalSetDeliveryMetricsExportedToBigQueryEnabled"],"sourceRoot":"../../lib","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- // shared between namespaced and modular API
3
+ // Authorization and notification statics for modular API exports
4
4
 
5
5
  /**
6
6
  * Authorization status values returned by the deprecated permission APIs.