@react-native-firebase/messaging 25.1.0 → 26.1.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.
- package/CHANGELOG.md +36 -0
- package/RNFBMessaging.podspec +27 -8
- package/android/build.gradle +24 -0
- package/android/src/main/java/io/invertase/firebase/messaging/{ReactNativeFirebaseMessagingModule.java → NativeRNFBTurboMessaging.java} +143 -81
- package/android/src/main/java/io/invertase/firebase/messaging/ReactNativeFirebaseMessagingPackage.java +1 -1
- package/android/src/main/java/io/invertase/firebase/messaging/ReactNativeFirebaseMessagingReceiver.java +16 -0
- package/android/src/main/java/io/invertase/firebase/messaging/ReactNativeFirebaseMessagingStoreImpl.java +50 -11
- package/android/src/main/java/io/invertase/firebase/messaging/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboMessagingSpec.java +151 -0
- package/android/src/main/java/io/invertase/firebase/messaging/generated/jni/CMakeLists.txt +36 -0
- package/android/src/main/java/io/invertase/firebase/messaging/generated/jni/RNFBMessagingTurboModules-generated.cpp +152 -0
- package/android/src/main/java/io/invertase/firebase/messaging/generated/jni/RNFBMessagingTurboModules.h +31 -0
- package/android/src/main/java/io/invertase/firebase/messaging/generated/jni/react/renderer/components/RNFBMessagingTurboModules/RNFBMessagingTurboModulesJSI-generated.cpp +161 -0
- package/android/src/main/java/io/invertase/firebase/messaging/generated/jni/react/renderer/components/RNFBMessagingTurboModules/RNFBMessagingTurboModulesJSI.h +356 -0
- package/app.plugin.js +1 -1
- package/dist/module/index.js +622 -7
- package/dist/module/index.js.map +1 -1
- package/dist/module/statics.js +1 -1
- package/dist/module/types/internal.js +4 -0
- package/dist/module/types/internal.js.map +1 -0
- package/dist/module/types/messaging.js +0 -15
- package/dist/module/types/messaging.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/lib/index.d.ts +182 -5
- package/dist/typescript/lib/index.d.ts.map +1 -1
- package/dist/typescript/lib/types/internal.d.ts +41 -0
- package/dist/typescript/lib/types/internal.d.ts.map +1 -0
- package/dist/typescript/lib/types/messaging.d.ts +7 -55
- package/dist/typescript/lib/types/messaging.d.ts.map +1 -1
- package/dist/typescript/lib/version.d.ts +1 -1
- package/ios/RNFBMessaging/RNFBMessaging+AppDelegate.h +24 -2
- package/ios/RNFBMessaging/RNFBMessaging+AppDelegate.m +90 -12
- package/ios/RNFBMessaging/RNFBMessaging+FIRMessagingDelegate.h +8 -0
- package/ios/RNFBMessaging/RNFBMessaging+NSNotificationCenter.m +22 -4
- package/ios/RNFBMessaging/RNFBMessaging+UNUserNotificationCenter.m +31 -28
- package/ios/RNFBMessaging/RNFBMessagingModule.h +3 -2
- package/ios/RNFBMessaging/RNFBMessagingModule.mm +508 -0
- package/ios/RNFBMessaging/RNFBMessagingSerializer.h +8 -0
- package/ios/RNFBMessaging.xcodeproj/project.pbxproj +8 -8
- package/ios/generated/RCTAppDependencyProvider.h +25 -0
- package/ios/generated/RCTAppDependencyProvider.mm +55 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
- package/ios/generated/RNFBMessagingTurboModules/RNFBMessagingTurboModules-generated.mm +184 -0
- package/ios/generated/RNFBMessagingTurboModules/RNFBMessagingTurboModules.h +222 -0
- package/ios/generated/RNFBMessagingTurboModulesJSI-generated.cpp +161 -0
- package/ios/generated/RNFBMessagingTurboModulesJSI.h +356 -0
- package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
- package/lib/index.ts +821 -15
- package/lib/statics.ts +1 -1
- package/lib/types/internal.ts +59 -0
- package/lib/types/messaging.ts +7 -72
- package/lib/version.ts +1 -1
- package/package.json +30 -5
- package/plugin/build/android/setupFirebaseNotifationIcon.d.ts +3 -2
- package/plugin/build/android/setupFirebaseNotifationIcon.js +14 -7
- package/plugin/build/app.plugin.d.ts +2 -0
- package/plugin/build/app.plugin.js +6 -0
- package/plugin/build/index.d.ts +2 -1
- package/plugin/build/index.js +4 -4
- package/plugin/build/pluginConfig.d.ts +7 -0
- package/plugin/build/pluginConfig.js +2 -0
- package/plugin/src/android/setupFirebaseNotifationIcon.ts +19 -6
- package/plugin/src/app.plugin.ts +3 -0
- package/plugin/src/index.ts +5 -4
- package/plugin/src/pluginConfig.ts +8 -0
- package/plugin/tsconfig.tsbuildinfo +1 -1
- package/react-native.config.js +10 -0
- package/specs/NativeRNFBTurboMessaging.ts +46 -0
- package/typedoc.json +2 -19
- package/dist/module/modular.js +0 -396
- package/dist/module/modular.js.map +0 -1
- package/dist/module/namespaced.js +0 -415
- package/dist/module/namespaced.js.map +0 -1
- package/dist/typescript/lib/modular.d.ts +0 -255
- package/dist/typescript/lib/modular.d.ts.map +0 -1
- package/dist/typescript/lib/namespaced.d.ts +0 -12
- package/dist/typescript/lib/namespaced.d.ts.map +0 -1
- package/ios/RNFBMessaging/RNFBMessagingModule.m +0 -439
- package/lib/modular.ts +0 -455
- package/lib/namespaced.ts +0 -593
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../lib","sources":["types/internal.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -116,19 +116,4 @@ export let MessagePriority = /*#__PURE__*/function (MessagePriority) {
|
|
|
116
116
|
*
|
|
117
117
|
* > This module is available for the default app only.
|
|
118
118
|
*/
|
|
119
|
-
|
|
120
|
-
// ============ Statics Interface ============
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Static properties available on firebase.messaging
|
|
124
|
-
*/
|
|
125
|
-
|
|
126
|
-
// ============ Module Augmentation ============
|
|
127
|
-
/* eslint-disable @typescript-eslint/no-namespace */
|
|
128
|
-
|
|
129
|
-
// ============ Backwards Compatibility Namespace ============
|
|
130
|
-
|
|
131
|
-
/* eslint-disable @typescript-eslint/no-namespace */
|
|
132
|
-
export let FirebaseMessagingTypes;
|
|
133
|
-
/* eslint-enable @typescript-eslint/no-namespace */
|
|
134
119
|
//# sourceMappingURL=messaging.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MessagePriority"
|
|
1
|
+
{"version":3,"names":["MessagePriority"],"sourceRoot":"../../../lib","sources":["types/messaging.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;;AAEA;AACA;AACA;;AAuFA;AACA;AACA;AACA;AACA;AACA,WAAYA,eAAe,0BAAfA,eAAe;EACzB;AACF;AACA;EAHYA,eAAe,CAAfA,eAAe;EAMzB;AACF;AACA;EARYA,eAAe,CAAfA,eAAe;EAWzB;AACF;AACA;EAbYA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;;AAiB3B;AACA;AACA;;AAaA;AACA;AACA;;AAaA;AACA;AACA;;AAiBA;AACA;AACA;AACA;;AAiJA;AACA;AACA;AACA;;AAqBA;AACA;AACA;AACA;AACA;AACA;;AAMO;;AAEP;AACA;AACA;;AAIO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO;;AAEP;AACA;AACA;;AAaA;;AAEA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
package/dist/module/version.js
CHANGED
|
@@ -1,6 +1,183 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
1
|
+
import './types/internal';
|
|
2
|
+
import type { FirebaseApp } from '@react-native-firebase/app';
|
|
3
|
+
import { AuthorizationStatus, NotificationAndroidPriority, NotificationAndroidVisibility } from './statics';
|
|
4
|
+
import type { Messaging, RemoteMessage, IOSPermissions, AuthorizationStatus as AuthorizationStatusType, NativeTokenOptions, GetTokenOptions, SendErrorEvent } from './types/messaging';
|
|
5
|
+
export declare const SDK_VERSION = "26.1.0";
|
|
6
|
+
export { AuthorizationStatus, NotificationAndroidPriority, NotificationAndroidVisibility };
|
|
7
|
+
/**
|
|
8
|
+
* Returns the {@link Messaging} instance for the default or given {@link FirebaseApp}.
|
|
9
|
+
*
|
|
10
|
+
* @param app - The Firebase `FirebaseApp` to use. When omitted, the default app is used.
|
|
11
|
+
* @returns The Messaging service instance for that app.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getMessaging(app?: FirebaseApp): Messaging;
|
|
14
|
+
/**
|
|
15
|
+
* Removes access to an FCM token previously authorized by its scope.
|
|
16
|
+
*/
|
|
17
|
+
export declare function deleteToken(messaging: Messaging, tokenOptions?: NativeTokenOptions): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns an FCM token for this device.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getToken(messaging: Messaging, options?: GetTokenOptions & NativeTokenOptions): Promise<string>;
|
|
22
|
+
/**
|
|
23
|
+
* Subscribes to foreground FCM messages.
|
|
24
|
+
*
|
|
25
|
+
* @remarks Event delivery uses the legacy native event proxy shared across RN Firebase modules
|
|
26
|
+
* (not yet migrated to Codegen TurboModule events). Behavior matches pre-v26 releases.
|
|
27
|
+
*/
|
|
28
|
+
export declare function onMessage(messaging: Messaging, listener: (message: RemoteMessage) => any): () => void;
|
|
29
|
+
/**
|
|
30
|
+
* When the user presses a notification displayed via FCM, this listener will be called if the app
|
|
31
|
+
* has opened from a background state.
|
|
32
|
+
*
|
|
33
|
+
* @remarks Event delivery uses the legacy native event proxy shared across RN Firebase modules
|
|
34
|
+
* (not yet migrated to Codegen TurboModule events). Behavior matches pre-v26 releases.
|
|
35
|
+
*/
|
|
36
|
+
export declare function onNotificationOpenedApp(messaging: Messaging, listener: (message: RemoteMessage) => any): () => void;
|
|
37
|
+
/**
|
|
38
|
+
* Called when a new registration token is generated for the device.
|
|
39
|
+
*
|
|
40
|
+
* @remarks Event delivery uses the legacy native event proxy shared across RN Firebase modules
|
|
41
|
+
* (not yet migrated to Codegen TurboModule events). Behavior matches pre-v26 releases.
|
|
42
|
+
*/
|
|
43
|
+
export declare function onTokenRefresh(messaging: Messaging, listener: (token: string) => any): () => void;
|
|
44
|
+
/**
|
|
45
|
+
* On iOS, messaging permission must be requested by the current application before messages can
|
|
46
|
+
* be received or sent.
|
|
47
|
+
*
|
|
48
|
+
* @deprecated Use {@link https://github.com/zoontek/react-native-permissions react-native-permissions} or
|
|
49
|
+
* {@link https://docs.expo.dev/versions/latest/sdk/notifications/ expo-notifications} for notification permission
|
|
50
|
+
* requests instead. These APIs will be removed in a future major release.
|
|
51
|
+
* See {@link https://github.com/invertase/react-native-firebase/issues/6283 #6283}.
|
|
52
|
+
*/
|
|
53
|
+
export declare function requestPermission(messaging: Messaging, iosPermissions?: IOSPermissions): Promise<AuthorizationStatusType>;
|
|
54
|
+
/**
|
|
55
|
+
* Returns whether messaging auto initialization is enabled or disabled for the device.
|
|
56
|
+
*/
|
|
57
|
+
export declare function isAutoInitEnabled(messaging: Messaging): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Sets whether messaging auto initialization is enabled or disabled for the device.
|
|
60
|
+
*/
|
|
61
|
+
export declare function setAutoInitEnabled(messaging: Messaging, enabled: boolean): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* When a notification from FCM has triggered the application to open from a quit state,
|
|
64
|
+
* this method will return a `RemoteMessage` containing the notification data, or `null`.
|
|
65
|
+
*/
|
|
66
|
+
export declare function getInitialNotification(messaging: Messaging): Promise<RemoteMessage | null>;
|
|
67
|
+
/**
|
|
68
|
+
* When the app is opened from iOS notifications settings from a quit state,
|
|
69
|
+
* this method will return `true` or `false` if the app was opened via another method.
|
|
70
|
+
*/
|
|
71
|
+
export declare function getDidOpenSettingsForNotification(messaging: Messaging): Promise<boolean>;
|
|
72
|
+
/**
|
|
73
|
+
* Returns whether the root view is headless or not.
|
|
74
|
+
*/
|
|
75
|
+
export declare function getIsHeadless(messaging: Messaging): Promise<boolean>;
|
|
76
|
+
/**
|
|
77
|
+
* On iOS, if your app wants to receive remote messages from FCM (via APNs), you must explicitly register
|
|
78
|
+
* with APNs if auto-registration has been disabled.
|
|
79
|
+
*
|
|
80
|
+
* On ARM64 iOS Simulator, native registration skips UIKit `registerForRemoteNotifications`
|
|
81
|
+
* (main-thread wedge risk) and may reject with `messaging/registration-timeout` after ~10s.
|
|
82
|
+
* Use a physical device for real APNs tokens. A second overlapping call rejects the prior
|
|
83
|
+
* attempt with `messaging/registration-superseded`. See migrating-to-v26 Cloud Messaging —
|
|
84
|
+
* iOS APNs registration.
|
|
85
|
+
*/
|
|
86
|
+
export declare function registerDeviceForRemoteMessages(messaging: Messaging): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Returns a boolean value whether the user has registered for remote notifications via
|
|
89
|
+
* `registerDeviceForRemoteMessages()`.
|
|
90
|
+
*/
|
|
91
|
+
export declare function isDeviceRegisteredForRemoteMessages(messaging: Messaging): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Unregisters the app from receiving remote notifications.
|
|
94
|
+
*/
|
|
95
|
+
export declare function unregisterDeviceForRemoteMessages(messaging: Messaging): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Returns the APNs device token on iOS.
|
|
98
|
+
*
|
|
99
|
+
* @remarks **iOS only.** Returns `null` when no token is available. There is no firebase-js-sdk
|
|
100
|
+
* modular equivalent — web push uses a different token lifecycle.
|
|
101
|
+
*/
|
|
102
|
+
export declare function getAPNSToken(messaging: Messaging): Promise<string | null>;
|
|
103
|
+
/**
|
|
104
|
+
* Sets the APNs device token received by the application delegate.
|
|
105
|
+
*
|
|
106
|
+
* @remarks **iOS only.** `type` must be `'prod'`, `'sandbox'`, or `'unknown'`.
|
|
107
|
+
*/
|
|
108
|
+
export declare function setAPNSToken(messaging: Messaging, token: string, type?: string): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Returns a `AuthorizationStatus` as to whether the user has messaging permission for this app.
|
|
111
|
+
*
|
|
112
|
+
* @deprecated Use {@link https://github.com/zoontek/react-native-permissions react-native-permissions} or
|
|
113
|
+
* {@link https://docs.expo.dev/versions/latest/sdk/notifications/ expo-notifications} for notification permission
|
|
114
|
+
* requests instead. These APIs will be removed in a future major release.
|
|
115
|
+
* See {@link https://github.com/invertase/react-native-firebase/issues/6283 #6283}.
|
|
116
|
+
*/
|
|
117
|
+
export declare function hasPermission(messaging: Messaging): Promise<AuthorizationStatusType>;
|
|
118
|
+
/**
|
|
119
|
+
* Called when the FCM server deletes pending messages.
|
|
120
|
+
*
|
|
121
|
+
* @remarks Event delivery uses the legacy native event proxy shared across RN Firebase modules
|
|
122
|
+
* (not yet migrated to Codegen TurboModule events). Behavior matches pre-v26 releases.
|
|
123
|
+
*/
|
|
124
|
+
export declare function onDeletedMessages(messaging: Messaging, listener: () => void): () => void;
|
|
125
|
+
/**
|
|
126
|
+
* When sending a `RemoteMessage`, this listener is called when the message has been sent to FCM.
|
|
127
|
+
*/
|
|
128
|
+
export declare function onMessageSent(messaging: Messaging, listener: (messageId: string) => any): () => void;
|
|
129
|
+
/**
|
|
130
|
+
* When sending a `RemoteMessage`, this listener is called when an error is thrown and the
|
|
131
|
+
* message could not be sent.
|
|
132
|
+
*
|
|
133
|
+
* @remarks Event delivery uses the legacy native event proxy shared across RN Firebase modules
|
|
134
|
+
* (not yet migrated to Codegen TurboModule events). Behavior matches pre-v26 releases.
|
|
135
|
+
*/
|
|
136
|
+
export declare function onSendError(messaging: Messaging, listener: (evt: SendErrorEvent) => any): () => void;
|
|
137
|
+
/**
|
|
138
|
+
* Set a message handler function which is called when the app is in the background or terminated.
|
|
139
|
+
*
|
|
140
|
+
* @remarks Event delivery uses the legacy native event proxy shared across RN Firebase modules
|
|
141
|
+
* (not yet migrated to Codegen TurboModule events). Behavior matches pre-v26 releases.
|
|
142
|
+
*/
|
|
143
|
+
export declare function setBackgroundMessageHandler(messaging: Messaging, handler: (message: RemoteMessage) => Promise<any>): void;
|
|
144
|
+
/**
|
|
145
|
+
* Set a handler function which is called when the `${App Name} notifications settings`
|
|
146
|
+
* link in iOS settings is clicked.
|
|
147
|
+
*/
|
|
148
|
+
export declare function setOpenSettingsForNotificationsHandler(messaging: Messaging, handler: (message: RemoteMessage) => any): void;
|
|
149
|
+
/**
|
|
150
|
+
* Send a new `RemoteMessage` to the FCM server.
|
|
151
|
+
*/
|
|
152
|
+
export declare function sendMessage(messaging: Messaging, message: RemoteMessage): Promise<void>;
|
|
153
|
+
/**
|
|
154
|
+
* Apps can subscribe to a topic, which allows the FCM server to send targeted messages to only those
|
|
155
|
+
* devices subscribed to that topic.
|
|
156
|
+
*/
|
|
157
|
+
export declare function subscribeToTopic(messaging: Messaging, topic: string): Promise<void>;
|
|
158
|
+
/**
|
|
159
|
+
* Unsubscribe the device from a topic.
|
|
160
|
+
*/
|
|
161
|
+
export declare function unsubscribeFromTopic(messaging: Messaging, topic: string): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* Returns a boolean whether message delivery metrics are exported to BigQuery.
|
|
164
|
+
*/
|
|
165
|
+
export declare function isDeliveryMetricsExportToBigQueryEnabled(messaging: Messaging): boolean;
|
|
166
|
+
/**
|
|
167
|
+
* Returns a boolean whether message delegation is enabled. Android only, always returns false on iOS.
|
|
168
|
+
*/
|
|
169
|
+
export declare function isNotificationDelegationEnabled(messaging: Messaging): boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Sets whether message notification delegation is enabled or disabled.
|
|
172
|
+
*/
|
|
173
|
+
export declare function setNotificationDelegationEnabled(messaging: Messaging, enabled: boolean): Promise<void>;
|
|
174
|
+
/**
|
|
175
|
+
* Checks if all required APIs exist in the browser.
|
|
176
|
+
*/
|
|
177
|
+
export declare function isSupported(messaging: Messaging): Promise<boolean>;
|
|
178
|
+
/**
|
|
179
|
+
* Sets whether message delivery metrics are exported to BigQuery is enabled or disabled.
|
|
180
|
+
*/
|
|
181
|
+
export declare function experimentalSetDeliveryMetricsExportedToBigQueryEnabled(messaging: Messaging, enabled: boolean): Promise<void>;
|
|
182
|
+
export type { Messaging, RemoteMessage, MessagePriority, FcmOptions, NativeTokenOptions, GetTokenOptions, Notification, NotificationIOSCriticalSound, IOSPermissions, SendErrorEvent, } from './types/messaging';
|
|
6
183
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { IOSPermissions, RemoteMessage } from './messaging';
|
|
2
|
+
/**
|
|
3
|
+
* Wrapped native module contract for `NativeRNFBTurboMessaging`.
|
|
4
|
+
*/
|
|
5
|
+
export interface NativeRNFBTurboMessaging {
|
|
6
|
+
getConstants?(): {
|
|
7
|
+
isAutoInitEnabled?: boolean;
|
|
8
|
+
isDeliveryMetricsExportToBigQueryEnabled?: boolean;
|
|
9
|
+
isRegisteredForRemoteNotifications?: boolean;
|
|
10
|
+
isNotificationDelegationEnabled?: boolean;
|
|
11
|
+
};
|
|
12
|
+
isAutoInitEnabled?: boolean;
|
|
13
|
+
isDeliveryMetricsExportToBigQueryEnabled?: boolean;
|
|
14
|
+
isRegisteredForRemoteNotifications?: boolean;
|
|
15
|
+
setAutoInitEnabled(enabled: boolean): Promise<void>;
|
|
16
|
+
getInitialNotification(): Promise<RemoteMessage | null>;
|
|
17
|
+
getDidOpenSettingsForNotification(): Promise<boolean>;
|
|
18
|
+
getIsHeadless(): Promise<boolean>;
|
|
19
|
+
getToken(appName: string, senderId: string): Promise<string>;
|
|
20
|
+
deleteToken(appName: string, senderId: string): Promise<void>;
|
|
21
|
+
requestPermission(permissions: IOSPermissions): Promise<number>;
|
|
22
|
+
registerForRemoteNotifications(): Promise<void>;
|
|
23
|
+
unregisterForRemoteNotifications(): Promise<void>;
|
|
24
|
+
getAPNSToken(): Promise<string | null>;
|
|
25
|
+
setAPNSToken(token: string, type?: string): Promise<void>;
|
|
26
|
+
hasPermission(): Promise<number>;
|
|
27
|
+
completeNotificationProcessing(): void;
|
|
28
|
+
signalBackgroundMessageHandlerSet(): void;
|
|
29
|
+
sendMessage(options: Record<string, unknown>): Promise<void>;
|
|
30
|
+
subscribeToTopic(topic: string): Promise<void>;
|
|
31
|
+
unsubscribeFromTopic(topic: string): Promise<void>;
|
|
32
|
+
setDeliveryMetricsExportToBigQuery(enabled: boolean): Promise<void>;
|
|
33
|
+
isNotificationDelegationEnabled(): Promise<boolean>;
|
|
34
|
+
setNotificationDelegationEnabled(enabled: boolean): Promise<void>;
|
|
35
|
+
}
|
|
36
|
+
declare module '@react-native-firebase/app/dist/module/internal/NativeModules' {
|
|
37
|
+
interface ReactNativeFirebaseNativeModules {
|
|
38
|
+
NativeRNFBTurboMessaging: NativeRNFBTurboMessaging;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../lib/types/internal.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,IAAI;QACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,wCAAwC,CAAC,EAAE,OAAO,CAAC;QACnD,kCAAkC,CAAC,EAAE,OAAO,CAAC;QAC7C,+BAA+B,CAAC,EAAE,OAAO,CAAC;KAC3C,CAAC;IACF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wCAAwC,CAAC,EAAE,OAAO,CAAC;IACnD,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,sBAAsB,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACxD,iCAAiC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,iBAAiB,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,gCAAgC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,8BAA8B,IAAI,IAAI,CAAC;IACvC,iCAAiC,IAAI,IAAI,CAAC;IAC1C,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,kCAAkC,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,+BAA+B,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAED,OAAO,QAAQ,+DAA+D,CAAC;IAC7E,UAAU,gCAAgC;QACxC,wBAAwB,EAAE,wBAAwB,CAAC;KACpD;CACF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { ReactNativeFirebase } from '@react-native-firebase/app';
|
|
2
|
-
import { AuthorizationStatus as AuthorizationStatusConst, NotificationAndroidPriority as NotificationAndroidPriorityConst, NotificationAndroidVisibility as NotificationAndroidVisibilityConst } from '../statics';
|
|
3
2
|
/**
|
|
4
3
|
* The `RemoteMessage` interface describes an outgoing & incoming message from the remote FCM server.
|
|
5
4
|
*/
|
|
@@ -469,6 +468,13 @@ export interface Messaging extends ReactNativeFirebase.FirebaseModule {
|
|
|
469
468
|
* On iOS, if your app wants to receive remote messages from FCM (via APNs), you must explicitly register
|
|
470
469
|
* with APNs if auto-registration has been disabled.
|
|
471
470
|
*
|
|
471
|
+
* On **ARM64 iOS Simulator**, UIKit registration is skipped intentionally so the main thread
|
|
472
|
+
* cannot wedge; the call may reject with `messaging/registration-timeout` after ~10s and will
|
|
473
|
+
* not produce a real APNs token. Use a physical device for end-to-end push. Overlapping calls
|
|
474
|
+
* reject the earlier attempt with `messaging/registration-superseded`.
|
|
475
|
+
* `requestPermission`'s APNs side-effect is also skipped on ARM64 Simulator but that Promise
|
|
476
|
+
* still resolves with `AuthorizationStatus` (it does not reject with these codes).
|
|
477
|
+
*
|
|
472
478
|
* > You can safely call this method on Android without platform checks. It's a no-op on Android and will promise resolve `void`.
|
|
473
479
|
*/
|
|
474
480
|
registerDeviceForRemoteMessages(): Promise<void>;
|
|
@@ -595,59 +601,5 @@ export interface Messaging extends ReactNativeFirebase.FirebaseModule {
|
|
|
595
601
|
*/
|
|
596
602
|
isSupported(): Promise<boolean>;
|
|
597
603
|
}
|
|
598
|
-
/**
|
|
599
|
-
* Static properties available on firebase.messaging
|
|
600
|
-
*/
|
|
601
|
-
export interface Statics {
|
|
602
|
-
SDK_VERSION: string;
|
|
603
|
-
/** @deprecated See {@link https://github.com/invertase/react-native-firebase/issues/6283 #6283}. */
|
|
604
|
-
AuthorizationStatus: typeof AuthorizationStatusConst;
|
|
605
|
-
NotificationAndroidPriority: typeof NotificationAndroidPriorityConst;
|
|
606
|
-
NotificationAndroidVisibility: typeof NotificationAndroidVisibilityConst;
|
|
607
|
-
}
|
|
608
|
-
declare module '@react-native-firebase/app' {
|
|
609
|
-
namespace ReactNativeFirebase {
|
|
610
|
-
interface Module {
|
|
611
|
-
messaging: FirebaseModuleWithStaticsAndApp<Messaging, Statics>;
|
|
612
|
-
}
|
|
613
|
-
interface FirebaseApp {
|
|
614
|
-
messaging(): Messaging;
|
|
615
|
-
}
|
|
616
|
-
}
|
|
617
|
-
}
|
|
618
|
-
type _Messaging = Messaging;
|
|
619
|
-
type _MessagingStatics = Statics;
|
|
620
|
-
type _RemoteMessage = RemoteMessage;
|
|
621
|
-
type _MessagePriority = MessagePriority;
|
|
622
|
-
type _FcmOptions = FcmOptions;
|
|
623
|
-
type _NativeTokenOptions = NativeTokenOptions;
|
|
624
|
-
type _GetTokenOptions = GetTokenOptions;
|
|
625
|
-
type _Notification = Notification;
|
|
626
|
-
type _NotificationPayload = NotificationPayload;
|
|
627
|
-
type _NotificationIOSCriticalSound = NotificationIOSCriticalSound;
|
|
628
|
-
type _NotificationAndroidPriority = NotificationAndroidPriority;
|
|
629
|
-
type _NotificationAndroidVisibility = NotificationAndroidVisibility;
|
|
630
|
-
type _IOSPermissions = IOSPermissions;
|
|
631
|
-
type _AuthorizationStatus = AuthorizationStatus;
|
|
632
|
-
type _SendErrorEvent = SendErrorEvent;
|
|
633
|
-
export declare namespace FirebaseMessagingTypes {
|
|
634
|
-
type Module = _Messaging;
|
|
635
|
-
type Statics = _MessagingStatics;
|
|
636
|
-
type RemoteMessage = _RemoteMessage;
|
|
637
|
-
type MessagePriority = _MessagePriority;
|
|
638
|
-
type FcmOptions = _FcmOptions;
|
|
639
|
-
type NativeTokenOptions = _NativeTokenOptions;
|
|
640
|
-
type GetTokenOptions = _GetTokenOptions;
|
|
641
|
-
type Notification = _Notification;
|
|
642
|
-
type NotificationPayload = _NotificationPayload;
|
|
643
|
-
type NotificationIOSCriticalSound = _NotificationIOSCriticalSound;
|
|
644
|
-
type NotificationAndroidPriority = _NotificationAndroidPriority;
|
|
645
|
-
type NotificationAndroidVisibility = _NotificationAndroidVisibility;
|
|
646
|
-
/** @deprecated See {@link https://github.com/invertase/react-native-firebase/issues/6283 #6283}. */
|
|
647
|
-
type IOSPermissions = _IOSPermissions;
|
|
648
|
-
/** @deprecated See {@link https://github.com/invertase/react-native-firebase/issues/6283 #6283}. */
|
|
649
|
-
type AuthorizationStatus = _AuthorizationStatus;
|
|
650
|
-
type SendErrorEvent = _SendErrorEvent;
|
|
651
|
-
}
|
|
652
604
|
export {};
|
|
653
605
|
//# sourceMappingURL=messaging.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../../../lib/types/messaging.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../../../lib/types/messaging.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "
|
|
1
|
+
export declare const version = "26.1.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -25,6 +25,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
25
25
|
|
|
26
26
|
@property _Nullable RCTPromiseRejectBlock registerPromiseRejecter;
|
|
27
27
|
@property _Nullable RCTPromiseResolveBlock registerPromiseResolver;
|
|
28
|
+
@property(nonatomic, assign) NSUInteger registerPromiseGeneration;
|
|
28
29
|
@property(nonatomic, strong) NSCondition *conditionBackgroundMessageHandlerSet;
|
|
29
30
|
@property(nonatomic) BOOL backgroundMessageHandlerSet;
|
|
30
31
|
@property(nonatomic, copy) void (^completionHandler)(UIBackgroundFetchResult);
|
|
@@ -36,8 +37,29 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
36
37
|
|
|
37
38
|
- (void)signalBackgroundMessageHandlerSet;
|
|
38
39
|
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Atomically replace any pending register promise. If a prior promise was pending, it is
|
|
42
|
+
* rejected with `registration-superseded` (does not orphan). Returns the generation id for
|
|
43
|
+
* the newly stored promise — timeouts must claim with that generation so a superseded
|
|
44
|
+
* timeout cannot settle a newer call.
|
|
45
|
+
*/
|
|
46
|
+
- (NSUInteger)beginRegisterPromiseResolve:(RCTPromiseResolveBlock)resolve
|
|
47
|
+
andPromiseReject:(RCTPromiseRejectBlock)reject;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Atomically claim and clear the pending register promise only if `generation` still matches.
|
|
51
|
+
* Safe from any queue (including a background timeout queue while main is stalled).
|
|
52
|
+
*/
|
|
53
|
+
- (BOOL)claimPendingRegisterPromiseGeneration:(NSUInteger)generation
|
|
54
|
+
resolve:(RCTPromiseResolveBlock _Nullable *_Nonnull)outResolve
|
|
55
|
+
reject:(RCTPromiseRejectBlock _Nullable *_Nonnull)outReject;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Atomically claim and clear whatever register promise is currently pending (success / fail
|
|
59
|
+
* AppDelegate callbacks). Returns YES if a pending promise was claimed.
|
|
60
|
+
*/
|
|
61
|
+
- (BOOL)claimPendingRegisterPromiseResolve:(RCTPromiseResolveBlock _Nullable *_Nonnull)outResolve
|
|
62
|
+
reject:(RCTPromiseRejectBlock _Nullable *_Nonnull)outReject;
|
|
41
63
|
|
|
42
64
|
- (void)application:(UIApplication *)application
|
|
43
65
|
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
|
|
@@ -15,7 +15,15 @@
|
|
|
15
15
|
*
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
+
#if __has_include(<Firebase/Firebase.h>)
|
|
18
19
|
#import <Firebase/Firebase.h>
|
|
20
|
+
#elif __has_include(<FirebaseMessaging/FirebaseMessaging.h>)
|
|
21
|
+
#import <FirebaseCore/FirebaseCore.h>
|
|
22
|
+
#import <FirebaseMessaging/FirebaseMessaging.h>
|
|
23
|
+
#else
|
|
24
|
+
@import FirebaseCore;
|
|
25
|
+
@import FirebaseMessaging;
|
|
26
|
+
#endif
|
|
19
27
|
#import <GoogleUtilities/GULAppDelegateSwizzler.h>
|
|
20
28
|
#import <objc/runtime.h>
|
|
21
29
|
|
|
@@ -78,10 +86,80 @@
|
|
|
78
86
|
}
|
|
79
87
|
|
|
80
88
|
// used to temporarily store a promise instance to resolve calls to `registerForRemoteNotifications`
|
|
81
|
-
- (
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
89
|
+
- (NSUInteger)beginRegisterPromiseResolve:(RCTPromiseResolveBlock)resolve
|
|
90
|
+
andPromiseReject:(RCTPromiseRejectBlock)reject {
|
|
91
|
+
RCTPromiseRejectBlock supersededReject = nil;
|
|
92
|
+
NSUInteger generation = 0;
|
|
93
|
+
@synchronized(self) {
|
|
94
|
+
supersededReject = _registerPromiseRejecter;
|
|
95
|
+
_registerPromiseResolver = resolve;
|
|
96
|
+
_registerPromiseRejecter = reject;
|
|
97
|
+
_registerPromiseGeneration += 1;
|
|
98
|
+
generation = _registerPromiseGeneration;
|
|
99
|
+
}
|
|
100
|
+
if (supersededReject != nil) {
|
|
101
|
+
[RNFBSharedUtils rejectPromiseWithUserInfo:supersededReject
|
|
102
|
+
userInfo:[@{
|
|
103
|
+
@"code" : @"registration-superseded",
|
|
104
|
+
@"message" : @"registerDeviceForRemoteMessages was "
|
|
105
|
+
@"called again before the previous "
|
|
106
|
+
@"APNs registration attempt settled."
|
|
107
|
+
} mutableCopy]];
|
|
108
|
+
}
|
|
109
|
+
return generation;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
- (BOOL)claimPendingRegisterPromiseGeneration:(NSUInteger)generation
|
|
113
|
+
resolve:(RCTPromiseResolveBlock _Nullable *_Nonnull)outResolve
|
|
114
|
+
reject:(RCTPromiseRejectBlock _Nullable *_Nonnull)outReject {
|
|
115
|
+
@synchronized(self) {
|
|
116
|
+
if (generation == 0 || generation != _registerPromiseGeneration ||
|
|
117
|
+
(_registerPromiseResolver == nil && _registerPromiseRejecter == nil)) {
|
|
118
|
+
if (outResolve != NULL) {
|
|
119
|
+
*outResolve = nil;
|
|
120
|
+
}
|
|
121
|
+
if (outReject != NULL) {
|
|
122
|
+
*outReject = nil;
|
|
123
|
+
}
|
|
124
|
+
return NO;
|
|
125
|
+
}
|
|
126
|
+
if (outResolve != NULL) {
|
|
127
|
+
*outResolve = _registerPromiseResolver;
|
|
128
|
+
}
|
|
129
|
+
if (outReject != NULL) {
|
|
130
|
+
*outReject = _registerPromiseRejecter;
|
|
131
|
+
}
|
|
132
|
+
_registerPromiseResolver = nil;
|
|
133
|
+
_registerPromiseRejecter = nil;
|
|
134
|
+
// Bump generation so a late duplicate timeout/callback cannot reclaim.
|
|
135
|
+
_registerPromiseGeneration += 1;
|
|
136
|
+
return YES;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
- (BOOL)claimPendingRegisterPromiseResolve:(RCTPromiseResolveBlock _Nullable *_Nonnull)outResolve
|
|
141
|
+
reject:(RCTPromiseRejectBlock _Nullable *_Nonnull)outReject {
|
|
142
|
+
@synchronized(self) {
|
|
143
|
+
if (_registerPromiseResolver == nil && _registerPromiseRejecter == nil) {
|
|
144
|
+
if (outResolve != NULL) {
|
|
145
|
+
*outResolve = nil;
|
|
146
|
+
}
|
|
147
|
+
if (outReject != NULL) {
|
|
148
|
+
*outReject = nil;
|
|
149
|
+
}
|
|
150
|
+
return NO;
|
|
151
|
+
}
|
|
152
|
+
if (outResolve != NULL) {
|
|
153
|
+
*outResolve = _registerPromiseResolver;
|
|
154
|
+
}
|
|
155
|
+
if (outReject != NULL) {
|
|
156
|
+
*outReject = _registerPromiseRejecter;
|
|
157
|
+
}
|
|
158
|
+
_registerPromiseResolver = nil;
|
|
159
|
+
_registerPromiseRejecter = nil;
|
|
160
|
+
_registerPromiseGeneration += 1;
|
|
161
|
+
return YES;
|
|
162
|
+
}
|
|
85
163
|
}
|
|
86
164
|
|
|
87
165
|
#pragma mark -
|
|
@@ -96,21 +174,21 @@
|
|
|
96
174
|
[[FIRMessaging messaging] setAPNSToken:deviceToken type:FIRMessagingAPNSTokenTypeProd];
|
|
97
175
|
#endif
|
|
98
176
|
|
|
99
|
-
|
|
100
|
-
|
|
177
|
+
RCTPromiseResolveBlock resolve = nil;
|
|
178
|
+
RCTPromiseRejectBlock reject = nil;
|
|
179
|
+
if ([self claimPendingRegisterPromiseResolve:&resolve reject:&reject] && resolve != nil) {
|
|
180
|
+
resolve(@(
|
|
101
181
|
[RCTConvert BOOL:@([UIApplication sharedApplication].isRegisteredForRemoteNotifications)]));
|
|
102
|
-
_registerPromiseResolver = nil;
|
|
103
|
-
_registerPromiseRejecter = nil;
|
|
104
182
|
}
|
|
105
183
|
}
|
|
106
184
|
|
|
107
185
|
// called when `registerForRemoteNotifications` fails to complete
|
|
108
186
|
- (void)application:(UIApplication *)application
|
|
109
187
|
didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
188
|
+
RCTPromiseResolveBlock resolve = nil;
|
|
189
|
+
RCTPromiseRejectBlock reject = nil;
|
|
190
|
+
if ([self claimPendingRegisterPromiseResolve:&resolve reject:&reject] && reject != nil) {
|
|
191
|
+
[RNFBSharedUtils rejectPromiseWithNSError:reject error:error];
|
|
114
192
|
}
|
|
115
193
|
}
|
|
116
194
|
|
|
@@ -15,7 +15,15 @@
|
|
|
15
15
|
*
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
+
#if __has_include(<Firebase/Firebase.h>)
|
|
18
19
|
#import <Firebase/Firebase.h>
|
|
20
|
+
#elif __has_include(<FirebaseMessaging/FirebaseMessaging.h>)
|
|
21
|
+
#import <FirebaseCore/FirebaseCore.h>
|
|
22
|
+
#import <FirebaseMessaging/FirebaseMessaging.h>
|
|
23
|
+
#else
|
|
24
|
+
@import FirebaseCore;
|
|
25
|
+
@import FirebaseMessaging;
|
|
26
|
+
#endif
|
|
19
27
|
#import <Foundation/Foundation.h>
|
|
20
28
|
|
|
21
29
|
NS_ASSUME_NONNULL_BEGIN
|