@react-native-firebase/analytics 23.8.5 → 23.8.6

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,12 @@
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
+ ## [23.8.6](https://github.com/invertase/react-native-firebase/compare/v23.8.5...v23.8.6) (2026-02-03)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **analytics, ios:** correct hex string to NSData conversion for hashed conversion methods ([#8870](https://github.com/invertase/react-native-firebase/issues/8870)) ([7df6130](https://github.com/invertase/react-native-firebase/commit/7df61307f19db84df72c4d3587a8994aeb7d3fce))
11
+
6
12
  ## [23.8.5](https://github.com/invertase/react-native-firebase/compare/v23.8.4...v23.8.5) (2026-01-31)
7
13
 
8
14
  ### Bug Fixes
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
 
3
3
  // Generated by genversion.
4
- export const version = '23.8.5';
4
+ export const version = '23.8.6';
5
5
  //# sourceMappingURL=version.js.map
@@ -1,2 +1,2 @@
1
- export declare const version = "23.8.5";
1
+ export declare const version = "23.8.6";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -176,7 +176,7 @@ RCT_EXPORT_METHOD(initiateOnDeviceConversionMeasurementWithHashedEmailAddress
176
176
  : (RCTPromiseResolveBlock)resolve rejecter
177
177
  : (RCTPromiseRejectBlock)reject) {
178
178
  @try {
179
- NSData *emailAddress = [hashedEmailAddress dataUsingEncoding:NSUTF8StringEncoding];
179
+ NSData *emailAddress = [self dataFromHexString:hashedEmailAddress];
180
180
  [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:emailAddress];
181
181
  } @catch (NSException *exception) {
182
182
  return [RNFBSharedUtils rejectPromiseWithExceptionDict:reject exception:exception];
@@ -203,7 +203,7 @@ RCT_EXPORT_METHOD(initiateOnDeviceConversionMeasurementWithHashedPhoneNumber
203
203
  : (RCTPromiseResolveBlock)resolve rejecter
204
204
  : (RCTPromiseRejectBlock)reject) {
205
205
  @try {
206
- NSData *phoneNumber = [hashedPhoneNumber dataUsingEncoding:NSUTF8StringEncoding];
206
+ NSData *phoneNumber = [self dataFromHexString:hashedPhoneNumber];
207
207
  [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:phoneNumber];
208
208
  } @catch (NSException *exception) {
209
209
  return [RNFBSharedUtils rejectPromiseWithExceptionDict:reject exception:exception];
@@ -265,4 +265,20 @@ RCT_EXPORT_METHOD(setConsent
265
265
  return [value isEqual:[NSNull null]] ? nil : value;
266
266
  }
267
267
 
268
+ /// Converts a hex string to NSData
269
+ /// @param hexString A hex string (e.g., SHA256 hash as 64-character hex string)
270
+ /// @return NSData containing the decoded bytes (e.g., 32 bytes for SHA256)
271
+ - (NSData *)dataFromHexString:(NSString *)hexString {
272
+ NSMutableData *data = [NSMutableData dataWithCapacity:hexString.length / 2];
273
+ unsigned char wholeByte;
274
+ char byteChars[3] = {'\0', '\0', '\0'};
275
+ for (NSUInteger i = 0; i < hexString.length; i += 2) {
276
+ byteChars[0] = [hexString characterAtIndex:i];
277
+ byteChars[1] = [hexString characterAtIndex:i + 1];
278
+ wholeByte = strtol(byteChars, NULL, 16);
279
+ [data appendBytes:&wholeByte length:1];
280
+ }
281
+ return data;
282
+ }
283
+
268
284
  @end
package/lib/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  // Generated by genversion.
2
- export const version = '23.8.5';
2
+ export const version = '23.8.6';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-native-firebase/analytics",
3
- "version": "23.8.5",
3
+ "version": "23.8.6",
4
4
  "author": "Invertase <oss@invertase.io> (http://invertase.io)",
5
5
  "description": "React Native Firebase - The analytics module provides out of the box support with Google Analytics for Firebase. Integration with the Android & iOS allows for in-depth analytical insight reporting, such as device information, location, user actions and more.",
6
6
  "main": "./dist/module/index.js",
@@ -23,7 +23,7 @@
23
23
  "analytics"
24
24
  ],
25
25
  "peerDependencies": {
26
- "@react-native-firebase/app": "23.8.5"
26
+ "@react-native-firebase/app": "23.8.6"
27
27
  },
28
28
  "publishConfig": {
29
29
  "access": "public",
@@ -65,5 +65,5 @@
65
65
  "node_modules/",
66
66
  "dist/"
67
67
  ],
68
- "gitHead": "93815b11aef9f02c24649212771ecaaf1b230ae7"
68
+ "gitHead": "9c71040bb28a0eb93c7f0b7bc9afce8d2c8d3cbb"
69
69
  }