@react-native-firebase/analytics 23.6.0 → 23.8.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/dist/commonjs/index.js +38 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/modular.js +613 -0
- package/dist/commonjs/modular.js.map +1 -0
- package/dist/commonjs/namespaced.js +441 -0
- package/dist/commonjs/namespaced.js.map +1 -0
- package/dist/commonjs/package.json +1 -0
- package/dist/commonjs/struct.js +54 -0
- package/dist/commonjs/struct.js.map +1 -0
- package/dist/commonjs/structs.js +214 -0
- package/dist/commonjs/structs.js.map +1 -0
- package/dist/commonjs/types/analytics.js +79 -0
- package/dist/commonjs/types/analytics.js.map +1 -0
- package/dist/commonjs/types/web.js +2 -0
- package/dist/commonjs/types/web.js.map +1 -0
- package/dist/commonjs/version.js +9 -0
- package/dist/commonjs/version.js.map +1 -0
- package/dist/commonjs/web/RNFBAnalyticsModule.android.js +9 -0
- package/dist/commonjs/web/RNFBAnalyticsModule.android.js.map +1 -0
- package/dist/commonjs/web/RNFBAnalyticsModule.ios.js +9 -0
- package/dist/commonjs/web/RNFBAnalyticsModule.ios.js.map +1 -0
- package/dist/commonjs/web/RNFBAnalyticsModule.js +119 -0
- package/dist/commonjs/web/RNFBAnalyticsModule.js.map +1 -0
- package/dist/commonjs/web/api.js +294 -0
- package/dist/commonjs/web/api.js.map +1 -0
- package/{ios/RNFBAnalytics/RNFBAnalyticsModule.h → dist/module/index.js} +10 -6
- package/dist/module/index.js.map +1 -0
- package/{lib/modular/index.js → dist/module/modular.js} +43 -161
- package/dist/module/modular.js.map +1 -0
- package/dist/module/namespaced.js +438 -0
- package/dist/module/namespaced.js.map +1 -0
- package/dist/module/package.json +1 -0
- package/{lib → dist/module}/struct.js +12 -14
- package/dist/module/struct.js.map +1 -0
- package/dist/module/structs.js +210 -0
- package/dist/module/structs.js.map +1 -0
- package/dist/module/types/analytics.js +75 -0
- package/dist/module/types/analytics.js.map +1 -0
- package/dist/module/types/web.js +2 -0
- package/dist/module/types/web.js.map +1 -0
- package/dist/module/version.js +5 -0
- package/dist/module/version.js.map +1 -0
- package/dist/module/web/RNFBAnalyticsModule.android.js +6 -0
- package/dist/module/web/RNFBAnalyticsModule.android.js.map +1 -0
- package/dist/module/web/RNFBAnalyticsModule.ios.js +6 -0
- package/dist/module/web/RNFBAnalyticsModule.ios.js.map +1 -0
- package/{lib → dist/module}/web/RNFBAnalyticsModule.js +17 -21
- package/dist/module/web/RNFBAnalyticsModule.js.map +1 -0
- package/{lib → dist/module}/web/api.js +34 -77
- package/dist/module/web/api.js.map +1 -0
- package/dist/typescript/commonjs/lib/index.d.ts +5 -0
- package/dist/typescript/commonjs/lib/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/modular.d.ts +476 -0
- package/dist/typescript/commonjs/lib/modular.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/namespaced.d.ts +12 -0
- package/dist/typescript/commonjs/lib/namespaced.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/struct.d.ts +3 -0
- package/dist/typescript/commonjs/lib/struct.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/structs.d.ts +1155 -0
- package/dist/typescript/commonjs/lib/structs.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/types/analytics.d.ts +944 -0
- package/dist/typescript/commonjs/lib/types/analytics.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/types/web.d.ts +36 -0
- package/dist/typescript/commonjs/lib/types/web.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/version.d.ts +2 -0
- package/dist/typescript/commonjs/lib/version.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/web/RNFBAnalyticsModule.android.d.ts +3 -0
- package/dist/typescript/commonjs/lib/web/RNFBAnalyticsModule.android.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/web/RNFBAnalyticsModule.d.ts +9 -0
- package/dist/typescript/commonjs/lib/web/RNFBAnalyticsModule.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/web/RNFBAnalyticsModule.ios.d.ts +3 -0
- package/dist/typescript/commonjs/lib/web/RNFBAnalyticsModule.ios.d.ts.map +1 -0
- package/dist/typescript/commonjs/lib/web/api.d.ts +37 -0
- package/dist/typescript/commonjs/lib/web/api.d.ts.map +1 -0
- package/dist/typescript/commonjs/package.json +1 -0
- package/dist/typescript/module/lib/index.d.ts +5 -0
- package/dist/typescript/module/lib/index.d.ts.map +1 -0
- package/dist/typescript/module/lib/modular.d.ts +476 -0
- package/dist/typescript/module/lib/modular.d.ts.map +1 -0
- package/dist/typescript/module/lib/namespaced.d.ts +12 -0
- package/dist/typescript/module/lib/namespaced.d.ts.map +1 -0
- package/dist/typescript/module/lib/struct.d.ts +3 -0
- package/dist/typescript/module/lib/struct.d.ts.map +1 -0
- package/dist/typescript/module/lib/structs.d.ts +1155 -0
- package/dist/typescript/module/lib/structs.d.ts.map +1 -0
- package/dist/typescript/module/lib/types/analytics.d.ts +944 -0
- package/dist/typescript/module/lib/types/analytics.d.ts.map +1 -0
- package/dist/typescript/module/lib/types/web.d.ts +36 -0
- package/dist/typescript/module/lib/types/web.d.ts.map +1 -0
- package/dist/typescript/module/lib/version.d.ts +2 -0
- package/dist/typescript/module/lib/version.d.ts.map +1 -0
- package/dist/typescript/module/lib/web/RNFBAnalyticsModule.android.d.ts +3 -0
- package/dist/typescript/module/lib/web/RNFBAnalyticsModule.android.d.ts.map +1 -0
- package/dist/typescript/module/lib/web/RNFBAnalyticsModule.d.ts +9 -0
- package/dist/typescript/module/lib/web/RNFBAnalyticsModule.d.ts.map +1 -0
- package/dist/typescript/module/lib/web/RNFBAnalyticsModule.ios.d.ts +3 -0
- package/dist/typescript/module/lib/web/RNFBAnalyticsModule.ios.d.ts.map +1 -0
- package/dist/typescript/module/lib/web/api.d.ts +37 -0
- package/dist/typescript/module/lib/web/api.d.ts.map +1 -0
- package/dist/typescript/module/package.json +1 -0
- package/lib/index.ts +73 -0
- package/lib/modular.ts +1026 -0
- package/lib/{index.js → namespaced.ts} +145 -72
- package/lib/struct.ts +61 -0
- package/lib/{structs.js → structs.ts} +3 -3
- package/lib/types/analytics.ts +1078 -0
- package/lib/types/web.ts +56 -0
- package/lib/version.ts +2 -0
- package/lib/web/RNFBAnalyticsModule.android.ts +3 -0
- package/lib/web/RNFBAnalyticsModule.ios.ts +3 -0
- package/lib/web/RNFBAnalyticsModule.ts +135 -0
- package/lib/web/api.ts +366 -0
- package/package.json +61 -7
- package/CHANGELOG.md +0 -1081
- package/RNFBAnalytics.podspec +0 -71
- package/android/.editorconfig +0 -10
- package/android/build.gradle +0 -177
- package/android/lint.xml +0 -5
- package/android/settings.gradle +0 -1
- package/android/src/main/AndroidManifest.xml +0 -21
- package/android/src/main/java/io/invertase/firebase/analytics/UniversalFirebaseAnalyticsModule.java +0 -141
- package/android/src/reactnative/AndroidManifest.xml +0 -2
- package/android/src/reactnative/java/io/invertase/firebase/analytics/ReactNativeFirebaseAnalyticsModule.java +0 -213
- package/android/src/reactnative/java/io/invertase/firebase/analytics/ReactNativeFirebaseAnalyticsPackage.java +0 -41
- package/ios/RNFBAnalytics/RNFBAnalyticsModule.m +0 -268
- package/ios/RNFBAnalytics.xcodeproj/project.pbxproj +0 -349
- package/ios/RNFBAnalytics.xcodeproj/xcshareddata/IDETemplateMacros.plist +0 -24
- package/lib/index.d.ts +0 -1903
- package/lib/modular/index.d.ts +0 -1267
- package/lib/version.js +0 -2
- package/lib/web/RNFBAnalyticsModule.android.js +0 -2
- package/lib/web/RNFBAnalyticsModule.ios.js +0 -2
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AnalyticsApi = void 0;
|
|
7
|
+
var _firebaseInstallations = require("@react-native-firebase/app/lib/internal/web/firebaseInstallations");
|
|
8
|
+
var _asyncStorage = require("@react-native-firebase/app/lib/internal/asyncStorage");
|
|
9
|
+
var _common = require("@react-native-firebase/app/lib/common");
|
|
10
|
+
/* eslint-disable no-console */
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Generates a Google Analytics client ID.
|
|
14
|
+
* @returns {string} The generated client ID.
|
|
15
|
+
*/
|
|
16
|
+
function generateGAClientId() {
|
|
17
|
+
const randomNumber = Math.round(Math.random() * 2147483647);
|
|
18
|
+
// TODO: Don't seem to need this for now.
|
|
19
|
+
// var hash = 1;
|
|
20
|
+
// if (seed) {
|
|
21
|
+
// for (var i = seed.length - 1; i >= 0; i--) {
|
|
22
|
+
// var char = seed.charCodeAt(i);
|
|
23
|
+
// hash = ((hash << 6) & 268435455) + char + (char << 14);
|
|
24
|
+
// var flag = hash & 266338304;
|
|
25
|
+
// hash = flag !== 0 ? hash ^ (flag >> 21) : hash;
|
|
26
|
+
// }
|
|
27
|
+
// }
|
|
28
|
+
// const randomPart = seed ? String(randomNumber ^ (hash & 2147483647)) : String(randomNumber);
|
|
29
|
+
const randomPart = String(randomNumber);
|
|
30
|
+
const timestamp = Math.round(Date.now() / 1000);
|
|
31
|
+
return randomPart + '.' + timestamp;
|
|
32
|
+
}
|
|
33
|
+
class AnalyticsApi {
|
|
34
|
+
constructor(appName, measurementId) {
|
|
35
|
+
this.appName = appName;
|
|
36
|
+
this.measurementId = measurementId;
|
|
37
|
+
this.eventQueue = [];
|
|
38
|
+
this.queueTimer = null;
|
|
39
|
+
this.queueInterval = 250;
|
|
40
|
+
this.defaultEventParameters = {};
|
|
41
|
+
this.userId = null;
|
|
42
|
+
this.userProperties = {};
|
|
43
|
+
this.consent = {};
|
|
44
|
+
this.analyticsCollectionEnabled = true;
|
|
45
|
+
this.started = false;
|
|
46
|
+
this.installationId = null;
|
|
47
|
+
this.debug = false;
|
|
48
|
+
this.currentScreen = null;
|
|
49
|
+
this._getInstallationId().catch(error => {
|
|
50
|
+
if (globalThis.RNFBDebug) {
|
|
51
|
+
console.debug('[RNFB->Analytics][🔴] Error getting Firebase Installation Id:', error);
|
|
52
|
+
} else {
|
|
53
|
+
// No-op. This is a non-critical error.
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
setDefaultEventParameters(params) {
|
|
58
|
+
if (params === null || params === undefined) {
|
|
59
|
+
this.defaultEventParameters = {};
|
|
60
|
+
} else {
|
|
61
|
+
for (const [key, value] of Object.entries(params)) {
|
|
62
|
+
this.defaultEventParameters[key] = value;
|
|
63
|
+
if (value === null) {
|
|
64
|
+
delete this.defaultEventParameters[key];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
setDebug(enabled) {
|
|
70
|
+
this.debug = enabled;
|
|
71
|
+
}
|
|
72
|
+
setUserId(userId) {
|
|
73
|
+
this.userId = userId;
|
|
74
|
+
}
|
|
75
|
+
setCurrentScreen(screenName) {
|
|
76
|
+
this.currentScreen = screenName;
|
|
77
|
+
}
|
|
78
|
+
setUserProperty(key, value) {
|
|
79
|
+
this.userProperties[key] = value;
|
|
80
|
+
if (value === null) {
|
|
81
|
+
delete this.userProperties[key];
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
setUserProperties(properties) {
|
|
85
|
+
for (const [key, value] of Object.entries(properties)) {
|
|
86
|
+
this.setUserProperty(key, value);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
setConsent(consentSettings) {
|
|
90
|
+
this.consent = {
|
|
91
|
+
...this.consent,
|
|
92
|
+
...consentSettings
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
setAnalyticsCollectionEnabled(enabled) {
|
|
96
|
+
this.analyticsCollectionEnabled = enabled;
|
|
97
|
+
if (!enabled) {
|
|
98
|
+
this._stopQueueProcessing();
|
|
99
|
+
} else {
|
|
100
|
+
this._startQueueProcessing();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
logEvent(eventName, eventParams = {}) {
|
|
104
|
+
if (!this.analyticsCollectionEnabled) return;
|
|
105
|
+
this.eventQueue.push({
|
|
106
|
+
name: eventName,
|
|
107
|
+
params: {
|
|
108
|
+
...this.defaultEventParameters,
|
|
109
|
+
...eventParams
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
this._startQueueProcessing();
|
|
113
|
+
}
|
|
114
|
+
async _getInstallationId() {
|
|
115
|
+
// @ts-ignore
|
|
116
|
+
if (navigator !== null) {
|
|
117
|
+
// @ts-ignore
|
|
118
|
+
navigator.onLine = true;
|
|
119
|
+
}
|
|
120
|
+
(0, _firebaseInstallations.makeIDBAvailable)();
|
|
121
|
+
const app = (0, _firebaseInstallations.getApp)(this.appName);
|
|
122
|
+
const installations = (0, _firebaseInstallations.getInstallations)(app);
|
|
123
|
+
const id = await (0, _firebaseInstallations.getId)(installations);
|
|
124
|
+
if (globalThis.RNFBDebug) {
|
|
125
|
+
console.debug('[RNFB->Analytics][📊] Firebase Installation Id:', id);
|
|
126
|
+
}
|
|
127
|
+
this.installationId = id;
|
|
128
|
+
(0, _firebaseInstallations.onIdChange)(installations, newId => {
|
|
129
|
+
this.installationId = newId;
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
_startQueueProcessing() {
|
|
133
|
+
if (this.started) return;
|
|
134
|
+
this.sessionId = Math.floor(Date.now() / 1000);
|
|
135
|
+
this.started = true;
|
|
136
|
+
this.queueTimer = setInterval(() => this._processQueue().catch(console.error), this.queueInterval);
|
|
137
|
+
}
|
|
138
|
+
_stopQueueProcessing() {
|
|
139
|
+
if (!this.started) return;
|
|
140
|
+
this.started = false;
|
|
141
|
+
if (this.queueTimer) {
|
|
142
|
+
clearInterval(this.queueTimer);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
async _processQueue() {
|
|
146
|
+
if (this.eventQueue.length === 0) return;
|
|
147
|
+
const events = this.eventQueue.splice(0, 5);
|
|
148
|
+
await this._sendEvents(events);
|
|
149
|
+
if (this.eventQueue.length === 0) {
|
|
150
|
+
this._stopQueueProcessing();
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
async _getCid() {
|
|
154
|
+
this.cid = await (0, _asyncStorage.getItem)('analytics:cid');
|
|
155
|
+
if (this.cid) {
|
|
156
|
+
return this.cid;
|
|
157
|
+
}
|
|
158
|
+
this.cid = generateGAClientId();
|
|
159
|
+
await (0, _asyncStorage.setItem)('analytics:cid', this.cid);
|
|
160
|
+
if ((0, _asyncStorage.isMemoryStorage)()) {
|
|
161
|
+
console.warn('Firebase Analytics is using in memory persistence. This means that the analytics\n' + 'client ID is reset every time your app is restarted which may result in\n' + 'inaccurate data being shown on the Firebase Analytics dashboard.\n' + '\n' + 'To enable persistence, provide an Async Storage implementation.\n' + '\n' + 'For example, to use React Native Async Storage:\n' + '\n' + " import AsyncStorage from '@react-native-async-storage/async-storage';\n" + '\n' + ' // Before initializing Firebase set the Async Storage implementation\n' + ' // that will be used to persist user sessions.\n' + ' firebase.setReactNativeAsyncStorage(AsyncStorage);\n' + '\n' + ' // Then initialize Firebase as normal.\n' + ' await firebase.initializeApp({ ... });\n');
|
|
162
|
+
}
|
|
163
|
+
return this.cid;
|
|
164
|
+
}
|
|
165
|
+
async _sendEvents(events) {
|
|
166
|
+
const cid = this.cid || (await this._getCid());
|
|
167
|
+
for (const event of events) {
|
|
168
|
+
const queryParams = new URLSearchParams({
|
|
169
|
+
v: '2',
|
|
170
|
+
tid: this.measurementId,
|
|
171
|
+
en: event.name,
|
|
172
|
+
cid,
|
|
173
|
+
pscdl: 'noapi',
|
|
174
|
+
sid: String(this.sessionId),
|
|
175
|
+
'ep.origin': 'firebase',
|
|
176
|
+
_z: 'fetch',
|
|
177
|
+
_p: '' + Date.now(),
|
|
178
|
+
_s: '1',
|
|
179
|
+
_ee: '1',
|
|
180
|
+
dma: '0',
|
|
181
|
+
tfd: String(Math.round(performance.now())),
|
|
182
|
+
are: '1',
|
|
183
|
+
sct: '2',
|
|
184
|
+
seg: '1',
|
|
185
|
+
frm: '0'
|
|
186
|
+
});
|
|
187
|
+
if (this.debug) {
|
|
188
|
+
queryParams.append('_dbg', '1');
|
|
189
|
+
queryParams.append('ep.debug_mode', '1');
|
|
190
|
+
}
|
|
191
|
+
if (this.consent && !this.consent.ad_personalization) {
|
|
192
|
+
queryParams.append('npa', '1');
|
|
193
|
+
} else {
|
|
194
|
+
queryParams.append('npa', '0');
|
|
195
|
+
}
|
|
196
|
+
if (this.userId) {
|
|
197
|
+
queryParams.append('uid', this.userId);
|
|
198
|
+
}
|
|
199
|
+
if (this.installationId) {
|
|
200
|
+
queryParams.append('_fid', this.installationId);
|
|
201
|
+
}
|
|
202
|
+
if (this.userProperties && Object.keys(this.userProperties).length > 0) {
|
|
203
|
+
for (const [key, value] of Object.entries(this.userProperties)) {
|
|
204
|
+
queryParams.append(`up.${key}`, `${value}`);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
if (this.currentScreen) {
|
|
208
|
+
queryParams.append('ep.screen_name', this.currentScreen);
|
|
209
|
+
queryParams.append('ep.firebase_screen', this.currentScreen);
|
|
210
|
+
}
|
|
211
|
+
if (event.params && Object.keys(event.params).length > 0) {
|
|
212
|
+
// TODO we need to handle 'items' arrays and also key name conversions based on the following map;
|
|
213
|
+
// const keyConvert = {
|
|
214
|
+
// item_id: 'id',
|
|
215
|
+
// item_name: 'nm',
|
|
216
|
+
// item_brand: 'br',
|
|
217
|
+
// item_category: 'ca',
|
|
218
|
+
// item_category2: 'c2',
|
|
219
|
+
// item_category3: 'c3',
|
|
220
|
+
// item_category4: 'c4',
|
|
221
|
+
// item_category5: 'c5',
|
|
222
|
+
// item_variant: 'va',
|
|
223
|
+
// price: 'pr',
|
|
224
|
+
// quantity: 'qt',
|
|
225
|
+
// coupon: 'cp',
|
|
226
|
+
// item_list_name: 'ln',
|
|
227
|
+
// index: 'lp',
|
|
228
|
+
// item_list_id: 'li',
|
|
229
|
+
// discount: 'ds',
|
|
230
|
+
// affiliation: 'af',
|
|
231
|
+
// promotion_id: 'pi',
|
|
232
|
+
// promotion_name: 'pn',
|
|
233
|
+
// creative_name: 'cn',
|
|
234
|
+
// creative_slot: 'cs',
|
|
235
|
+
// location_id: 'lo',
|
|
236
|
+
// id: 'id',
|
|
237
|
+
// name: 'nm',
|
|
238
|
+
// brand: 'br',
|
|
239
|
+
// variant: 'va',
|
|
240
|
+
// list_name: 'ln',
|
|
241
|
+
// list_position: 'lp',
|
|
242
|
+
// list: 'ln',
|
|
243
|
+
// position: 'lp',
|
|
244
|
+
// creative: 'cn',
|
|
245
|
+
// };
|
|
246
|
+
// items array should for example become:
|
|
247
|
+
// pr1 for items[0]
|
|
248
|
+
// pr2 for items[1]
|
|
249
|
+
// ... etc
|
|
250
|
+
// with the format for each looking something like:
|
|
251
|
+
// iditem_id~nmitem_name~britem_brand~caitem_category~c2item_category2~c3item_category3~c4item_category4~c5item_category5~vaitem_variant~prprice~qtquantity~cpcoupon~lnitem_list_name~lpindex~liitem_list_id~dsdiscount~afaffiliation~pipromotion_id~pnpromotion_name~cncreative_name~cscreative_slot~lolocation_id
|
|
252
|
+
for (const [key, value] of Object.entries(event.params)) {
|
|
253
|
+
if ((0, _common.isNumber)(value)) {
|
|
254
|
+
queryParams.append(`epn.${key}`, `${value}`);
|
|
255
|
+
} else {
|
|
256
|
+
queryParams.append(`ep.${key}`, `${value}`);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
try {
|
|
261
|
+
const url = `https://www.google-analytics.com/g/collect?${queryParams.toString()}`;
|
|
262
|
+
if (globalThis.RNFBDebug) {
|
|
263
|
+
console.debug(`[RNFB-->Fetch][📊] Sending analytics call: ${url}`);
|
|
264
|
+
}
|
|
265
|
+
const response = await fetch(url, {
|
|
266
|
+
method: 'POST',
|
|
267
|
+
mode: 'no-cors',
|
|
268
|
+
headers: {
|
|
269
|
+
accept: '*/*',
|
|
270
|
+
'accept-encoding': 'gzip, deflate, br',
|
|
271
|
+
'Content-Type': 'text/plain;charset=UTF-8',
|
|
272
|
+
'accept-language': 'en-US,en;q=0.9',
|
|
273
|
+
'cache-control': 'no-cache',
|
|
274
|
+
'content-length': '0',
|
|
275
|
+
origin: 'firebase',
|
|
276
|
+
pragma: 'no-cache',
|
|
277
|
+
'sec-fetch-dest': 'empty',
|
|
278
|
+
'sec-fetch-site': 'cross-site',
|
|
279
|
+
'user-agent': 'react-native-firebase'
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
if (globalThis.RNFBDebug) {
|
|
283
|
+
console.debug(`[RNFB<--Fetch][📊] Response: ${response.status}`);
|
|
284
|
+
}
|
|
285
|
+
} catch (error) {
|
|
286
|
+
if (globalThis.RNFBDebug) {
|
|
287
|
+
console.debug('[RNFB<--Fetch][🔴] Error sending Analytics event:', error);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
exports.AnalyticsApi = AnalyticsApi;
|
|
294
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_firebaseInstallations","require","_asyncStorage","_common","generateGAClientId","randomNumber","Math","round","random","randomPart","String","timestamp","Date","now","AnalyticsApi","constructor","appName","measurementId","eventQueue","queueTimer","queueInterval","defaultEventParameters","userId","userProperties","consent","analyticsCollectionEnabled","started","installationId","debug","currentScreen","_getInstallationId","catch","error","globalThis","RNFBDebug","console","setDefaultEventParameters","params","undefined","key","value","Object","entries","setDebug","enabled","setUserId","setCurrentScreen","screenName","setUserProperty","setUserProperties","properties","setConsent","consentSettings","setAnalyticsCollectionEnabled","_stopQueueProcessing","_startQueueProcessing","logEvent","eventName","eventParams","push","name","navigator","onLine","makeIDBAvailable","app","getApp","installations","getInstallations","id","getId","onIdChange","newId","sessionId","floor","setInterval","_processQueue","clearInterval","length","events","splice","_sendEvents","_getCid","cid","getItem","setItem","isMemoryStorage","warn","event","queryParams","URLSearchParams","v","tid","en","pscdl","sid","_z","_p","_s","_ee","dma","tfd","performance","are","sct","seg","frm","append","ad_personalization","keys","isNumber","url","toString","response","fetch","method","mode","headers","accept","origin","pragma","status","exports"],"sourceRoot":"../../../lib","sources":["web/api.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/*
|
|
2
4
|
* Copyright (c) 2016-present Invertase Limited & Contributors
|
|
3
5
|
*
|
|
4
6
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -15,10 +17,12 @@
|
|
|
15
17
|
*
|
|
16
18
|
*/
|
|
17
19
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
#import <React/RCTBridgeModule.h>
|
|
20
|
+
// Export types from types/analytics
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
// Export modular API functions
|
|
23
|
+
export * from "./modular.js";
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
// Export namespaced API
|
|
26
|
+
export * from "./namespaced.js";
|
|
27
|
+
export { default } from "./namespaced.js";
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default"],"sourceRoot":"../../lib","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAkDA;AACA,cAAc,cAAW;;AAEzB;AACA,cAAc,iBAAc;AAC5B,SAASA,OAAO,QAAQ,iBAAc","ignoreList":[]}
|