@react-native-firebase/analytics 20.4.0 → 21.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.
- package/CHANGELOG.md +10 -0
- package/__tests__/analytics.test.ts +59 -0
- package/ios/RNFBAnalytics/RNFBAnalyticsModule.m +28 -0
- package/lib/index.d.ts +32 -4
- package/lib/index.js +38 -0
- package/lib/modular/index.d.ts +37 -4
- package/lib/modular/index.js +32 -0
- package/lib/version.js +1 -1
- package/package.json +3 -3
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
|
+
## [21.0.0](https://github.com/invertase/react-native-firebase/compare/v20.5.0...v21.0.0) (2024-09-26)
|
7
|
+
|
8
|
+
**Note:** Version bump only for package @react-native-firebase/analytics
|
9
|
+
|
10
|
+
## [20.5.0](https://github.com/invertase/react-native-firebase/compare/v20.4.0...v20.5.0) (2024-09-11)
|
11
|
+
|
12
|
+
### Features
|
13
|
+
|
14
|
+
- **analytics:** initiate on device measurement with sha256-hashed values ([#7963](https://github.com/invertase/react-native-firebase/issues/7963)) ([5ce51e1](https://github.com/invertase/react-native-firebase/commit/5ce51e1b8b225bb509b4a0d444f42fa4c5f3effc))
|
15
|
+
|
6
16
|
## [20.4.0](https://github.com/invertase/react-native-firebase/compare/v20.3.0...v20.4.0) (2024-08-13)
|
7
17
|
|
8
18
|
### Bug Fixes
|
@@ -50,7 +50,9 @@ import {
|
|
50
50
|
logViewSearchResults,
|
51
51
|
setDefaultEventParameters,
|
52
52
|
initiateOnDeviceConversionMeasurementWithEmailAddress,
|
53
|
+
initiateOnDeviceConversionMeasurementWithHashedEmailAddress,
|
53
54
|
initiateOnDeviceConversionMeasurementWithPhoneNumber,
|
55
|
+
initiateOnDeviceConversionMeasurementWithHashedPhoneNumber,
|
54
56
|
isSupported,
|
55
57
|
setConsent,
|
56
58
|
settings,
|
@@ -650,6 +652,38 @@ describe('Analytics', function () {
|
|
650
652
|
});
|
651
653
|
});
|
652
654
|
|
655
|
+
describe('initiateOnDeviceConversionMeasurementWithHashedEmailAddress()', function () {
|
656
|
+
it('throws if not a string', function () {
|
657
|
+
expect(() =>
|
658
|
+
// @ts-ignore
|
659
|
+
firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedEmailAddress(true),
|
660
|
+
).toThrowError(
|
661
|
+
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedEmailAddress(*) 'hashedEmailAddress' expected a string value.",
|
662
|
+
);
|
663
|
+
});
|
664
|
+
});
|
665
|
+
|
666
|
+
describe('initiateOnDeviceConversionMeasurementWithHashedPhoneNumber()', function () {
|
667
|
+
it('throws if not a string', function () {
|
668
|
+
expect(() =>
|
669
|
+
// @ts-ignore
|
670
|
+
firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(1234),
|
671
|
+
).toThrowError(
|
672
|
+
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a string value.",
|
673
|
+
);
|
674
|
+
});
|
675
|
+
|
676
|
+
it('throws if hashed value is a phone number in E.164 format', function () {
|
677
|
+
expect(() =>
|
678
|
+
firebase
|
679
|
+
.analytics()
|
680
|
+
.initiateOnDeviceConversionMeasurementWithHashedPhoneNumber('+1234567890'),
|
681
|
+
).toThrowError(
|
682
|
+
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a sha256-hashed value of a phone number in E.164 format.",
|
683
|
+
);
|
684
|
+
});
|
685
|
+
});
|
686
|
+
|
653
687
|
describe('modular', function () {
|
654
688
|
it('`getAnalytics` function is properly exposed to end user', function () {
|
655
689
|
expect(getAnalytics).toBeDefined();
|
@@ -843,10 +877,35 @@ describe('Analytics', function () {
|
|
843
877
|
expect(initiateOnDeviceConversionMeasurementWithEmailAddress).toBeDefined();
|
844
878
|
});
|
845
879
|
|
880
|
+
it('`initiateOnDeviceConversionMeasurementWithHashedEmailAddress` function is properly exposed to end user', function () {
|
881
|
+
expect(initiateOnDeviceConversionMeasurementWithHashedEmailAddress).toBeDefined();
|
882
|
+
});
|
883
|
+
|
884
|
+
it('`initiateOnDeviceConversionMeasurementWithHashedEmailAddress` throws if not a string', function () {
|
885
|
+
expect(() =>
|
886
|
+
// @ts-ignore
|
887
|
+
initiateOnDeviceConversionMeasurementWithHashedEmailAddress(getAnalytics(), true),
|
888
|
+
).toThrowError(
|
889
|
+
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedEmailAddress(*) 'hashedEmailAddress' expected a string value.",
|
890
|
+
);
|
891
|
+
});
|
892
|
+
|
893
|
+
it('`initiateOnDeviceConversionMeasurementWithHashedPhoneNumber` should throw if the value is in E.164 format', function () {
|
894
|
+
expect(() =>
|
895
|
+
initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(getAnalytics(), '+1234567890'),
|
896
|
+
).toThrowError(
|
897
|
+
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a sha256-hashed value of a phone number in E.164 format.",
|
898
|
+
);
|
899
|
+
});
|
900
|
+
|
846
901
|
it('`initiateOnDeviceConversionMeasurementWithPhoneNumber` function is properly exposed to end user', function () {
|
847
902
|
expect(initiateOnDeviceConversionMeasurementWithPhoneNumber).toBeDefined();
|
848
903
|
});
|
849
904
|
|
905
|
+
it('`initiateOnDeviceConversionMeasurementWithHashedPhoneNumber` function is properly exposed to end user', function () {
|
906
|
+
expect(initiateOnDeviceConversionMeasurementWithHashedPhoneNumber).toBeDefined();
|
907
|
+
});
|
908
|
+
|
850
909
|
it('`isSupported` function is properly exposed to end user', function () {
|
851
910
|
expect(isSupported).toBeDefined();
|
852
911
|
});
|
@@ -164,6 +164,20 @@ RCT_EXPORT_METHOD(initiateOnDeviceConversionMeasurementWithEmailAddress
|
|
164
164
|
return resolve([NSNull null]);
|
165
165
|
}
|
166
166
|
|
167
|
+
RCT_EXPORT_METHOD(initiateOnDeviceConversionMeasurementWithHashedEmailAddress
|
168
|
+
: (NSString *)hashedEmailAddress resolver
|
169
|
+
: (RCTPromiseResolveBlock)resolve rejecter
|
170
|
+
: (RCTPromiseRejectBlock)reject) {
|
171
|
+
@try {
|
172
|
+
NSData *emailAddress = [hashedEmailAddress dataUsingEncoding:NSUTF8StringEncoding];
|
173
|
+
[FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:emailAddress];
|
174
|
+
} @catch (NSException *exception) {
|
175
|
+
return [RNFBSharedUtils rejectPromiseWithExceptionDict:reject exception:exception];
|
176
|
+
}
|
177
|
+
|
178
|
+
return resolve([NSNull null]);
|
179
|
+
}
|
180
|
+
|
167
181
|
RCT_EXPORT_METHOD(initiateOnDeviceConversionMeasurementWithPhoneNumber
|
168
182
|
: (NSString *)phoneNumber resolver
|
169
183
|
: (RCTPromiseResolveBlock)resolve rejecter
|
@@ -177,6 +191,20 @@ RCT_EXPORT_METHOD(initiateOnDeviceConversionMeasurementWithPhoneNumber
|
|
177
191
|
return resolve([NSNull null]);
|
178
192
|
}
|
179
193
|
|
194
|
+
RCT_EXPORT_METHOD(initiateOnDeviceConversionMeasurementWithHashedPhoneNumber
|
195
|
+
: (NSString *)hashedPhoneNumber resolver
|
196
|
+
: (RCTPromiseResolveBlock)resolve rejecter
|
197
|
+
: (RCTPromiseRejectBlock)reject) {
|
198
|
+
@try {
|
199
|
+
NSData *phoneNumber = [hashedPhoneNumber dataUsingEncoding:NSUTF8StringEncoding];
|
200
|
+
[FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:phoneNumber];
|
201
|
+
} @catch (NSException *exception) {
|
202
|
+
return [RNFBSharedUtils rejectPromiseWithExceptionDict:reject exception:exception];
|
203
|
+
}
|
204
|
+
|
205
|
+
return resolve([NSNull null]);
|
206
|
+
}
|
207
|
+
|
180
208
|
RCT_EXPORT_METHOD(setConsent
|
181
209
|
: (NSDictionary *)consentSettings resolver
|
182
210
|
: (RCTPromiseResolveBlock)resolve rejecter
|
package/lib/index.d.ts
CHANGED
@@ -1755,23 +1755,51 @@ export namespace FirebaseAnalyticsTypes {
|
|
1755
1755
|
setDefaultEventParameters(params?: { [key: string]: any }): Promise<void>;
|
1756
1756
|
|
1757
1757
|
/**
|
1758
|
-
*
|
1758
|
+
* Start privacy-sensitive on-device conversion management.
|
1759
1759
|
* This is iOS-only.
|
1760
|
-
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile
|
1760
|
+
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile.
|
1761
1761
|
*
|
1762
|
+
* @platform ios
|
1762
1763
|
* @param emailAddress email address, properly formatted complete with domain name e.g, 'user@example.com'
|
1763
1764
|
*/
|
1764
1765
|
initiateOnDeviceConversionMeasurementWithEmailAddress(emailAddress: string): Promise<void>;
|
1765
1766
|
|
1766
1767
|
/**
|
1767
|
-
*
|
1768
|
+
* Start privacy-sensitive on-device conversion management.
|
1768
1769
|
* This is iOS-only.
|
1769
|
-
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile
|
1770
|
+
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile.
|
1771
|
+
* You need to pass the sha256-hashed of normalized email address to this function. See [this link](https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3#use-hashed-credentials) for more information.
|
1770
1772
|
*
|
1773
|
+
* @platform ios
|
1774
|
+
* @param hashedEmailAddress sha256-hashed of normalized email address, properly formatted complete with domain name e.g, 'user@example.com'
|
1775
|
+
*/
|
1776
|
+
initiateOnDeviceConversionMeasurementWithHashedEmailAddress(
|
1777
|
+
hashedEmailAddress: string,
|
1778
|
+
): Poromise<void>;
|
1779
|
+
|
1780
|
+
/**
|
1781
|
+
* Start privacy-sensitive on-device conversion management.
|
1782
|
+
* This is iOS-only.
|
1783
|
+
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile.
|
1784
|
+
*
|
1785
|
+
* @platform ios
|
1771
1786
|
* @param phoneNumber phone number in E.164 format - that is a leading + sign, then up to 15 digits, no dashes or spaces.
|
1772
1787
|
*/
|
1773
1788
|
initiateOnDeviceConversionMeasurementWithPhoneNumber(phoneNumber: string): Promise<void>;
|
1774
1789
|
|
1790
|
+
/**
|
1791
|
+
* Start privacy-sensitive on-device conversion management.
|
1792
|
+
* This is iOS-only.
|
1793
|
+
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile.
|
1794
|
+
* You need to pass the sha256-hashed of phone number in E.164 format. See [this link](https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3#use-hashed-credentials) for more information.
|
1795
|
+
*
|
1796
|
+
* @platform ios
|
1797
|
+
* @param hashedPhoneNumber sha256-hashed of normalized phone number in E.164 format - that is a leading + sign, then up to 15 digits, no dashes or spaces.
|
1798
|
+
*/
|
1799
|
+
initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(
|
1800
|
+
hashedPhoneNumber: string,
|
1801
|
+
): Promise<void>;
|
1802
|
+
|
1775
1803
|
/**
|
1776
1804
|
* For Consent Mode!
|
1777
1805
|
*
|
package/lib/index.js
CHANGED
@@ -743,6 +743,22 @@ class FirebaseAnalyticsModule extends FirebaseModule {
|
|
743
743
|
return this.native.initiateOnDeviceConversionMeasurementWithEmailAddress(emailAddress);
|
744
744
|
}
|
745
745
|
|
746
|
+
initiateOnDeviceConversionMeasurementWithHashedEmailAddress(hashedEmailAddress) {
|
747
|
+
if (!isString(hashedEmailAddress)) {
|
748
|
+
throw new Error(
|
749
|
+
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedEmailAddress(*) 'hashedEmailAddress' expected a string value.",
|
750
|
+
);
|
751
|
+
}
|
752
|
+
|
753
|
+
if (!isIOS) {
|
754
|
+
return;
|
755
|
+
}
|
756
|
+
|
757
|
+
return this.native.initiateOnDeviceConversionMeasurementWithHashedEmailAddress(
|
758
|
+
hashedEmailAddress,
|
759
|
+
);
|
760
|
+
}
|
761
|
+
|
746
762
|
initiateOnDeviceConversionMeasurementWithPhoneNumber(phoneNumber) {
|
747
763
|
if (!isE164PhoneNumber(phoneNumber)) {
|
748
764
|
throw new Error(
|
@@ -756,6 +772,28 @@ class FirebaseAnalyticsModule extends FirebaseModule {
|
|
756
772
|
|
757
773
|
return this.native.initiateOnDeviceConversionMeasurementWithPhoneNumber(phoneNumber);
|
758
774
|
}
|
775
|
+
|
776
|
+
initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(hashedPhoneNumber) {
|
777
|
+
if (isE164PhoneNumber(hashedPhoneNumber)) {
|
778
|
+
throw new Error(
|
779
|
+
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a sha256-hashed value of a phone number in E.164 format.",
|
780
|
+
);
|
781
|
+
}
|
782
|
+
|
783
|
+
if (!isString(hashedPhoneNumber)) {
|
784
|
+
throw new Error(
|
785
|
+
"firebase.analytics().initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(*) 'hashedPhoneNumber' expected a string value.",
|
786
|
+
);
|
787
|
+
}
|
788
|
+
|
789
|
+
if (!isIOS) {
|
790
|
+
return;
|
791
|
+
}
|
792
|
+
|
793
|
+
return this.native.initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(
|
794
|
+
hashedPhoneNumber,
|
795
|
+
);
|
796
|
+
}
|
759
797
|
}
|
760
798
|
|
761
799
|
// import { SDK_VERSION } from '@react-native-firebase/analytics';
|
package/lib/modular/index.d.ts
CHANGED
@@ -1143,6 +1143,7 @@ export function logViewSearchResults(
|
|
1143
1143
|
* For Web, the values passed persist on the current page and are passed with all
|
1144
1144
|
* subsequent events.
|
1145
1145
|
*
|
1146
|
+
* @platform ios
|
1146
1147
|
* @param analytics Analytics instance.
|
1147
1148
|
* @param params Parameters to be added to the map of parameters added to every event.
|
1148
1149
|
*/
|
@@ -1152,10 +1153,11 @@ export function setDefaultEventParameters(
|
|
1152
1153
|
): Promise<void>;
|
1153
1154
|
|
1154
1155
|
/**
|
1155
|
-
*
|
1156
|
+
* Start privacy-sensitive on-device conversion management.
|
1156
1157
|
* This is iOS-only.
|
1157
|
-
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile
|
1158
|
+
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile.
|
1158
1159
|
*
|
1160
|
+
* @platform ios
|
1159
1161
|
* @param analytics Analytics instance.
|
1160
1162
|
* @param emailAddress email address, properly formatted complete with domain name e.g, 'user@example.com'
|
1161
1163
|
*/
|
@@ -1165,10 +1167,26 @@ export function initiateOnDeviceConversionMeasurementWithEmailAddress(
|
|
1165
1167
|
): Promise<void>;
|
1166
1168
|
|
1167
1169
|
/**
|
1168
|
-
*
|
1170
|
+
* Start privacy-sensitive on-device conversion management.
|
1169
1171
|
* This is iOS-only.
|
1170
|
-
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile
|
1172
|
+
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile.
|
1173
|
+
* You need to pass the sha256-hashed of normalized email address to this function. See [this link](https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3#use-hashed-credentials) for more information.
|
1171
1174
|
*
|
1175
|
+
* @platform ios
|
1176
|
+
* @param analytics Analytics instance.
|
1177
|
+
* @param hashedEmailAddress sha256-hashed of normalized email address, properly formatted complete with domain name e.g, 'user@example.com'
|
1178
|
+
*/
|
1179
|
+
export function initiateOnDeviceConversionMeasurementWithHashedEmailAddress(
|
1180
|
+
analytics: Analytics,
|
1181
|
+
hashedEmailAddress: string,
|
1182
|
+
): Poromise<void>;
|
1183
|
+
|
1184
|
+
/**
|
1185
|
+
* Start privacy-sensitive on-device conversion management.
|
1186
|
+
* This is iOS-only.
|
1187
|
+
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile.
|
1188
|
+
*
|
1189
|
+
* @platform ios
|
1172
1190
|
* @param analytics Analytics instance.
|
1173
1191
|
* @param phoneNumber phone number in E.164 format - that is a leading + sign, then up to 15 digits, no dashes or spaces.
|
1174
1192
|
*/
|
@@ -1177,6 +1195,21 @@ export function initiateOnDeviceConversionMeasurementWithPhoneNumber(
|
|
1177
1195
|
phoneNumber: string,
|
1178
1196
|
): Promise<void>;
|
1179
1197
|
|
1198
|
+
/**
|
1199
|
+
* Start privacy-sensitive on-device conversion management.
|
1200
|
+
* This is iOS-only.
|
1201
|
+
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile.
|
1202
|
+
* You need to pass the sha256-hashed of phone number in E.164 format. See [this link](https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3#use-hashed-credentials) for more information.
|
1203
|
+
*
|
1204
|
+
* @platform ios
|
1205
|
+
* @param analytics Analytics instance.
|
1206
|
+
* @param hashedPhoneNumber sha256-hashed of normalized phone number in E.164 format - that is a leading + sign, then up to 15 digits, no dashes or spaces.
|
1207
|
+
*/
|
1208
|
+
export function initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(
|
1209
|
+
analytics: Analytics,
|
1210
|
+
hashedPhoneNumber: string,
|
1211
|
+
): Promise<void>;
|
1212
|
+
|
1180
1213
|
/**
|
1181
1214
|
* Checks four different things.
|
1182
1215
|
* 1. Checks if it's not a browser extension environment.
|
package/lib/modular/index.js
CHANGED
@@ -524,6 +524,22 @@ export function initiateOnDeviceConversionMeasurementWithEmailAddress(analytics,
|
|
524
524
|
return analytics.initiateOnDeviceConversionMeasurementWithEmailAddress(emailAddress);
|
525
525
|
}
|
526
526
|
|
527
|
+
/**
|
528
|
+
* start privacy-sensitive on-device conversion management.
|
529
|
+
* This is iOS-only.
|
530
|
+
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile
|
531
|
+
*
|
532
|
+
* @param analytics Analytics instance.
|
533
|
+
* @param hashedEmailAddress sha256-hashed of normalized email address, properly formatted complete with domain name e.g, 'user@example.com'
|
534
|
+
* @link https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3#use-hashed-credentials
|
535
|
+
*/
|
536
|
+
export function initiateOnDeviceConversionMeasurementWithHashedEmailAddress(
|
537
|
+
analytics,
|
538
|
+
hashedEmailAddress,
|
539
|
+
) {
|
540
|
+
return analytics.initiateOnDeviceConversionMeasurementWithHashedEmailAddress(hashedEmailAddress);
|
541
|
+
}
|
542
|
+
|
527
543
|
/**
|
528
544
|
* start privacy-sensitive on-device conversion management.
|
529
545
|
* This is iOS-only.
|
@@ -535,6 +551,22 @@ export function initiateOnDeviceConversionMeasurementWithPhoneNumber(analytics,
|
|
535
551
|
return analytics.initiateOnDeviceConversionMeasurementWithPhoneNumber(phoneNumber);
|
536
552
|
}
|
537
553
|
|
554
|
+
/**
|
555
|
+
* start privacy-sensitive on-device conversion management.
|
556
|
+
* This is iOS-only.
|
557
|
+
* This is a no-op if you do not include '$RNFirebaseAnalyticsGoogleAppMeasurementOnDeviceConversion = true' in your Podfile
|
558
|
+
*
|
559
|
+
* @param analytics Analytics instance.
|
560
|
+
* @param hashedPhoneNumber sha256-hashed of normalized phone number in E.164 format - that is a leading + sign, then up to 15 digits, no dashes or spaces.
|
561
|
+
* @link https://firebase.google.com/docs/tutorials/ads-ios-on-device-measurement/step-3#use-hashed-credentials
|
562
|
+
*/
|
563
|
+
export function initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(
|
564
|
+
analytics,
|
565
|
+
hashedPhoneNumber,
|
566
|
+
) {
|
567
|
+
return analytics.initiateOnDeviceConversionMeasurementWithHashedPhoneNumber(hashedPhoneNumber);
|
568
|
+
}
|
569
|
+
|
538
570
|
/**
|
539
571
|
* Checks four different things.
|
540
572
|
* 1. Checks if it's not a browser extension environment.
|
package/lib/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
// Generated by genversion.
|
2
|
-
module.exports = '
|
2
|
+
module.exports = '21.0.0';
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@react-native-firebase/analytics",
|
3
|
-
"version": "
|
3
|
+
"version": "21.0.0",
|
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": "lib/index.js",
|
@@ -22,10 +22,10 @@
|
|
22
22
|
"analytics"
|
23
23
|
],
|
24
24
|
"peerDependencies": {
|
25
|
-
"@react-native-firebase/app": "
|
25
|
+
"@react-native-firebase/app": "21.0.0"
|
26
26
|
},
|
27
27
|
"publishConfig": {
|
28
28
|
"access": "public"
|
29
29
|
},
|
30
|
-
"gitHead": "
|
30
|
+
"gitHead": "6965c40db30a832a21c3f9a93f6e5df36f137461"
|
31
31
|
}
|