@react-native-firebase/messaging 15.4.0 → 15.6.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 CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [15.6.0](https://github.com/invertase/react-native-firebase/compare/v15.5.0...v15.6.0) (2022-09-17)
7
+
8
+ ### Features
9
+
10
+ - **messaging:** add support for setDeliveryMetricsExportToBigQuery ([#6529](https://github.com/invertase/react-native-firebase/issues/6529)) ([930abd6](https://github.com/invertase/react-native-firebase/commit/930abd6920f70c89bdc70a674ff93f080b3b968d))
11
+
12
+ # [15.5.0](https://github.com/invertase/react-native-firebase/compare/v15.4.0...v15.5.0) (2022-09-16)
13
+
14
+ **Note:** Version bump only for package @react-native-firebase/messaging
15
+
6
16
  # [15.4.0](https://github.com/invertase/react-native-firebase/compare/v15.3.0...v15.4.0) (2022-08-27)
7
17
 
8
18
  ### Bug Fixes
@@ -221,10 +221,29 @@ public class ReactNativeFirebaseMessagingModule extends ReactNativeFirebaseModul
221
221
  });
222
222
  }
223
223
 
224
+ @ReactMethod
225
+ public void setDeliveryMetricsExportToBigQuery(Boolean enabled, Promise promise) {
226
+ Tasks.call(
227
+ getExecutor(),
228
+ () -> {
229
+ FirebaseMessaging.getInstance().setDeliveryMetricsExportToBigQuery(enabled);
230
+ return null;
231
+ })
232
+ .addOnCompleteListener(
233
+ task -> {
234
+ if (task.isSuccessful()) {
235
+ promise.resolve(FirebaseMessaging.getInstance().deliveryMetricsExportToBigQueryEnabled());
236
+ } else {
237
+ rejectPromiseWithExceptionMap(promise, task.getException());
238
+ }
239
+ });
240
+ }
241
+
224
242
  @Override
225
243
  public Map<String, Object> getConstants() {
226
244
  final Map<String, Object> constants = new HashMap<>();
227
245
  constants.put("isAutoInitEnabled", FirebaseMessaging.getInstance().isAutoInitEnabled());
246
+ constants.put("isDeliveryMetricsExportToBigQueryEnabled", FirebaseMessaging.getInstance().deliveryMetricsExportToBigQueryEnabled());
228
247
  return constants;
229
248
  }
230
249
 
@@ -21,4 +21,6 @@
21
21
  @interface RNFBMessagingModule : NSObject <RCTBridgeModule>
22
22
  + (NSDictionary *_Nonnull)addCustomPropsToUserProps:(NSDictionary *_Nullable)userProps
23
23
  withLaunchOptions:(NSDictionary *_Nullable)launchOptions;
24
+ @property BOOL isDeliveryMetricsExportToBigQueryEnabled;
25
+
24
26
  @end
@@ -66,6 +66,8 @@ RCT_EXPORT_MODULE();
66
66
  @([RCTConvert BOOL:@([FIRMessaging messaging].autoInitEnabled)]);
67
67
  constants[@"isRegisteredForRemoteNotifications"] = @(
68
68
  [RCTConvert BOOL:@([[UIApplication sharedApplication] isRegisteredForRemoteNotifications])]);
69
+ constants[@"isDeliveryMetricsExportToBigQueryEnabled"] =
70
+ @([RCTConvert BOOL:@(_isDeliveryMetricsExportToBigQueryEnabled)]);
69
71
  return constants;
70
72
  }
71
73
 
@@ -369,4 +371,17 @@ RCT_EXPORT_METHOD(unsubscribeFromTopic
369
371
  }];
370
372
  }
371
373
 
374
+ RCT_EXPORT_METHOD(setDeliveryMetricsExportToBigQuery
375
+ : (BOOL)enabled
376
+ : (RCTPromiseResolveBlock)resolve
377
+ : (RCTPromiseRejectBlock)reject) {
378
+ @try {
379
+ _isDeliveryMetricsExportToBigQueryEnabled = enabled;
380
+ } @catch (NSException *exception) {
381
+ return [RNFBSharedUtils rejectPromiseWithExceptionDict:reject exception:exception];
382
+ }
383
+
384
+ return resolve([NSNull null]);
385
+ }
386
+
372
387
  @end
package/lib/index.d.ts CHANGED
@@ -995,6 +995,23 @@ export namespace FirebaseMessagingTypes {
995
995
  * @param topic The topic name.
996
996
  */
997
997
  unsubscribeFromTopic(topic: string): Promise<void>;
998
+
999
+ /**
1000
+ * Sets whether message delivery metrics are exported to BigQuery is enabled or disabled.
1001
+ *
1002
+ * The value is false by default. Set this to true to allow exporting of message delivery metrics to BigQuery.
1003
+ *
1004
+ *
1005
+ * #### Example
1006
+ *
1007
+ * ```js
1008
+ * // Enable exports of message delivery metrics to BigQuery
1009
+ * await firebase.messaging().setDeliveryMetricsExportToBigQuery(true);
1010
+ * ```
1011
+ *
1012
+ * @param enabled A boolean value to enable or disable exporting of message delivery metrics to BigQuery.
1013
+ */
1014
+ setDeliveryMetricsExportToBigQuery(enabled: boolean): Promise<void>;
998
1015
  }
999
1016
  }
1000
1017
 
package/lib/index.js CHANGED
@@ -68,6 +68,10 @@ class FirebaseMessagingModule extends FirebaseModule {
68
68
  super(...args);
69
69
  this._isAutoInitEnabled =
70
70
  this.native.isAutoInitEnabled != null ? this.native.isAutoInitEnabled : true;
71
+ this._isDeliveryMetricsExportToBigQueryEnabled =
72
+ this.native.isDeliveryMetricsExportToBigQueryEnabled != null
73
+ ? this.native.isDeliveryMetricsExportToBigQueryEnabled
74
+ : false;
71
75
  this._isRegisteredForRemoteNotifications =
72
76
  this.native.isRegisteredForRemoteNotifications != null
73
77
  ? this.native.isRegisteredForRemoteNotifications
@@ -127,6 +131,10 @@ class FirebaseMessagingModule extends FirebaseModule {
127
131
  return this._isRegisteredForRemoteNotifications;
128
132
  }
129
133
 
134
+ get isDeliveryMetricsExportToBigQueryEnabled() {
135
+ return this._isDeliveryMetricsExportToBigQueryEnabled;
136
+ }
137
+
130
138
  setAutoInitEnabled(enabled) {
131
139
  if (!isBoolean(enabled)) {
132
140
  throw new Error(
@@ -429,6 +437,17 @@ class FirebaseMessagingModule extends FirebaseModule {
429
437
  'firebase.messaging().usePublicVapidKey() is not supported on react-native-firebase.',
430
438
  );
431
439
  }
440
+
441
+ setDeliveryMetricsExportToBigQuery(enabled) {
442
+ if (!isBoolean(enabled)) {
443
+ throw new Error(
444
+ "firebase.messaging().setDeliveryMetricsExportToBigQuery(*) 'enabled' expected a boolean value.",
445
+ );
446
+ }
447
+
448
+ this._isDeliveryMetricsExportToBigQueryEnabled = enabled;
449
+ return this.native.setDeliveryMetricsExportToBigQuery(enabled);
450
+ }
432
451
  }
433
452
 
434
453
  // import { SDK_VERSION } from '@react-native-firebase/messaging';
package/lib/version.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // Generated by genversion.
2
- module.exports = '15.4.0';
2
+ module.exports = '15.6.0';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-native-firebase/messaging",
3
- "version": "15.4.0",
3
+ "version": "15.6.0",
4
4
  "author": "Invertase <oss@invertase.io> (http://invertase.io)",
5
5
  "description": "React Native Firebase - React Native Firebase provides native integration of Firebase Cloud Messaging (FCM) for both Android & iOS. FCM is a cost free service, allowing for server-device and device-device communication. The React Native Firebase Messaging module provides a simple JavaScript API to interact with FCM.",
6
6
  "main": "lib/index.js",
@@ -22,10 +22,10 @@
22
22
  "messaging"
23
23
  ],
24
24
  "peerDependencies": {
25
- "@react-native-firebase/app": "15.4.0"
25
+ "@react-native-firebase/app": "15.6.0"
26
26
  },
27
27
  "publishConfig": {
28
28
  "access": "public"
29
29
  },
30
- "gitHead": "a05f63d5cb208d9b6f645a0743584f58a942d6bc"
30
+ "gitHead": "09edad10f28d4d2e0a471aa075c6f004826e1331"
31
31
  }