@amplitude/analytics-react-native 1.3.2 → 1.3.4
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/android/src/main/java/com/amplitude/reactnative/AmplitudeReactNativeModule.kt +101 -0
- package/android/src/main/java/com/amplitude/reactnative/LegacyDatabaseStorage.kt +313 -0
- package/ios/AmplitudeReactNative.m +3 -0
- package/ios/AmplitudeReactNative.swift +74 -0
- package/ios/AmplitudeReactNative.xcodeproj/project.pbxproj +9 -17
- package/ios/LegacyDatabaseStorage.swift +224 -0
- package/lib/commonjs/config.js +19 -7
- package/lib/commonjs/config.js.map +1 -1
- package/lib/commonjs/migration/remnant-data-migration.js +170 -0
- package/lib/commonjs/migration/remnant-data-migration.js.map +1 -0
- package/lib/commonjs/react-native-client.js +46 -27
- package/lib/commonjs/react-native-client.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/config.js +18 -7
- package/lib/module/config.js.map +1 -1
- package/lib/module/migration/remnant-data-migration.js +163 -0
- package/lib/module/migration/remnant-data-migration.js.map +1 -0
- package/lib/module/react-native-client.js +46 -27
- package/lib/module/react-native-client.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/config.d.ts.map +1 -1
- package/lib/typescript/migration/remnant-data-migration.d.ts +20 -0
- package/lib/typescript/migration/remnant-data-migration.d.ts.map +1 -0
- package/lib/typescript/react-native-client.d.ts +3 -0
- package/lib/typescript/react-native-client.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +5 -5
- package/src/config.ts +26 -7
- package/src/migration/remnant-data-migration.ts +168 -0
- package/src/react-native-client.ts +50 -26
- package/src/version.ts +1 -1
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import SQLite3
|
|
3
|
+
|
|
4
|
+
class LegacyDatabaseStorage {
|
|
5
|
+
private static let DATABASE_NAME = "com.amplitude.database"
|
|
6
|
+
private static let EVENT_TABLE_NAME = "events"
|
|
7
|
+
private static let IDENTIFY_TABLE_NAME = "identifys"
|
|
8
|
+
private static let INTERCEPTED_IDENTIFY_TABLE_NAME = "intercepted_identifys"
|
|
9
|
+
private static let STORE_TABLE_NAME = "store"
|
|
10
|
+
private static let LONG_STORE_TABLE_NAME = "long_store"
|
|
11
|
+
private static let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
|
|
12
|
+
|
|
13
|
+
private static var instances: [String: LegacyDatabaseStorage] = [:]
|
|
14
|
+
private static let instanceQueue = DispatchQueue(label: "legacyDatabaseStorage.amplitude.com")
|
|
15
|
+
|
|
16
|
+
let databasePath: String
|
|
17
|
+
|
|
18
|
+
public static func getStorage(_ instanceName: String?) -> LegacyDatabaseStorage {
|
|
19
|
+
instanceQueue.sync {
|
|
20
|
+
var normalizedInstanceName = instanceName?.lowercased() ?? ""
|
|
21
|
+
if normalizedInstanceName == "default_instance" {
|
|
22
|
+
normalizedInstanceName = ""
|
|
23
|
+
}
|
|
24
|
+
if let storage = instances[normalizedInstanceName] {
|
|
25
|
+
return storage
|
|
26
|
+
}
|
|
27
|
+
let storage = LegacyDatabaseStorage(getDatabasePath(normalizedInstanceName).path)
|
|
28
|
+
instances[normalizedInstanceName] = storage
|
|
29
|
+
return storage
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
static func getDatabasePath(_ instanceName: String) -> URL {
|
|
34
|
+
#if os(tvOS)
|
|
35
|
+
let searchPathDirectory = FileManager.SearchPathDirectory.cachesDirectory
|
|
36
|
+
#else
|
|
37
|
+
let searchPathDirectory = FileManager.SearchPathDirectory.libraryDirectory
|
|
38
|
+
#endif
|
|
39
|
+
|
|
40
|
+
let urls = FileManager.default.urls(for: searchPathDirectory, in: .userDomainMask)
|
|
41
|
+
var databaseUrl = urls[0]
|
|
42
|
+
|
|
43
|
+
var databaseName = DATABASE_NAME
|
|
44
|
+
if instanceName != "" {
|
|
45
|
+
databaseName += "_\(instanceName)"
|
|
46
|
+
}
|
|
47
|
+
databaseUrl.appendPathComponent(databaseName)
|
|
48
|
+
return databaseUrl
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public init(_ databasePath: String) {
|
|
52
|
+
self.databasePath = databasePath
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
func getValue(_ key: String) -> String? {
|
|
56
|
+
getValueFromTable(LegacyDatabaseStorage.STORE_TABLE_NAME, key) as? String
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
func getLongValue(_ key: String) -> Int64? {
|
|
60
|
+
getValueFromTable(LegacyDatabaseStorage.LONG_STORE_TABLE_NAME, key) as? Int64
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
private func getValueFromTable(_ table: String, _ key: String) -> Any? {
|
|
64
|
+
let query = "SELECT key, value FROM \(table) WHERE key = ?;"
|
|
65
|
+
return executeQuery(query) { stmt in
|
|
66
|
+
let bindResult = sqlite3_bind_text(stmt, 1, key, -1, LegacyDatabaseStorage.SQLITE_TRANSIENT)
|
|
67
|
+
if bindResult != SQLITE_OK {
|
|
68
|
+
print("bind query parameter failed with result: \(bindResult)")
|
|
69
|
+
return
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
let stepResult = sqlite3_step(stmt)
|
|
73
|
+
if stepResult != SQLITE_ROW {
|
|
74
|
+
print("execute query '\(query)' failed with result: \(stepResult)")
|
|
75
|
+
return
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if sqlite3_column_type(stmt, 1) != SQLITE_NULL {
|
|
79
|
+
if table == LegacyDatabaseStorage.STORE_TABLE_NAME {
|
|
80
|
+
guard let rawValue = sqlite3_column_text(stmt, 1) else {
|
|
81
|
+
return
|
|
82
|
+
}
|
|
83
|
+
return String(cString: rawValue)
|
|
84
|
+
} else {
|
|
85
|
+
return sqlite3_column_int64(stmt, 1)
|
|
86
|
+
}
|
|
87
|
+
} else {
|
|
88
|
+
return
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
func getLastEventId() -> Int64? {
|
|
94
|
+
let query = "select coalesce(max(seq), -1) from sqlite_sequence where name = 'events';"
|
|
95
|
+
let lastId = executeQuery(query) { stmt in
|
|
96
|
+
let stepResult = sqlite3_step(stmt)
|
|
97
|
+
if stepResult != SQLITE_ROW {
|
|
98
|
+
print("execute query '\(query)' failed with result: \(stepResult)")
|
|
99
|
+
return -1 as Int64
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if sqlite3_column_type(stmt, 0) != SQLITE_NULL {
|
|
103
|
+
let value = sqlite3_column_int64(stmt, 0)
|
|
104
|
+
return value
|
|
105
|
+
} else {
|
|
106
|
+
return -1 as Int64
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return lastId != nil && lastId! >= 0 ? lastId : nil
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
func removeValue(_ key: String) {
|
|
113
|
+
removeValueFromTable(LegacyDatabaseStorage.STORE_TABLE_NAME, key)
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
func removeLongValue(_ key: String) {
|
|
117
|
+
removeValueFromTable(LegacyDatabaseStorage.LONG_STORE_TABLE_NAME, key)
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
private func removeValueFromTable(_ table: String, _ key: String) {
|
|
121
|
+
let query = "DELETE FROM \(table) WHERE key = ?;"
|
|
122
|
+
_ = executeQuery(query) { stmt in
|
|
123
|
+
let bindResult = sqlite3_bind_text(stmt, 1, key, -1, LegacyDatabaseStorage.SQLITE_TRANSIENT)
|
|
124
|
+
if bindResult != SQLITE_OK {
|
|
125
|
+
print("bind query parameter failed with result: \(bindResult)")
|
|
126
|
+
return
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
let stepResult = sqlite3_step(stmt)
|
|
130
|
+
if stepResult != SQLITE_DONE {
|
|
131
|
+
print("execute query '\(query)' failed with result: \(stepResult)")
|
|
132
|
+
return
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
func removeEvent(_ eventId: Int64) {
|
|
138
|
+
removeEventFromTable(LegacyDatabaseStorage.EVENT_TABLE_NAME, eventId)
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
func removeIdentify(_ eventId: Int64) {
|
|
142
|
+
removeEventFromTable(LegacyDatabaseStorage.IDENTIFY_TABLE_NAME, eventId)
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
func removeInterceptedIdentify(_ eventId: Int64) {
|
|
146
|
+
removeEventFromTable(LegacyDatabaseStorage.INTERCEPTED_IDENTIFY_TABLE_NAME, eventId)
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
private func removeEventFromTable(_ table: String, _ eventId: Int64) {
|
|
150
|
+
let query = "DELETE FROM \(table) WHERE id = ?;"
|
|
151
|
+
_ = executeQuery(query) { stmt in
|
|
152
|
+
let bindResult = sqlite3_bind_int64(stmt, 1, eventId)
|
|
153
|
+
if bindResult != SQLITE_OK {
|
|
154
|
+
print("bind query parameter failed with result: \(bindResult)")
|
|
155
|
+
return
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
let stepResult = sqlite3_step(stmt)
|
|
159
|
+
if stepResult != SQLITE_DONE {
|
|
160
|
+
print("execute query '\(query)' failed with result: \(stepResult)")
|
|
161
|
+
return
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
func readEvents() -> [[String: Any]] {
|
|
167
|
+
readEventsFromTable(LegacyDatabaseStorage.EVENT_TABLE_NAME)
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
func readIdentifies() -> [[String: Any]] {
|
|
171
|
+
readEventsFromTable(LegacyDatabaseStorage.IDENTIFY_TABLE_NAME)
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
func readInterceptedIdentifies() -> [[String: Any]] {
|
|
175
|
+
readEventsFromTable(LegacyDatabaseStorage.INTERCEPTED_IDENTIFY_TABLE_NAME)
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
private func readEventsFromTable(_ table: String) -> [[String: Any]] {
|
|
179
|
+
let query = "SELECT id, event FROM \(table) ORDER BY id;"
|
|
180
|
+
return executeQuery(query) { stmt in
|
|
181
|
+
var events: [[String: Any]] = []
|
|
182
|
+
while sqlite3_step(stmt) == SQLITE_ROW {
|
|
183
|
+
let eventId = sqlite3_column_int64(stmt, 0)
|
|
184
|
+
let rawEventData = sqlite3_column_text(stmt, 1)
|
|
185
|
+
if rawEventData != nil {
|
|
186
|
+
let eventData = String(cString: rawEventData!).data(using: .utf8)
|
|
187
|
+
if eventData != nil && eventData!.count > 0 {
|
|
188
|
+
let event = try? JSONSerialization.jsonObject(with: eventData!, options: []) as? [String: Any]
|
|
189
|
+
if var event {
|
|
190
|
+
event["event_id"] = eventId
|
|
191
|
+
events.append(event)
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return events
|
|
197
|
+
} ?? []
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
private func executeQuery<T>(_ query: String, _ block: (_ stmt: OpaquePointer) -> T) -> T? {
|
|
201
|
+
if !FileManager.default.fileExists(atPath: databasePath) {
|
|
202
|
+
return nil
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
var db: OpaquePointer?
|
|
206
|
+
let openResult = sqlite3_open(databasePath, &db)
|
|
207
|
+
if openResult != SQLITE_OK {
|
|
208
|
+
print("open database failed with result: \(openResult)")
|
|
209
|
+
sqlite3_close(db)
|
|
210
|
+
return nil
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
var stmt: OpaquePointer?
|
|
214
|
+
let prepareResult = sqlite3_prepare(db, query, -1, &stmt, nil)
|
|
215
|
+
if prepareResult != SQLITE_OK {
|
|
216
|
+
print("prepare query failed with result: \(prepareResult)")
|
|
217
|
+
return nil
|
|
218
|
+
}
|
|
219
|
+
let value = block(stmt!)
|
|
220
|
+
sqlite3_finalize(stmt)
|
|
221
|
+
sqlite3_close(db)
|
|
222
|
+
return value
|
|
223
|
+
}
|
|
224
|
+
}
|
package/lib/commonjs/config.js
CHANGED
|
@@ -7,6 +7,8 @@ exports.useReactNativeConfig = exports.getTopLevelDomain = exports.getDefaultCon
|
|
|
7
7
|
var _analyticsCore = require("@amplitude/analytics-core");
|
|
8
8
|
var _analyticsClientCommon = require("@amplitude/analytics-client-common");
|
|
9
9
|
var _localStorage = require("./storage/local-storage");
|
|
10
|
+
var _remnantDataMigration = _interopRequireDefault(require("./migration/remnant-data-migration"));
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
12
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
13
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
12
14
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
@@ -175,20 +177,30 @@ const useReactNativeConfig = async (apiKey, options) => {
|
|
|
175
177
|
const queryParams = (0, _analyticsClientCommon.getQueryParams)();
|
|
176
178
|
|
|
177
179
|
// reconcile user session
|
|
178
|
-
|
|
179
|
-
|
|
180
|
+
let deviceId = (options === null || options === void 0 ? void 0 : options.deviceId) ?? queryParams.deviceId ?? (previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.deviceId);
|
|
181
|
+
let lastEventTime = (options === null || options === void 0 ? void 0 : options.lastEventTime) ?? (previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.lastEventTime);
|
|
180
182
|
const optOut = (options === null || options === void 0 ? void 0 : options.optOut) ?? Boolean(previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.optOut);
|
|
181
|
-
|
|
182
|
-
|
|
183
|
+
let sessionId = (options === null || options === void 0 ? void 0 : options.sessionId) ?? (previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.sessionId);
|
|
184
|
+
let userId = (options === null || options === void 0 ? void 0 : options.userId) ?? (previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.userId);
|
|
185
|
+
let lastEventId = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.lastEventId;
|
|
186
|
+
const storageProvider = (options === null || options === void 0 ? void 0 : options.storageProvider) ?? (await createEventsStorage(options));
|
|
187
|
+
if ((options === null || options === void 0 ? void 0 : options.migrateLegacyData) !== false) {
|
|
188
|
+
const legacySessionData = await new _remnantDataMigration.default(apiKey, options === null || options === void 0 ? void 0 : options.instanceName, storageProvider, (previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.lastEventTime) === undefined, options === null || options === void 0 ? void 0 : options.loggerProvider).execute();
|
|
189
|
+
deviceId = deviceId ?? legacySessionData.deviceId;
|
|
190
|
+
userId = userId ?? legacySessionData.userId;
|
|
191
|
+
sessionId = sessionId ?? legacySessionData.sessionId;
|
|
192
|
+
lastEventTime = lastEventTime ?? legacySessionData.lastEventTime;
|
|
193
|
+
lastEventId = lastEventId ?? legacySessionData.lastEventId;
|
|
194
|
+
}
|
|
183
195
|
const config = new ReactNativeConfig(apiKey, {
|
|
184
196
|
...options,
|
|
185
197
|
cookieStorage,
|
|
186
|
-
deviceId,
|
|
198
|
+
deviceId: deviceId ?? (0, _analyticsCore.UUID)(),
|
|
187
199
|
domain,
|
|
188
200
|
lastEventTime,
|
|
189
201
|
optOut,
|
|
190
202
|
sessionId,
|
|
191
|
-
storageProvider
|
|
203
|
+
storageProvider,
|
|
192
204
|
trackingOptions: {
|
|
193
205
|
...defaultConfig.trackingOptions,
|
|
194
206
|
...(options === null || options === void 0 ? void 0 : options.trackingOptions)
|
|
@@ -196,7 +208,7 @@ const useReactNativeConfig = async (apiKey, options) => {
|
|
|
196
208
|
transportProvider: (options === null || options === void 0 ? void 0 : options.transportProvider) ?? new _analyticsClientCommon.FetchTransport(),
|
|
197
209
|
userId
|
|
198
210
|
});
|
|
199
|
-
config.lastEventId =
|
|
211
|
+
config.lastEventId = lastEventId;
|
|
200
212
|
(_config$loggerProvide = config.loggerProvider) === null || _config$loggerProvide === void 0 ? void 0 : _config$loggerProvide.log(`Init: storage=${cookieStorage.constructor.name} restoredSessionId = ${(previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.sessionId) ?? 'undefined'}, optionsSessionId = ${(options === null || options === void 0 ? void 0 : options.sessionId) ?? 'undefined'}`);
|
|
201
213
|
return config;
|
|
202
214
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getDefaultConfig","cookieStorage","MemoryStorage","trackingOptions","adid","carrier","deviceManufacturer","deviceModel","ipAddress","language","osName","osVersion","platform","appSetId","idfv","cookieExpiration","cookieSameSite","cookieSecure","cookieUpgrade","disableCookies","domain","sessionTimeout","storageProvider","trackingSessionEvents","transportProvider","FetchTransport","ReactNativeConfig","Config","constructor","apiKey","options","defaultConfig","flushIntervalMillis","flushMaxRetries","flushQueueSize","deviceId","lastEventTime","optOut","Boolean","sessionId","userId","appVersion","partnerId","_deviceId","updateStorage","_userId","_sessionId","_optOut","_lastEventTime","lastEventId","_lastEventId","cache","set","getCookieName","useReactNativeConfig","getTopLevelDomain","createCookieStorage","previousCookies","get","queryParams","getQueryParams","UUID","config","createEventsStorage","loggerProvider","log","name","overrides","baseConfig","isEnabled","createFlexibleStorage","storage","CookieStorage","expirationDays","sameSite","secure","LocalStorage","hasStorageProviderProperty","Object","prototype","hasOwnProperty","call","undefined","url","location","host","hostname","parts","split","levels","storageKey","i","length","push","slice","join","value","remove"],"sourceRoot":"../../src","sources":["config.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["getDefaultConfig","cookieStorage","MemoryStorage","trackingOptions","adid","carrier","deviceManufacturer","deviceModel","ipAddress","language","osName","osVersion","platform","appSetId","idfv","cookieExpiration","cookieSameSite","cookieSecure","cookieUpgrade","disableCookies","domain","sessionTimeout","storageProvider","trackingSessionEvents","transportProvider","FetchTransport","ReactNativeConfig","Config","constructor","apiKey","options","defaultConfig","flushIntervalMillis","flushMaxRetries","flushQueueSize","deviceId","lastEventTime","optOut","Boolean","sessionId","userId","appVersion","partnerId","_deviceId","updateStorage","_userId","_sessionId","_optOut","_lastEventTime","lastEventId","_lastEventId","cache","set","getCookieName","useReactNativeConfig","getTopLevelDomain","createCookieStorage","previousCookies","get","queryParams","getQueryParams","createEventsStorage","migrateLegacyData","legacySessionData","RemnantDataMigration","instanceName","undefined","loggerProvider","execute","config","UUID","log","name","overrides","baseConfig","isEnabled","createFlexibleStorage","storage","CookieStorage","expirationDays","sameSite","secure","LocalStorage","hasStorageProviderProperty","Object","prototype","hasOwnProperty","call","url","location","host","hostname","parts","split","levels","storageKey","i","length","push","slice","join","value","remove"],"sourceRoot":"../../src","sources":["config.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
10
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
11
|
+
class RemnantDataMigration {
|
|
12
|
+
constructor(apiKey, instanceName, storage, firstRunSinceUpgrade, logger) {
|
|
13
|
+
this.apiKey = apiKey;
|
|
14
|
+
this.instanceName = instanceName;
|
|
15
|
+
this.storage = storage;
|
|
16
|
+
this.firstRunSinceUpgrade = firstRunSinceUpgrade;
|
|
17
|
+
this.logger = logger;
|
|
18
|
+
_defineProperty(this, "eventsStorageKey", void 0);
|
|
19
|
+
_defineProperty(this, "nativeModule", void 0);
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
21
|
+
this.eventsStorageKey = `AMP_unsent_${this.apiKey.substring(0, 10)}`; // TODO Use StoragePrefix when it will be exported
|
|
22
|
+
this.nativeModule = _reactNative.NativeModules.AmplitudeReactNative;
|
|
23
|
+
}
|
|
24
|
+
async execute() {
|
|
25
|
+
if (!this.nativeModule) {
|
|
26
|
+
return {};
|
|
27
|
+
}
|
|
28
|
+
if (this.firstRunSinceUpgrade) {
|
|
29
|
+
await this.moveIdentifies();
|
|
30
|
+
await this.moveInterceptedIdentifies();
|
|
31
|
+
}
|
|
32
|
+
await this.moveEvents();
|
|
33
|
+
const sessionData = await this.callNativeFunction(() => this.nativeModule.getLegacySessionData(this.instanceName));
|
|
34
|
+
return sessionData ?? {};
|
|
35
|
+
}
|
|
36
|
+
async moveEvents() {
|
|
37
|
+
await this.moveLegacyEvents('event');
|
|
38
|
+
}
|
|
39
|
+
async moveIdentifies() {
|
|
40
|
+
await this.moveLegacyEvents('identify');
|
|
41
|
+
}
|
|
42
|
+
async moveInterceptedIdentifies() {
|
|
43
|
+
await this.moveLegacyEvents('interceptedIdentify');
|
|
44
|
+
}
|
|
45
|
+
async callNativeFunction(action) {
|
|
46
|
+
try {
|
|
47
|
+
return await action();
|
|
48
|
+
} catch (e) {
|
|
49
|
+
var _this$logger;
|
|
50
|
+
(_this$logger = this.logger) === null || _this$logger === void 0 ? void 0 : _this$logger.error(`can't call native function: ${String(e)}`);
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
callNativeAction(action) {
|
|
55
|
+
try {
|
|
56
|
+
action();
|
|
57
|
+
} catch (e) {
|
|
58
|
+
var _this$logger2;
|
|
59
|
+
(_this$logger2 = this.logger) === null || _this$logger2 === void 0 ? void 0 : _this$logger2.error(`can't call native function: ${String(e)}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async moveLegacyEvents(eventKind) {
|
|
63
|
+
const legacyJsonEvents = await this.callNativeFunction(() => this.nativeModule.getLegacyEvents(this.instanceName, eventKind));
|
|
64
|
+
if (!this.storage || !legacyJsonEvents || legacyJsonEvents.length === 0) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const events = (await this.storage.get(this.eventsStorageKey)) ?? [];
|
|
68
|
+
const eventIds = [];
|
|
69
|
+
legacyJsonEvents.forEach(jsonEvent => {
|
|
70
|
+
const event = this.convertLegacyEvent(jsonEvent);
|
|
71
|
+
if (event) {
|
|
72
|
+
events.push(event);
|
|
73
|
+
if (event.event_id !== undefined) {
|
|
74
|
+
eventIds.push(event.event_id);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
await this.storage.set(this.eventsStorageKey, events);
|
|
79
|
+
eventIds.forEach(eventId => this.callNativeAction(() => this.nativeModule.removeLegacyEvent(this.instanceName, eventKind, eventId)));
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access */
|
|
83
|
+
convertLegacyEvent(legacyJsonEvent) {
|
|
84
|
+
try {
|
|
85
|
+
const event = JSON.parse(legacyJsonEvent);
|
|
86
|
+
const {
|
|
87
|
+
library,
|
|
88
|
+
timestamp,
|
|
89
|
+
uuid,
|
|
90
|
+
api_properties
|
|
91
|
+
} = event;
|
|
92
|
+
if (library !== undefined) {
|
|
93
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
94
|
+
event.library = `${library.name}/${library.version}`;
|
|
95
|
+
}
|
|
96
|
+
if (timestamp !== undefined) {
|
|
97
|
+
event.time = timestamp;
|
|
98
|
+
}
|
|
99
|
+
if (uuid !== undefined) {
|
|
100
|
+
event.insert_id = uuid;
|
|
101
|
+
}
|
|
102
|
+
if (api_properties) {
|
|
103
|
+
const {
|
|
104
|
+
androidADID,
|
|
105
|
+
android_app_set_id,
|
|
106
|
+
ios_idfa,
|
|
107
|
+
ios_idfv,
|
|
108
|
+
productId,
|
|
109
|
+
quantity,
|
|
110
|
+
price,
|
|
111
|
+
location
|
|
112
|
+
} = api_properties;
|
|
113
|
+
if (androidADID !== undefined) {
|
|
114
|
+
event.adid = androidADID;
|
|
115
|
+
}
|
|
116
|
+
if (android_app_set_id !== undefined) {
|
|
117
|
+
event.android_app_set_id = android_app_set_id;
|
|
118
|
+
}
|
|
119
|
+
if (ios_idfa !== undefined) {
|
|
120
|
+
event.idfa = ios_idfa;
|
|
121
|
+
}
|
|
122
|
+
if (ios_idfv !== undefined) {
|
|
123
|
+
event.idfv = ios_idfv;
|
|
124
|
+
}
|
|
125
|
+
if (productId !== undefined) {
|
|
126
|
+
event.productId = productId;
|
|
127
|
+
}
|
|
128
|
+
if (quantity !== undefined) {
|
|
129
|
+
event.quantity = quantity;
|
|
130
|
+
}
|
|
131
|
+
if (price !== undefined) {
|
|
132
|
+
event.price = price;
|
|
133
|
+
}
|
|
134
|
+
if (location !== undefined) {
|
|
135
|
+
const {
|
|
136
|
+
lat,
|
|
137
|
+
lng
|
|
138
|
+
} = location;
|
|
139
|
+
event.location_lat = lat;
|
|
140
|
+
event.location_lng = lng;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
const {
|
|
144
|
+
$productId: productId,
|
|
145
|
+
$quantity: quantity,
|
|
146
|
+
$price: price,
|
|
147
|
+
$revenueType: revenueType
|
|
148
|
+
} = event;
|
|
149
|
+
if (productId !== undefined) {
|
|
150
|
+
event.productId = productId;
|
|
151
|
+
}
|
|
152
|
+
if (quantity !== undefined) {
|
|
153
|
+
event.quantity = quantity;
|
|
154
|
+
}
|
|
155
|
+
if (price !== undefined) {
|
|
156
|
+
event.price = price;
|
|
157
|
+
}
|
|
158
|
+
if (revenueType !== undefined) {
|
|
159
|
+
event.revenueType = revenueType;
|
|
160
|
+
}
|
|
161
|
+
return event;
|
|
162
|
+
} catch {
|
|
163
|
+
// skip invalid events
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// eslint-enable @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
168
|
+
}
|
|
169
|
+
exports.default = RemnantDataMigration;
|
|
170
|
+
//# sourceMappingURL=remnant-data-migration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["RemnantDataMigration","constructor","apiKey","instanceName","storage","firstRunSinceUpgrade","logger","eventsStorageKey","substring","nativeModule","NativeModules","AmplitudeReactNative","execute","moveIdentifies","moveInterceptedIdentifies","moveEvents","sessionData","callNativeFunction","getLegacySessionData","moveLegacyEvents","action","e","error","String","undefined","callNativeAction","eventKind","legacyJsonEvents","getLegacyEvents","length","events","get","eventIds","forEach","jsonEvent","event","convertLegacyEvent","push","event_id","set","eventId","removeLegacyEvent","legacyJsonEvent","JSON","parse","library","timestamp","uuid","api_properties","name","version","time","insert_id","androidADID","android_app_set_id","ios_idfa","ios_idfv","productId","quantity","price","location","adid","idfa","idfv","lat","lng","location_lat","location_lng","$productId","$quantity","$price","$revenueType","revenueType"],"sourceRoot":"../../src","sources":["remnant-data-migration.ts"],"mappings":"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"}
|
|
@@ -26,10 +26,13 @@ class AmplitudeReactNative extends _analyticsCore.AmplitudeCore {
|
|
|
26
26
|
_defineProperty(this, "handleAppStateChange", nextAppState => {
|
|
27
27
|
const currentAppState = this.appState;
|
|
28
28
|
this.appState = nextAppState;
|
|
29
|
-
if (currentAppState !== nextAppState
|
|
30
|
-
|
|
31
|
-
(
|
|
32
|
-
|
|
29
|
+
if (currentAppState !== nextAppState) {
|
|
30
|
+
const timestamp = this.currentTimeMillis();
|
|
31
|
+
if (nextAppState == 'active') {
|
|
32
|
+
this.enterForeground(timestamp);
|
|
33
|
+
} else {
|
|
34
|
+
this.exitForeground(timestamp);
|
|
35
|
+
}
|
|
33
36
|
}
|
|
34
37
|
});
|
|
35
38
|
}
|
|
@@ -44,7 +47,7 @@ class AmplitudeReactNative extends _analyticsCore.AmplitudeCore {
|
|
|
44
47
|
}));
|
|
45
48
|
}
|
|
46
49
|
async _init(options) {
|
|
47
|
-
var _this$config$
|
|
50
|
+
var _this$config$loggerPr;
|
|
48
51
|
// Step 0: Block concurrent initialization
|
|
49
52
|
if (this.initializing) {
|
|
50
53
|
return;
|
|
@@ -58,11 +61,11 @@ class AmplitudeReactNative extends _analyticsCore.AmplitudeCore {
|
|
|
58
61
|
// Step 2: Create react native config
|
|
59
62
|
const reactNativeOptions = await (0, _config.useReactNativeConfig)(options.apiKey, {
|
|
60
63
|
...options,
|
|
61
|
-
deviceId:
|
|
64
|
+
deviceId: options.deviceId ?? oldCookies.deviceId,
|
|
62
65
|
sessionId: oldCookies.sessionId,
|
|
63
66
|
optOut: options.optOut ?? oldCookies.optOut,
|
|
64
67
|
lastEventTime: oldCookies.lastEventTime,
|
|
65
|
-
userId: options.userId
|
|
68
|
+
userId: options.userId ?? oldCookies.userId
|
|
66
69
|
});
|
|
67
70
|
await super._init(reactNativeOptions);
|
|
68
71
|
|
|
@@ -83,8 +86,8 @@ class AmplitudeReactNative extends _analyticsCore.AmplitudeCore {
|
|
|
83
86
|
|
|
84
87
|
// Step 4: Manage session
|
|
85
88
|
this.appState = _reactNative.AppState.currentState;
|
|
86
|
-
const isNewSession = this.startNewSessionIfNeeded();
|
|
87
|
-
(_this$config$
|
|
89
|
+
const isNewSession = this.startNewSessionIfNeeded(this.currentTimeMillis());
|
|
90
|
+
(_this$config$loggerPr = this.config.loggerProvider) === null || _this$config$loggerPr === void 0 ? void 0 : _this$config$loggerPr.log(`Init: startNewSessionIfNeeded = ${isNewSession ? 'yes' : 'no'}, sessionId = ${this.getSessionId() ?? 'undefined'}`);
|
|
88
91
|
this.appStateChangeHandler = _reactNative.AppState.addEventListener('change', this.handleAppStateChange);
|
|
89
92
|
this.initializing = false;
|
|
90
93
|
|
|
@@ -185,8 +188,8 @@ class AmplitudeReactNative extends _analyticsCore.AmplitudeCore {
|
|
|
185
188
|
}
|
|
186
189
|
this.config.sessionId = sessionId;
|
|
187
190
|
if (this.config.trackingSessionEvents) {
|
|
188
|
-
var _this$config$
|
|
189
|
-
(_this$config$
|
|
191
|
+
var _this$config$loggerPr2, _this$config$loggerPr3;
|
|
192
|
+
(_this$config$loggerPr2 = this.config.loggerProvider) === null || _this$config$loggerPr2 === void 0 ? void 0 : _this$config$loggerPr2.log(`SESSION_END event: previousSessionId = ${previousSessionId ?? 'undefined'}`);
|
|
190
193
|
if (previousSessionId !== undefined) {
|
|
191
194
|
const sessionEndEvent = {
|
|
192
195
|
event_type: END_SESSION_EVENT,
|
|
@@ -196,7 +199,7 @@ class AmplitudeReactNative extends _analyticsCore.AmplitudeCore {
|
|
|
196
199
|
};
|
|
197
200
|
void this.track(sessionEndEvent);
|
|
198
201
|
}
|
|
199
|
-
(_this$config$
|
|
202
|
+
(_this$config$loggerPr3 = this.config.loggerProvider) === null || _this$config$loggerPr3 === void 0 ? void 0 : _this$config$loggerPr3.log(`SESSION_START event: sessionId = ${sessionId}`);
|
|
200
203
|
const sessionStartEvent = {
|
|
201
204
|
event_type: START_SESSION_EVENT,
|
|
202
205
|
time: eventTime,
|
|
@@ -215,17 +218,21 @@ class AmplitudeReactNative extends _analyticsCore.AmplitudeCore {
|
|
|
215
218
|
time: eventTime
|
|
216
219
|
};
|
|
217
220
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
+
const isSessionEvent = event.event_type === START_SESSION_EVENT || event.event_type === END_SESSION_EVENT;
|
|
222
|
+
const isCustomEventSessionId = !isSessionEvent && event.session_id != undefined && event.session_id !== this.getSessionId();
|
|
223
|
+
if (!isCustomEventSessionId) {
|
|
224
|
+
if (!isSessionEvent) {
|
|
225
|
+
if (this.appState !== 'active') {
|
|
226
|
+
this.startNewSessionIfNeeded(eventTime);
|
|
227
|
+
}
|
|
221
228
|
}
|
|
229
|
+
this.config.lastEventTime = eventTime;
|
|
222
230
|
}
|
|
223
|
-
this.config.lastEventTime = eventTime;
|
|
224
231
|
if (event.session_id == undefined) {
|
|
225
232
|
event.session_id = this.getSessionId();
|
|
226
233
|
}
|
|
227
234
|
if (event.event_id === undefined) {
|
|
228
|
-
const eventId = (this.config.lastEventId ??
|
|
235
|
+
const eventId = (this.config.lastEventId ?? 0) + 1;
|
|
229
236
|
event = {
|
|
230
237
|
...event,
|
|
231
238
|
event_id: eventId
|
|
@@ -238,22 +245,34 @@ class AmplitudeReactNative extends _analyticsCore.AmplitudeCore {
|
|
|
238
245
|
currentTimeMillis() {
|
|
239
246
|
return Date.now();
|
|
240
247
|
}
|
|
241
|
-
startNewSessionIfNeeded(
|
|
242
|
-
|
|
243
|
-
const
|
|
244
|
-
if (
|
|
245
|
-
this.
|
|
246
|
-
|
|
248
|
+
startNewSessionIfNeeded(timestamp) {
|
|
249
|
+
const sessionId = this.explicitSessionId ?? timestamp;
|
|
250
|
+
const shouldStartNewSession = this.shouldStartNewSession(timestamp);
|
|
251
|
+
if (shouldStartNewSession) {
|
|
252
|
+
this.setSessionIdInternal(sessionId, timestamp);
|
|
253
|
+
} else {
|
|
254
|
+
this.config.lastEventTime = timestamp;
|
|
247
255
|
}
|
|
248
|
-
|
|
249
|
-
|
|
256
|
+
return shouldStartNewSession;
|
|
257
|
+
}
|
|
258
|
+
shouldStartNewSession(timestamp) {
|
|
259
|
+
const sessionId = this.explicitSessionId ?? timestamp;
|
|
260
|
+
return !this.inSession() || this.explicitSessionId !== this.config.sessionId && (this.explicitSessionId !== undefined || !this.isWithinMinTimeBetweenSessions(sessionId));
|
|
250
261
|
}
|
|
251
|
-
isWithinMinTimeBetweenSessions(
|
|
252
|
-
return
|
|
262
|
+
isWithinMinTimeBetweenSessions(timestamp) {
|
|
263
|
+
return timestamp - (this.config.lastEventTime ?? 0) < this.config.sessionTimeout;
|
|
253
264
|
}
|
|
254
265
|
inSession() {
|
|
255
266
|
return this.config.sessionId != undefined;
|
|
256
267
|
}
|
|
268
|
+
enterForeground(timestamp) {
|
|
269
|
+
var _this$config$loggerPr4;
|
|
270
|
+
(_this$config$loggerPr4 = this.config.loggerProvider) === null || _this$config$loggerPr4 === void 0 ? void 0 : _this$config$loggerPr4.log('App Activated');
|
|
271
|
+
return this.startNewSessionIfNeeded(timestamp);
|
|
272
|
+
}
|
|
273
|
+
exitForeground(timestamp) {
|
|
274
|
+
this.config.lastEventTime = timestamp;
|
|
275
|
+
}
|
|
257
276
|
}
|
|
258
277
|
exports.AmplitudeReactNative = AmplitudeReactNative;
|
|
259
278
|
const createInstance = () => {
|