@amplitude/analytics-react-native 0.6.1 → 0.7.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/lib/commonjs/plugins/context.js +0 -3
- package/lib/commonjs/plugins/context.js.map +1 -1
- package/lib/commonjs/react-native-client.js +10 -0
- package/lib/commonjs/react-native-client.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/plugins/context.js +0 -3
- package/lib/module/plugins/context.js.map +1 -1
- package/lib/module/react-native-client.js +10 -0
- package/lib/module/react-native-client.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/plugins/context.d.ts +0 -1
- package/lib/typescript/plugins/context.d.ts.map +1 -1
- 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/plugins/context.ts +0 -2
- package/src/react-native-client.ts +6 -0
- package/src/version.ts +1 -1
|
@@ -35,8 +35,6 @@ class Context {
|
|
|
35
35
|
|
|
36
36
|
_defineProperty(this, "config", void 0);
|
|
37
37
|
|
|
38
|
-
_defineProperty(this, "eventId", 0);
|
|
39
|
-
|
|
40
38
|
_defineProperty(this, "uaResult", void 0);
|
|
41
39
|
|
|
42
40
|
_defineProperty(this, "nativeModule", _reactNative.NativeModules.AmplitudeReactNative);
|
|
@@ -117,7 +115,6 @@ class Context {
|
|
|
117
115
|
}
|
|
118
116
|
}),
|
|
119
117
|
...context,
|
|
120
|
-
event_id: this.eventId++,
|
|
121
118
|
library: this.library
|
|
122
119
|
};
|
|
123
120
|
return event;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BROWSER_PLATFORM","IP_ADDRESS","Context","constructor","PluginType","BEFORE","NativeModules","AmplitudeReactNative","VERSION","agent","navigator","userAgent","uaResult","UAParser","getResult","setup","config","Promise","resolve","undefined","execute","context","time","Date","getTime","nativeContext","nativeModule","getApplicationContext","appVersion","version","platform","osName","browser","name","osVersion","deviceVendor","deviceManufacturer","device","vendor","deviceModel","model","os","language","getLanguage","carrier","adid","event","user_id","userId","device_id","deviceId","session_id","sessionId","app_version","trackingOptions","os_name","os_version","device_manufacturer","device_model","ipAddress","ip","insert_id","UUID","partner_id","partnerId","plan","ingestionMetadata","ingestion_metadata","source_name","sourceName","source_version","sourceVersion","
|
|
1
|
+
{"version":3,"names":["BROWSER_PLATFORM","IP_ADDRESS","Context","constructor","PluginType","BEFORE","NativeModules","AmplitudeReactNative","VERSION","agent","navigator","userAgent","uaResult","UAParser","getResult","setup","config","Promise","resolve","undefined","execute","context","time","Date","getTime","nativeContext","nativeModule","getApplicationContext","appVersion","version","platform","osName","browser","name","osVersion","deviceVendor","deviceManufacturer","device","vendor","deviceModel","model","os","language","getLanguage","carrier","adid","event","user_id","userId","device_id","deviceId","session_id","sessionId","app_version","trackingOptions","os_name","os_version","device_manufacturer","device_model","ipAddress","ip","insert_id","UUID","partner_id","partnerId","plan","ingestionMetadata","ingestion_metadata","source_name","sourceName","source_version","sourceVersion","library"],"sources":["context.ts"],"sourcesContent":["import { BeforePlugin, ReactNativeConfig, Event, PluginType } from '@amplitude/analytics-types';\nimport UAParser from '@amplitude/ua-parser-js';\nimport { UUID } from '@amplitude/analytics-core';\nimport { getLanguage } from '@amplitude/analytics-client-common';\nimport { VERSION } from '../version';\nimport { NativeModules } from 'react-native';\n\nconst BROWSER_PLATFORM = 'Web';\nconst IP_ADDRESS = '$remote';\n\ntype NativeContext = {\n version: string;\n platform: string;\n language: string;\n osName: string;\n osVersion: string;\n deviceBrand: string;\n deviceManufacturer: string;\n deviceModel: string;\n carrier: string;\n adid: string;\n};\n\nexport interface AmplitudeReactNative {\n getApplicationContext(): Promise<NativeContext>;\n}\n\nexport class Context implements BeforePlugin {\n name = 'context';\n type = PluginType.BEFORE as const;\n\n // this.config is defined in setup() which will always be called first\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: ReactNativeConfig;\n uaResult: UAParser.IResult;\n nativeModule: AmplitudeReactNative | undefined = NativeModules.AmplitudeReactNative as\n | AmplitudeReactNative\n | undefined;\n library = `amplitude-react-native-ts/${VERSION}`;\n\n constructor() {\n let agent: string | undefined;\n /* istanbul ignore else */\n if (typeof navigator !== 'undefined') {\n agent = navigator.userAgent;\n }\n this.uaResult = new UAParser(agent).getResult();\n }\n\n setup(config: ReactNativeConfig): Promise<undefined> {\n this.config = config;\n return Promise.resolve(undefined);\n }\n\n async execute(context: Event): Promise<Event> {\n const time = new Date().getTime();\n const nativeContext = await this.nativeModule?.getApplicationContext();\n const appVersion = nativeContext?.version || this.config.appVersion;\n const platform = nativeContext?.platform || BROWSER_PLATFORM;\n const osName = nativeContext?.osName || this.uaResult.browser.name;\n const osVersion = nativeContext?.osVersion || this.uaResult.browser.version;\n const deviceVendor = nativeContext?.deviceManufacturer || this.uaResult.device.vendor;\n const deviceModel = nativeContext?.deviceModel || this.uaResult.device.model || this.uaResult.os.name;\n const language = nativeContext?.language || getLanguage();\n const carrier = nativeContext?.carrier;\n const adid = nativeContext?.adid;\n\n const event: Event = {\n user_id: this.config.userId,\n device_id: this.config.deviceId,\n session_id: this.config.sessionId,\n time,\n ...(this.config.appVersion && { app_version: appVersion }),\n ...(this.config.trackingOptions.platform && { platform: platform }),\n ...(this.config.trackingOptions.osName && { os_name: osName }),\n ...(this.config.trackingOptions.osVersion && { os_version: osVersion }),\n ...(this.config.trackingOptions.deviceManufacturer && { device_manufacturer: deviceVendor }),\n ...(this.config.trackingOptions.deviceModel && { device_model: deviceModel }),\n ...(this.config.trackingOptions.language && { language: language }),\n ...(this.config.trackingOptions.carrier && { carrier: carrier }),\n ...(this.config.trackingOptions.ipAddress && { ip: IP_ADDRESS }),\n ...(this.config.trackingOptions.adid && { adid: adid }),\n insert_id: UUID(),\n partner_id: this.config.partnerId,\n plan: this.config.plan,\n ...(this.config.ingestionMetadata && {\n ingestion_metadata: {\n source_name: this.config.ingestionMetadata.sourceName,\n source_version: this.config.ingestionMetadata.sourceVersion,\n },\n }),\n ...context,\n library: this.library,\n };\n return event;\n }\n}\n"],"mappings":"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"}
|
|
@@ -240,6 +240,16 @@ class AmplitudeReactNative extends _analyticsCore.AmplitudeCore {
|
|
|
240
240
|
if (event.session_id == undefined) {
|
|
241
241
|
event.session_id = this.getSessionId();
|
|
242
242
|
}
|
|
243
|
+
|
|
244
|
+
if (event.event_id === undefined) {
|
|
245
|
+
var _this$config$sessionM;
|
|
246
|
+
|
|
247
|
+
const eventId = ((_this$config$sessionM = this.config.sessionManager.getLastEventId()) !== null && _this$config$sessionM !== void 0 ? _this$config$sessionM : -1) + 1;
|
|
248
|
+
event = { ...event,
|
|
249
|
+
event_id: eventId
|
|
250
|
+
};
|
|
251
|
+
this.config.sessionManager.setLastEventId(eventId);
|
|
252
|
+
}
|
|
243
253
|
}
|
|
244
254
|
|
|
245
255
|
return super.process(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["START_SESSION_EVENT","END_SESSION_EVENT","AmplitudeReactNative","AmplitudeCore","nextAppState","currentAppState","appState","startNewSessionIfNeeded","init","apiKey","userId","options","initializing","explicitSessionId","sessionId","oldCookies","parseOldCookies","reactNativeOptions","useReactNativeConfig","deviceId","optOut","lastEventTime","_init","connector","getAnalyticsConnector","eventBridge","setEventReceiver","event","track","eventType","eventProperties","identityStore","setIdentity","config","add","Context","IdentityEventSender","Destination","AppState","currentState","isNewSession","addEventListener","handleAppStateChange","runAttributionStrategy","attribution","runQueuedFunctions","shutdown","removeEventListener","attributionConfig","isNative","bind","onNewCampaign","setSessionId","currentTimeMillis","storage","createFlexibleStorage","campaignTracker","CampaignTracker","send","getUserId","setUserId","q","push","editIdentity","commit","getDeviceId","setDeviceId","identify","eventOptions","user_id","device_id","reset","undefined","UUID","getSessionId","setSessionIdInternal","eventTime","previousSessionId","trackingSessionEvents","sessionEndEvent","event_type","time","session_id","sessionStartEvent","process","Date","now","inSession","isWithinMinTimeBetweenSessions","sessionTimeout","createInstance","client","debugWrapper","returnWrapper","getClientLogConfig","getClientStates","remove","logEvent","groupIdentify","setGroup","revenue","flush","setOptOut"],"sources":["react-native-client.ts"],"sourcesContent":["import { AppState, AppStateStatus } from 'react-native';\nimport {\n AmplitudeCore,\n Destination,\n UUID,\n returnWrapper,\n debugWrapper,\n getClientLogConfig,\n getClientStates,\n} from '@amplitude/analytics-core';\nimport { CampaignTracker, IdentityEventSender, getAnalyticsConnector } from '@amplitude/analytics-client-common';\nimport {\n ReactNativeConfig,\n Campaign,\n ReactNativeOptions,\n AttributionOptions,\n ReactNativeClient,\n Identify as IIdentify,\n EventOptions,\n Event,\n Result,\n} from '@amplitude/analytics-types';\nimport { Context } from './plugins/context';\nimport { useReactNativeConfig, createFlexibleStorage } from './config';\nimport { parseOldCookies } from './cookie-migration';\nimport { isNative } from './utils/platform';\n\nconst START_SESSION_EVENT = 'session_start';\nconst END_SESSION_EVENT = 'session_end';\n\nexport class AmplitudeReactNative extends AmplitudeCore<ReactNativeConfig> {\n appState: AppStateStatus = 'background';\n explicitSessionId: number | undefined;\n\n async init(apiKey = '', userId?: string, options?: ReactNativeOptions) {\n // Step 0: Block concurrent initialization\n if (this.initializing) {\n return;\n }\n this.initializing = true;\n this.explicitSessionId = options?.sessionId;\n\n // Step 1: Read cookies stored by old SDK\n const oldCookies = await parseOldCookies(apiKey, options);\n\n // Step 2: Create react native config\n const reactNativeOptions = await useReactNativeConfig(apiKey, userId || oldCookies.userId, {\n ...options,\n deviceId: oldCookies.deviceId ?? options?.deviceId,\n sessionId: oldCookies.sessionId,\n optOut: options?.optOut ?? oldCookies.optOut,\n lastEventTime: oldCookies.lastEventTime,\n });\n await super._init(reactNativeOptions);\n\n // Set up the analytics connector to integrate with the experiment SDK.\n // Send events from the experiment SDK and forward identifies to the\n // identity store.\n const connector = getAnalyticsConnector();\n connector.eventBridge.setEventReceiver((event) => {\n void this.track(event.eventType, event.eventProperties);\n });\n connector.identityStore.setIdentity({\n userId: this.config.userId,\n deviceId: this.config.deviceId,\n });\n\n // Step 3: Install plugins\n // Do not track any events before this\n await this.add(new Context());\n await this.add(new IdentityEventSender());\n await this.add(new Destination());\n\n // Step 4: Manage session\n this.appState = AppState.currentState;\n const isNewSession = this.startNewSessionIfNeeded();\n AppState.addEventListener('change', this.handleAppStateChange);\n\n this.initializing = false;\n\n // Step 5: Track attributions\n await this.runAttributionStrategy(options?.attribution, isNewSession);\n\n // Step 6: Run queued functions\n await this.runQueuedFunctions('dispatchQ');\n }\n\n shutdown() {\n AppState.removeEventListener('change', this.handleAppStateChange);\n }\n\n async runAttributionStrategy(attributionConfig?: AttributionOptions, isNewSession = false) {\n if (isNative()) {\n return;\n }\n const track = this.track.bind(this);\n const onNewCampaign = this.setSessionId.bind(this, this.currentTimeMillis());\n\n const storage = await createFlexibleStorage<Campaign>(this.config);\n const campaignTracker = new CampaignTracker(this.config.apiKey, {\n ...attributionConfig,\n storage,\n track,\n onNewCampaign,\n });\n\n await campaignTracker.send(isNewSession);\n }\n\n getUserId() {\n return this.config?.userId;\n }\n\n setUserId(userId: string | undefined) {\n if (!this.config) {\n this.q.push(this.setUserId.bind(this, userId));\n return;\n }\n this.config.userId = userId;\n getAnalyticsConnector()\n .identityStore.editIdentity()\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n .setUserId(userId)\n .commit();\n }\n\n getDeviceId() {\n return this.config?.deviceId;\n }\n\n setDeviceId(deviceId: string) {\n if (!this.config) {\n this.q.push(this.setDeviceId.bind(this, deviceId));\n return;\n }\n this.config.deviceId = deviceId;\n getAnalyticsConnector()\n .identityStore.editIdentity()\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n .setDeviceId(deviceId)\n .commit();\n }\n\n identify(identify: IIdentify, eventOptions?: EventOptions) {\n if (eventOptions?.user_id) {\n this.setUserId(eventOptions.user_id);\n }\n if (eventOptions?.device_id) {\n this.setDeviceId(eventOptions.device_id);\n }\n return super.identify(identify, eventOptions);\n }\n\n reset() {\n this.setUserId(undefined);\n this.setDeviceId(UUID());\n }\n\n getSessionId() {\n return this.config?.sessionId;\n }\n\n setSessionId(sessionId: number) {\n if (!this.config) {\n this.q.push(this.setSessionId.bind(this, sessionId));\n return;\n }\n\n this.explicitSessionId = sessionId;\n void this.setSessionIdInternal(sessionId, this.currentTimeMillis());\n }\n\n private setSessionIdInternal(sessionId: number, eventTime: number) {\n const previousSessionId = this.config.sessionId;\n if (previousSessionId === sessionId) {\n return;\n }\n\n this.config.sessionId = sessionId;\n\n if (this.config.trackingSessionEvents) {\n if (previousSessionId !== undefined) {\n const sessionEndEvent: Event = {\n event_type: END_SESSION_EVENT,\n time: this.config.lastEventTime !== undefined ? this.config.lastEventTime + 1 : sessionId, // increment lastEventTime to sort events properly in UI - session_end should be the last event in a session\n session_id: previousSessionId,\n };\n void this.track(sessionEndEvent);\n }\n\n const sessionStartEvent: Event = {\n event_type: START_SESSION_EVENT,\n time: eventTime,\n session_id: sessionId,\n };\n void this.track(sessionStartEvent);\n }\n\n this.config.lastEventTime = eventTime;\n }\n\n async process(event: Event): Promise<Result> {\n if (!this.config.optOut) {\n const eventTime = event.time ?? this.currentTimeMillis();\n if (event.time === undefined) {\n event = { ...event, time: eventTime };\n }\n\n if (event.event_type != START_SESSION_EVENT && event.event_type != END_SESSION_EVENT) {\n if (this.appState !== 'active') {\n this.startNewSessionIfNeeded(eventTime);\n }\n }\n this.config.lastEventTime = eventTime;\n\n if (event.session_id == undefined) {\n event.session_id = this.getSessionId();\n }\n }\n\n return super.process(event);\n }\n\n currentTimeMillis() {\n return Date.now();\n }\n\n private startNewSessionIfNeeded(eventTime?: number): boolean {\n eventTime = eventTime ?? this.currentTimeMillis();\n const sessionId = this.explicitSessionId ?? eventTime;\n\n if (\n this.inSession() &&\n (this.explicitSessionId === this.config.sessionId ||\n (this.explicitSessionId === undefined && this.isWithinMinTimeBetweenSessions(sessionId)))\n ) {\n this.config.lastEventTime = eventTime;\n return false;\n }\n\n this.setSessionIdInternal(sessionId, eventTime);\n return true;\n }\n\n private isWithinMinTimeBetweenSessions(eventTime: number) {\n return eventTime - (this.config.lastEventTime ?? 0) < this.config.sessionTimeout;\n }\n\n private inSession() {\n return this.config.sessionId != undefined;\n }\n\n private readonly handleAppStateChange = (nextAppState: AppStateStatus) => {\n const currentAppState = this.appState;\n this.appState = nextAppState;\n if (currentAppState !== nextAppState && nextAppState === 'active') {\n this.startNewSessionIfNeeded();\n }\n };\n}\n\nexport const createInstance = (): ReactNativeClient => {\n const client = new AmplitudeReactNative();\n return {\n init: debugWrapper(\n returnWrapper(client.init.bind(client)),\n 'init',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n add: debugWrapper(\n returnWrapper(client.add.bind(client)),\n 'add',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n remove: debugWrapper(\n returnWrapper(client.remove.bind(client)),\n 'remove',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n track: debugWrapper(\n returnWrapper(client.track.bind(client)),\n 'track',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n logEvent: debugWrapper(\n returnWrapper(client.logEvent.bind(client)),\n 'logEvent',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n identify: debugWrapper(\n returnWrapper(client.identify.bind(client)),\n 'identify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n groupIdentify: debugWrapper(\n returnWrapper(client.groupIdentify.bind(client)),\n 'groupIdentify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n setGroup: debugWrapper(\n returnWrapper(client.setGroup.bind(client)),\n 'setGroup',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n revenue: debugWrapper(\n returnWrapper(client.revenue.bind(client)),\n 'revenue',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n flush: debugWrapper(\n returnWrapper(client.flush.bind(client)),\n 'flush',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n getUserId: debugWrapper(\n client.getUserId.bind(client),\n 'getUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n setUserId: debugWrapper(\n client.setUserId.bind(client),\n 'setUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n getDeviceId: debugWrapper(\n client.getDeviceId.bind(client),\n 'getDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n setDeviceId: debugWrapper(\n client.setDeviceId.bind(client),\n 'setDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n reset: debugWrapper(\n client.reset.bind(client),\n 'reset',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId', 'config.deviceId']),\n ),\n getSessionId: debugWrapper(\n client.getSessionId.bind(client),\n 'getSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setSessionId: debugWrapper(\n client.setSessionId.bind(client),\n 'setSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setOptOut: debugWrapper(\n client.setOptOut.bind(client),\n 'setOptOut',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n };\n};\n\nexport default createInstance();\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["START_SESSION_EVENT","END_SESSION_EVENT","AmplitudeReactNative","AmplitudeCore","nextAppState","currentAppState","appState","startNewSessionIfNeeded","init","apiKey","userId","options","initializing","explicitSessionId","sessionId","oldCookies","parseOldCookies","reactNativeOptions","useReactNativeConfig","deviceId","optOut","lastEventTime","_init","connector","getAnalyticsConnector","eventBridge","setEventReceiver","event","track","eventType","eventProperties","identityStore","setIdentity","config","add","Context","IdentityEventSender","Destination","AppState","currentState","isNewSession","addEventListener","handleAppStateChange","runAttributionStrategy","attribution","runQueuedFunctions","shutdown","removeEventListener","attributionConfig","isNative","bind","onNewCampaign","setSessionId","currentTimeMillis","storage","createFlexibleStorage","campaignTracker","CampaignTracker","send","getUserId","setUserId","q","push","editIdentity","commit","getDeviceId","setDeviceId","identify","eventOptions","user_id","device_id","reset","undefined","UUID","getSessionId","setSessionIdInternal","eventTime","previousSessionId","trackingSessionEvents","sessionEndEvent","event_type","time","session_id","sessionStartEvent","process","event_id","eventId","sessionManager","getLastEventId","setLastEventId","Date","now","inSession","isWithinMinTimeBetweenSessions","sessionTimeout","createInstance","client","debugWrapper","returnWrapper","getClientLogConfig","getClientStates","remove","logEvent","groupIdentify","setGroup","revenue","flush","setOptOut"],"sources":["react-native-client.ts"],"sourcesContent":["import { AppState, AppStateStatus } from 'react-native';\nimport {\n AmplitudeCore,\n Destination,\n UUID,\n returnWrapper,\n debugWrapper,\n getClientLogConfig,\n getClientStates,\n} from '@amplitude/analytics-core';\nimport { CampaignTracker, IdentityEventSender, getAnalyticsConnector } from '@amplitude/analytics-client-common';\nimport {\n ReactNativeConfig,\n Campaign,\n ReactNativeOptions,\n AttributionOptions,\n ReactNativeClient,\n Identify as IIdentify,\n EventOptions,\n Event,\n Result,\n} from '@amplitude/analytics-types';\nimport { Context } from './plugins/context';\nimport { useReactNativeConfig, createFlexibleStorage } from './config';\nimport { parseOldCookies } from './cookie-migration';\nimport { isNative } from './utils/platform';\n\nconst START_SESSION_EVENT = 'session_start';\nconst END_SESSION_EVENT = 'session_end';\n\nexport class AmplitudeReactNative extends AmplitudeCore<ReactNativeConfig> {\n appState: AppStateStatus = 'background';\n explicitSessionId: number | undefined;\n\n async init(apiKey = '', userId?: string, options?: ReactNativeOptions) {\n // Step 0: Block concurrent initialization\n if (this.initializing) {\n return;\n }\n this.initializing = true;\n this.explicitSessionId = options?.sessionId;\n\n // Step 1: Read cookies stored by old SDK\n const oldCookies = await parseOldCookies(apiKey, options);\n\n // Step 2: Create react native config\n const reactNativeOptions = await useReactNativeConfig(apiKey, userId || oldCookies.userId, {\n ...options,\n deviceId: oldCookies.deviceId ?? options?.deviceId,\n sessionId: oldCookies.sessionId,\n optOut: options?.optOut ?? oldCookies.optOut,\n lastEventTime: oldCookies.lastEventTime,\n });\n await super._init(reactNativeOptions);\n\n // Set up the analytics connector to integrate with the experiment SDK.\n // Send events from the experiment SDK and forward identifies to the\n // identity store.\n const connector = getAnalyticsConnector();\n connector.eventBridge.setEventReceiver((event) => {\n void this.track(event.eventType, event.eventProperties);\n });\n connector.identityStore.setIdentity({\n userId: this.config.userId,\n deviceId: this.config.deviceId,\n });\n\n // Step 3: Install plugins\n // Do not track any events before this\n await this.add(new Context());\n await this.add(new IdentityEventSender());\n await this.add(new Destination());\n\n // Step 4: Manage session\n this.appState = AppState.currentState;\n const isNewSession = this.startNewSessionIfNeeded();\n AppState.addEventListener('change', this.handleAppStateChange);\n\n this.initializing = false;\n\n // Step 5: Track attributions\n await this.runAttributionStrategy(options?.attribution, isNewSession);\n\n // Step 6: Run queued functions\n await this.runQueuedFunctions('dispatchQ');\n }\n\n shutdown() {\n AppState.removeEventListener('change', this.handleAppStateChange);\n }\n\n async runAttributionStrategy(attributionConfig?: AttributionOptions, isNewSession = false) {\n if (isNative()) {\n return;\n }\n const track = this.track.bind(this);\n const onNewCampaign = this.setSessionId.bind(this, this.currentTimeMillis());\n\n const storage = await createFlexibleStorage<Campaign>(this.config);\n const campaignTracker = new CampaignTracker(this.config.apiKey, {\n ...attributionConfig,\n storage,\n track,\n onNewCampaign,\n });\n\n await campaignTracker.send(isNewSession);\n }\n\n getUserId() {\n return this.config?.userId;\n }\n\n setUserId(userId: string | undefined) {\n if (!this.config) {\n this.q.push(this.setUserId.bind(this, userId));\n return;\n }\n this.config.userId = userId;\n getAnalyticsConnector()\n .identityStore.editIdentity()\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n .setUserId(userId)\n .commit();\n }\n\n getDeviceId() {\n return this.config?.deviceId;\n }\n\n setDeviceId(deviceId: string) {\n if (!this.config) {\n this.q.push(this.setDeviceId.bind(this, deviceId));\n return;\n }\n this.config.deviceId = deviceId;\n getAnalyticsConnector()\n .identityStore.editIdentity()\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n .setDeviceId(deviceId)\n .commit();\n }\n\n identify(identify: IIdentify, eventOptions?: EventOptions) {\n if (eventOptions?.user_id) {\n this.setUserId(eventOptions.user_id);\n }\n if (eventOptions?.device_id) {\n this.setDeviceId(eventOptions.device_id);\n }\n return super.identify(identify, eventOptions);\n }\n\n reset() {\n this.setUserId(undefined);\n this.setDeviceId(UUID());\n }\n\n getSessionId() {\n return this.config?.sessionId;\n }\n\n setSessionId(sessionId: number) {\n if (!this.config) {\n this.q.push(this.setSessionId.bind(this, sessionId));\n return;\n }\n\n this.explicitSessionId = sessionId;\n void this.setSessionIdInternal(sessionId, this.currentTimeMillis());\n }\n\n private setSessionIdInternal(sessionId: number, eventTime: number) {\n const previousSessionId = this.config.sessionId;\n if (previousSessionId === sessionId) {\n return;\n }\n\n this.config.sessionId = sessionId;\n\n if (this.config.trackingSessionEvents) {\n if (previousSessionId !== undefined) {\n const sessionEndEvent: Event = {\n event_type: END_SESSION_EVENT,\n time: this.config.lastEventTime !== undefined ? this.config.lastEventTime + 1 : sessionId, // increment lastEventTime to sort events properly in UI - session_end should be the last event in a session\n session_id: previousSessionId,\n };\n void this.track(sessionEndEvent);\n }\n\n const sessionStartEvent: Event = {\n event_type: START_SESSION_EVENT,\n time: eventTime,\n session_id: sessionId,\n };\n void this.track(sessionStartEvent);\n }\n\n this.config.lastEventTime = eventTime;\n }\n\n async process(event: Event): Promise<Result> {\n if (!this.config.optOut) {\n const eventTime = event.time ?? this.currentTimeMillis();\n if (event.time === undefined) {\n event = { ...event, time: eventTime };\n }\n\n if (event.event_type != START_SESSION_EVENT && event.event_type != END_SESSION_EVENT) {\n if (this.appState !== 'active') {\n this.startNewSessionIfNeeded(eventTime);\n }\n }\n this.config.lastEventTime = eventTime;\n\n if (event.session_id == undefined) {\n event.session_id = this.getSessionId();\n }\n\n if (event.event_id === undefined) {\n const eventId = (this.config.sessionManager.getLastEventId() ?? -1) + 1;\n event = { ...event, event_id: eventId };\n this.config.sessionManager.setLastEventId(eventId);\n }\n }\n\n return super.process(event);\n }\n\n currentTimeMillis() {\n return Date.now();\n }\n\n private startNewSessionIfNeeded(eventTime?: number): boolean {\n eventTime = eventTime ?? this.currentTimeMillis();\n const sessionId = this.explicitSessionId ?? eventTime;\n\n if (\n this.inSession() &&\n (this.explicitSessionId === this.config.sessionId ||\n (this.explicitSessionId === undefined && this.isWithinMinTimeBetweenSessions(sessionId)))\n ) {\n this.config.lastEventTime = eventTime;\n return false;\n }\n\n this.setSessionIdInternal(sessionId, eventTime);\n return true;\n }\n\n private isWithinMinTimeBetweenSessions(eventTime: number) {\n return eventTime - (this.config.lastEventTime ?? 0) < this.config.sessionTimeout;\n }\n\n private inSession() {\n return this.config.sessionId != undefined;\n }\n\n private readonly handleAppStateChange = (nextAppState: AppStateStatus) => {\n const currentAppState = this.appState;\n this.appState = nextAppState;\n if (currentAppState !== nextAppState && nextAppState === 'active') {\n this.startNewSessionIfNeeded();\n }\n };\n}\n\nexport const createInstance = (): ReactNativeClient => {\n const client = new AmplitudeReactNative();\n return {\n init: debugWrapper(\n returnWrapper(client.init.bind(client)),\n 'init',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n add: debugWrapper(\n returnWrapper(client.add.bind(client)),\n 'add',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n remove: debugWrapper(\n returnWrapper(client.remove.bind(client)),\n 'remove',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n track: debugWrapper(\n returnWrapper(client.track.bind(client)),\n 'track',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n logEvent: debugWrapper(\n returnWrapper(client.logEvent.bind(client)),\n 'logEvent',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n identify: debugWrapper(\n returnWrapper(client.identify.bind(client)),\n 'identify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n groupIdentify: debugWrapper(\n returnWrapper(client.groupIdentify.bind(client)),\n 'groupIdentify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n setGroup: debugWrapper(\n returnWrapper(client.setGroup.bind(client)),\n 'setGroup',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n revenue: debugWrapper(\n returnWrapper(client.revenue.bind(client)),\n 'revenue',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n flush: debugWrapper(\n returnWrapper(client.flush.bind(client)),\n 'flush',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n getUserId: debugWrapper(\n client.getUserId.bind(client),\n 'getUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n setUserId: debugWrapper(\n client.setUserId.bind(client),\n 'setUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n getDeviceId: debugWrapper(\n client.getDeviceId.bind(client),\n 'getDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n setDeviceId: debugWrapper(\n client.setDeviceId.bind(client),\n 'setDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n reset: debugWrapper(\n client.reset.bind(client),\n 'reset',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId', 'config.deviceId']),\n ),\n getSessionId: debugWrapper(\n client.getSessionId.bind(client),\n 'getSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setSessionId: debugWrapper(\n client.setSessionId.bind(client),\n 'setSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setOptOut: debugWrapper(\n client.setOptOut.bind(client),\n 'setOptOut',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n };\n};\n\nexport default createInstance();\n"],"mappings":"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"}
|
package/lib/commonjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["export const VERSION = '0.
|
|
1
|
+
{"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["export const VERSION = '0.7.0';\n"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAG,OAAhB"}
|
|
@@ -19,8 +19,6 @@ export class Context {
|
|
|
19
19
|
|
|
20
20
|
_defineProperty(this, "config", void 0);
|
|
21
21
|
|
|
22
|
-
_defineProperty(this, "eventId", 0);
|
|
23
|
-
|
|
24
22
|
_defineProperty(this, "uaResult", void 0);
|
|
25
23
|
|
|
26
24
|
_defineProperty(this, "nativeModule", NativeModules.AmplitudeReactNative);
|
|
@@ -101,7 +99,6 @@ export class Context {
|
|
|
101
99
|
}
|
|
102
100
|
}),
|
|
103
101
|
...context,
|
|
104
|
-
event_id: this.eventId++,
|
|
105
102
|
library: this.library
|
|
106
103
|
};
|
|
107
104
|
return event;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PluginType","UAParser","UUID","getLanguage","VERSION","NativeModules","BROWSER_PLATFORM","IP_ADDRESS","Context","constructor","BEFORE","AmplitudeReactNative","agent","navigator","userAgent","uaResult","getResult","setup","config","Promise","resolve","undefined","execute","context","time","Date","getTime","nativeContext","nativeModule","getApplicationContext","appVersion","version","platform","osName","browser","name","osVersion","deviceVendor","deviceManufacturer","device","vendor","deviceModel","model","os","language","carrier","adid","event","user_id","userId","device_id","deviceId","session_id","sessionId","app_version","trackingOptions","os_name","os_version","device_manufacturer","device_model","ipAddress","ip","insert_id","partner_id","partnerId","plan","ingestionMetadata","ingestion_metadata","source_name","sourceName","source_version","sourceVersion","
|
|
1
|
+
{"version":3,"names":["PluginType","UAParser","UUID","getLanguage","VERSION","NativeModules","BROWSER_PLATFORM","IP_ADDRESS","Context","constructor","BEFORE","AmplitudeReactNative","agent","navigator","userAgent","uaResult","getResult","setup","config","Promise","resolve","undefined","execute","context","time","Date","getTime","nativeContext","nativeModule","getApplicationContext","appVersion","version","platform","osName","browser","name","osVersion","deviceVendor","deviceManufacturer","device","vendor","deviceModel","model","os","language","carrier","adid","event","user_id","userId","device_id","deviceId","session_id","sessionId","app_version","trackingOptions","os_name","os_version","device_manufacturer","device_model","ipAddress","ip","insert_id","partner_id","partnerId","plan","ingestionMetadata","ingestion_metadata","source_name","sourceName","source_version","sourceVersion","library"],"sources":["context.ts"],"sourcesContent":["import { BeforePlugin, ReactNativeConfig, Event, PluginType } from '@amplitude/analytics-types';\nimport UAParser from '@amplitude/ua-parser-js';\nimport { UUID } from '@amplitude/analytics-core';\nimport { getLanguage } from '@amplitude/analytics-client-common';\nimport { VERSION } from '../version';\nimport { NativeModules } from 'react-native';\n\nconst BROWSER_PLATFORM = 'Web';\nconst IP_ADDRESS = '$remote';\n\ntype NativeContext = {\n version: string;\n platform: string;\n language: string;\n osName: string;\n osVersion: string;\n deviceBrand: string;\n deviceManufacturer: string;\n deviceModel: string;\n carrier: string;\n adid: string;\n};\n\nexport interface AmplitudeReactNative {\n getApplicationContext(): Promise<NativeContext>;\n}\n\nexport class Context implements BeforePlugin {\n name = 'context';\n type = PluginType.BEFORE as const;\n\n // this.config is defined in setup() which will always be called first\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: ReactNativeConfig;\n uaResult: UAParser.IResult;\n nativeModule: AmplitudeReactNative | undefined = NativeModules.AmplitudeReactNative as\n | AmplitudeReactNative\n | undefined;\n library = `amplitude-react-native-ts/${VERSION}`;\n\n constructor() {\n let agent: string | undefined;\n /* istanbul ignore else */\n if (typeof navigator !== 'undefined') {\n agent = navigator.userAgent;\n }\n this.uaResult = new UAParser(agent).getResult();\n }\n\n setup(config: ReactNativeConfig): Promise<undefined> {\n this.config = config;\n return Promise.resolve(undefined);\n }\n\n async execute(context: Event): Promise<Event> {\n const time = new Date().getTime();\n const nativeContext = await this.nativeModule?.getApplicationContext();\n const appVersion = nativeContext?.version || this.config.appVersion;\n const platform = nativeContext?.platform || BROWSER_PLATFORM;\n const osName = nativeContext?.osName || this.uaResult.browser.name;\n const osVersion = nativeContext?.osVersion || this.uaResult.browser.version;\n const deviceVendor = nativeContext?.deviceManufacturer || this.uaResult.device.vendor;\n const deviceModel = nativeContext?.deviceModel || this.uaResult.device.model || this.uaResult.os.name;\n const language = nativeContext?.language || getLanguage();\n const carrier = nativeContext?.carrier;\n const adid = nativeContext?.adid;\n\n const event: Event = {\n user_id: this.config.userId,\n device_id: this.config.deviceId,\n session_id: this.config.sessionId,\n time,\n ...(this.config.appVersion && { app_version: appVersion }),\n ...(this.config.trackingOptions.platform && { platform: platform }),\n ...(this.config.trackingOptions.osName && { os_name: osName }),\n ...(this.config.trackingOptions.osVersion && { os_version: osVersion }),\n ...(this.config.trackingOptions.deviceManufacturer && { device_manufacturer: deviceVendor }),\n ...(this.config.trackingOptions.deviceModel && { device_model: deviceModel }),\n ...(this.config.trackingOptions.language && { language: language }),\n ...(this.config.trackingOptions.carrier && { carrier: carrier }),\n ...(this.config.trackingOptions.ipAddress && { ip: IP_ADDRESS }),\n ...(this.config.trackingOptions.adid && { adid: adid }),\n insert_id: UUID(),\n partner_id: this.config.partnerId,\n plan: this.config.plan,\n ...(this.config.ingestionMetadata && {\n ingestion_metadata: {\n source_name: this.config.ingestionMetadata.sourceName,\n source_version: this.config.ingestionMetadata.sourceVersion,\n },\n }),\n ...context,\n library: this.library,\n };\n return event;\n }\n}\n"],"mappings":"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"}
|
|
@@ -223,6 +223,16 @@ export class AmplitudeReactNative extends AmplitudeCore {
|
|
|
223
223
|
if (event.session_id == undefined) {
|
|
224
224
|
event.session_id = this.getSessionId();
|
|
225
225
|
}
|
|
226
|
+
|
|
227
|
+
if (event.event_id === undefined) {
|
|
228
|
+
var _this$config$sessionM;
|
|
229
|
+
|
|
230
|
+
const eventId = ((_this$config$sessionM = this.config.sessionManager.getLastEventId()) !== null && _this$config$sessionM !== void 0 ? _this$config$sessionM : -1) + 1;
|
|
231
|
+
event = { ...event,
|
|
232
|
+
event_id: eventId
|
|
233
|
+
};
|
|
234
|
+
this.config.sessionManager.setLastEventId(eventId);
|
|
235
|
+
}
|
|
226
236
|
}
|
|
227
237
|
|
|
228
238
|
return super.process(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AppState","AmplitudeCore","Destination","UUID","returnWrapper","debugWrapper","getClientLogConfig","getClientStates","CampaignTracker","IdentityEventSender","getAnalyticsConnector","Context","useReactNativeConfig","createFlexibleStorage","parseOldCookies","isNative","START_SESSION_EVENT","END_SESSION_EVENT","AmplitudeReactNative","nextAppState","currentAppState","appState","startNewSessionIfNeeded","init","apiKey","userId","options","initializing","explicitSessionId","sessionId","oldCookies","reactNativeOptions","deviceId","optOut","lastEventTime","_init","connector","eventBridge","setEventReceiver","event","track","eventType","eventProperties","identityStore","setIdentity","config","add","currentState","isNewSession","addEventListener","handleAppStateChange","runAttributionStrategy","attribution","runQueuedFunctions","shutdown","removeEventListener","attributionConfig","bind","onNewCampaign","setSessionId","currentTimeMillis","storage","campaignTracker","send","getUserId","setUserId","q","push","editIdentity","commit","getDeviceId","setDeviceId","identify","eventOptions","user_id","device_id","reset","undefined","getSessionId","setSessionIdInternal","eventTime","previousSessionId","trackingSessionEvents","sessionEndEvent","event_type","time","session_id","sessionStartEvent","process","Date","now","inSession","isWithinMinTimeBetweenSessions","sessionTimeout","createInstance","client","remove","logEvent","groupIdentify","setGroup","revenue","flush","setOptOut"],"sources":["react-native-client.ts"],"sourcesContent":["import { AppState, AppStateStatus } from 'react-native';\nimport {\n AmplitudeCore,\n Destination,\n UUID,\n returnWrapper,\n debugWrapper,\n getClientLogConfig,\n getClientStates,\n} from '@amplitude/analytics-core';\nimport { CampaignTracker, IdentityEventSender, getAnalyticsConnector } from '@amplitude/analytics-client-common';\nimport {\n ReactNativeConfig,\n Campaign,\n ReactNativeOptions,\n AttributionOptions,\n ReactNativeClient,\n Identify as IIdentify,\n EventOptions,\n Event,\n Result,\n} from '@amplitude/analytics-types';\nimport { Context } from './plugins/context';\nimport { useReactNativeConfig, createFlexibleStorage } from './config';\nimport { parseOldCookies } from './cookie-migration';\nimport { isNative } from './utils/platform';\n\nconst START_SESSION_EVENT = 'session_start';\nconst END_SESSION_EVENT = 'session_end';\n\nexport class AmplitudeReactNative extends AmplitudeCore<ReactNativeConfig> {\n appState: AppStateStatus = 'background';\n explicitSessionId: number | undefined;\n\n async init(apiKey = '', userId?: string, options?: ReactNativeOptions) {\n // Step 0: Block concurrent initialization\n if (this.initializing) {\n return;\n }\n this.initializing = true;\n this.explicitSessionId = options?.sessionId;\n\n // Step 1: Read cookies stored by old SDK\n const oldCookies = await parseOldCookies(apiKey, options);\n\n // Step 2: Create react native config\n const reactNativeOptions = await useReactNativeConfig(apiKey, userId || oldCookies.userId, {\n ...options,\n deviceId: oldCookies.deviceId ?? options?.deviceId,\n sessionId: oldCookies.sessionId,\n optOut: options?.optOut ?? oldCookies.optOut,\n lastEventTime: oldCookies.lastEventTime,\n });\n await super._init(reactNativeOptions);\n\n // Set up the analytics connector to integrate with the experiment SDK.\n // Send events from the experiment SDK and forward identifies to the\n // identity store.\n const connector = getAnalyticsConnector();\n connector.eventBridge.setEventReceiver((event) => {\n void this.track(event.eventType, event.eventProperties);\n });\n connector.identityStore.setIdentity({\n userId: this.config.userId,\n deviceId: this.config.deviceId,\n });\n\n // Step 3: Install plugins\n // Do not track any events before this\n await this.add(new Context());\n await this.add(new IdentityEventSender());\n await this.add(new Destination());\n\n // Step 4: Manage session\n this.appState = AppState.currentState;\n const isNewSession = this.startNewSessionIfNeeded();\n AppState.addEventListener('change', this.handleAppStateChange);\n\n this.initializing = false;\n\n // Step 5: Track attributions\n await this.runAttributionStrategy(options?.attribution, isNewSession);\n\n // Step 6: Run queued functions\n await this.runQueuedFunctions('dispatchQ');\n }\n\n shutdown() {\n AppState.removeEventListener('change', this.handleAppStateChange);\n }\n\n async runAttributionStrategy(attributionConfig?: AttributionOptions, isNewSession = false) {\n if (isNative()) {\n return;\n }\n const track = this.track.bind(this);\n const onNewCampaign = this.setSessionId.bind(this, this.currentTimeMillis());\n\n const storage = await createFlexibleStorage<Campaign>(this.config);\n const campaignTracker = new CampaignTracker(this.config.apiKey, {\n ...attributionConfig,\n storage,\n track,\n onNewCampaign,\n });\n\n await campaignTracker.send(isNewSession);\n }\n\n getUserId() {\n return this.config?.userId;\n }\n\n setUserId(userId: string | undefined) {\n if (!this.config) {\n this.q.push(this.setUserId.bind(this, userId));\n return;\n }\n this.config.userId = userId;\n getAnalyticsConnector()\n .identityStore.editIdentity()\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n .setUserId(userId)\n .commit();\n }\n\n getDeviceId() {\n return this.config?.deviceId;\n }\n\n setDeviceId(deviceId: string) {\n if (!this.config) {\n this.q.push(this.setDeviceId.bind(this, deviceId));\n return;\n }\n this.config.deviceId = deviceId;\n getAnalyticsConnector()\n .identityStore.editIdentity()\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n .setDeviceId(deviceId)\n .commit();\n }\n\n identify(identify: IIdentify, eventOptions?: EventOptions) {\n if (eventOptions?.user_id) {\n this.setUserId(eventOptions.user_id);\n }\n if (eventOptions?.device_id) {\n this.setDeviceId(eventOptions.device_id);\n }\n return super.identify(identify, eventOptions);\n }\n\n reset() {\n this.setUserId(undefined);\n this.setDeviceId(UUID());\n }\n\n getSessionId() {\n return this.config?.sessionId;\n }\n\n setSessionId(sessionId: number) {\n if (!this.config) {\n this.q.push(this.setSessionId.bind(this, sessionId));\n return;\n }\n\n this.explicitSessionId = sessionId;\n void this.setSessionIdInternal(sessionId, this.currentTimeMillis());\n }\n\n private setSessionIdInternal(sessionId: number, eventTime: number) {\n const previousSessionId = this.config.sessionId;\n if (previousSessionId === sessionId) {\n return;\n }\n\n this.config.sessionId = sessionId;\n\n if (this.config.trackingSessionEvents) {\n if (previousSessionId !== undefined) {\n const sessionEndEvent: Event = {\n event_type: END_SESSION_EVENT,\n time: this.config.lastEventTime !== undefined ? this.config.lastEventTime + 1 : sessionId, // increment lastEventTime to sort events properly in UI - session_end should be the last event in a session\n session_id: previousSessionId,\n };\n void this.track(sessionEndEvent);\n }\n\n const sessionStartEvent: Event = {\n event_type: START_SESSION_EVENT,\n time: eventTime,\n session_id: sessionId,\n };\n void this.track(sessionStartEvent);\n }\n\n this.config.lastEventTime = eventTime;\n }\n\n async process(event: Event): Promise<Result> {\n if (!this.config.optOut) {\n const eventTime = event.time ?? this.currentTimeMillis();\n if (event.time === undefined) {\n event = { ...event, time: eventTime };\n }\n\n if (event.event_type != START_SESSION_EVENT && event.event_type != END_SESSION_EVENT) {\n if (this.appState !== 'active') {\n this.startNewSessionIfNeeded(eventTime);\n }\n }\n this.config.lastEventTime = eventTime;\n\n if (event.session_id == undefined) {\n event.session_id = this.getSessionId();\n }\n }\n\n return super.process(event);\n }\n\n currentTimeMillis() {\n return Date.now();\n }\n\n private startNewSessionIfNeeded(eventTime?: number): boolean {\n eventTime = eventTime ?? this.currentTimeMillis();\n const sessionId = this.explicitSessionId ?? eventTime;\n\n if (\n this.inSession() &&\n (this.explicitSessionId === this.config.sessionId ||\n (this.explicitSessionId === undefined && this.isWithinMinTimeBetweenSessions(sessionId)))\n ) {\n this.config.lastEventTime = eventTime;\n return false;\n }\n\n this.setSessionIdInternal(sessionId, eventTime);\n return true;\n }\n\n private isWithinMinTimeBetweenSessions(eventTime: number) {\n return eventTime - (this.config.lastEventTime ?? 0) < this.config.sessionTimeout;\n }\n\n private inSession() {\n return this.config.sessionId != undefined;\n }\n\n private readonly handleAppStateChange = (nextAppState: AppStateStatus) => {\n const currentAppState = this.appState;\n this.appState = nextAppState;\n if (currentAppState !== nextAppState && nextAppState === 'active') {\n this.startNewSessionIfNeeded();\n }\n };\n}\n\nexport const createInstance = (): ReactNativeClient => {\n const client = new AmplitudeReactNative();\n return {\n init: debugWrapper(\n returnWrapper(client.init.bind(client)),\n 'init',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n add: debugWrapper(\n returnWrapper(client.add.bind(client)),\n 'add',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n remove: debugWrapper(\n returnWrapper(client.remove.bind(client)),\n 'remove',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n track: debugWrapper(\n returnWrapper(client.track.bind(client)),\n 'track',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n logEvent: debugWrapper(\n returnWrapper(client.logEvent.bind(client)),\n 'logEvent',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n identify: debugWrapper(\n returnWrapper(client.identify.bind(client)),\n 'identify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n groupIdentify: debugWrapper(\n returnWrapper(client.groupIdentify.bind(client)),\n 'groupIdentify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n setGroup: debugWrapper(\n returnWrapper(client.setGroup.bind(client)),\n 'setGroup',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n revenue: debugWrapper(\n returnWrapper(client.revenue.bind(client)),\n 'revenue',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n flush: debugWrapper(\n returnWrapper(client.flush.bind(client)),\n 'flush',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n getUserId: debugWrapper(\n client.getUserId.bind(client),\n 'getUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n setUserId: debugWrapper(\n client.setUserId.bind(client),\n 'setUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n getDeviceId: debugWrapper(\n client.getDeviceId.bind(client),\n 'getDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n setDeviceId: debugWrapper(\n client.setDeviceId.bind(client),\n 'setDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n reset: debugWrapper(\n client.reset.bind(client),\n 'reset',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId', 'config.deviceId']),\n ),\n getSessionId: debugWrapper(\n client.getSessionId.bind(client),\n 'getSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setSessionId: debugWrapper(\n client.setSessionId.bind(client),\n 'setSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setOptOut: debugWrapper(\n client.setOptOut.bind(client),\n 'setOptOut',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n };\n};\n\nexport default createInstance();\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["AppState","AmplitudeCore","Destination","UUID","returnWrapper","debugWrapper","getClientLogConfig","getClientStates","CampaignTracker","IdentityEventSender","getAnalyticsConnector","Context","useReactNativeConfig","createFlexibleStorage","parseOldCookies","isNative","START_SESSION_EVENT","END_SESSION_EVENT","AmplitudeReactNative","nextAppState","currentAppState","appState","startNewSessionIfNeeded","init","apiKey","userId","options","initializing","explicitSessionId","sessionId","oldCookies","reactNativeOptions","deviceId","optOut","lastEventTime","_init","connector","eventBridge","setEventReceiver","event","track","eventType","eventProperties","identityStore","setIdentity","config","add","currentState","isNewSession","addEventListener","handleAppStateChange","runAttributionStrategy","attribution","runQueuedFunctions","shutdown","removeEventListener","attributionConfig","bind","onNewCampaign","setSessionId","currentTimeMillis","storage","campaignTracker","send","getUserId","setUserId","q","push","editIdentity","commit","getDeviceId","setDeviceId","identify","eventOptions","user_id","device_id","reset","undefined","getSessionId","setSessionIdInternal","eventTime","previousSessionId","trackingSessionEvents","sessionEndEvent","event_type","time","session_id","sessionStartEvent","process","event_id","eventId","sessionManager","getLastEventId","setLastEventId","Date","now","inSession","isWithinMinTimeBetweenSessions","sessionTimeout","createInstance","client","remove","logEvent","groupIdentify","setGroup","revenue","flush","setOptOut"],"sources":["react-native-client.ts"],"sourcesContent":["import { AppState, AppStateStatus } from 'react-native';\nimport {\n AmplitudeCore,\n Destination,\n UUID,\n returnWrapper,\n debugWrapper,\n getClientLogConfig,\n getClientStates,\n} from '@amplitude/analytics-core';\nimport { CampaignTracker, IdentityEventSender, getAnalyticsConnector } from '@amplitude/analytics-client-common';\nimport {\n ReactNativeConfig,\n Campaign,\n ReactNativeOptions,\n AttributionOptions,\n ReactNativeClient,\n Identify as IIdentify,\n EventOptions,\n Event,\n Result,\n} from '@amplitude/analytics-types';\nimport { Context } from './plugins/context';\nimport { useReactNativeConfig, createFlexibleStorage } from './config';\nimport { parseOldCookies } from './cookie-migration';\nimport { isNative } from './utils/platform';\n\nconst START_SESSION_EVENT = 'session_start';\nconst END_SESSION_EVENT = 'session_end';\n\nexport class AmplitudeReactNative extends AmplitudeCore<ReactNativeConfig> {\n appState: AppStateStatus = 'background';\n explicitSessionId: number | undefined;\n\n async init(apiKey = '', userId?: string, options?: ReactNativeOptions) {\n // Step 0: Block concurrent initialization\n if (this.initializing) {\n return;\n }\n this.initializing = true;\n this.explicitSessionId = options?.sessionId;\n\n // Step 1: Read cookies stored by old SDK\n const oldCookies = await parseOldCookies(apiKey, options);\n\n // Step 2: Create react native config\n const reactNativeOptions = await useReactNativeConfig(apiKey, userId || oldCookies.userId, {\n ...options,\n deviceId: oldCookies.deviceId ?? options?.deviceId,\n sessionId: oldCookies.sessionId,\n optOut: options?.optOut ?? oldCookies.optOut,\n lastEventTime: oldCookies.lastEventTime,\n });\n await super._init(reactNativeOptions);\n\n // Set up the analytics connector to integrate with the experiment SDK.\n // Send events from the experiment SDK and forward identifies to the\n // identity store.\n const connector = getAnalyticsConnector();\n connector.eventBridge.setEventReceiver((event) => {\n void this.track(event.eventType, event.eventProperties);\n });\n connector.identityStore.setIdentity({\n userId: this.config.userId,\n deviceId: this.config.deviceId,\n });\n\n // Step 3: Install plugins\n // Do not track any events before this\n await this.add(new Context());\n await this.add(new IdentityEventSender());\n await this.add(new Destination());\n\n // Step 4: Manage session\n this.appState = AppState.currentState;\n const isNewSession = this.startNewSessionIfNeeded();\n AppState.addEventListener('change', this.handleAppStateChange);\n\n this.initializing = false;\n\n // Step 5: Track attributions\n await this.runAttributionStrategy(options?.attribution, isNewSession);\n\n // Step 6: Run queued functions\n await this.runQueuedFunctions('dispatchQ');\n }\n\n shutdown() {\n AppState.removeEventListener('change', this.handleAppStateChange);\n }\n\n async runAttributionStrategy(attributionConfig?: AttributionOptions, isNewSession = false) {\n if (isNative()) {\n return;\n }\n const track = this.track.bind(this);\n const onNewCampaign = this.setSessionId.bind(this, this.currentTimeMillis());\n\n const storage = await createFlexibleStorage<Campaign>(this.config);\n const campaignTracker = new CampaignTracker(this.config.apiKey, {\n ...attributionConfig,\n storage,\n track,\n onNewCampaign,\n });\n\n await campaignTracker.send(isNewSession);\n }\n\n getUserId() {\n return this.config?.userId;\n }\n\n setUserId(userId: string | undefined) {\n if (!this.config) {\n this.q.push(this.setUserId.bind(this, userId));\n return;\n }\n this.config.userId = userId;\n getAnalyticsConnector()\n .identityStore.editIdentity()\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n .setUserId(userId)\n .commit();\n }\n\n getDeviceId() {\n return this.config?.deviceId;\n }\n\n setDeviceId(deviceId: string) {\n if (!this.config) {\n this.q.push(this.setDeviceId.bind(this, deviceId));\n return;\n }\n this.config.deviceId = deviceId;\n getAnalyticsConnector()\n .identityStore.editIdentity()\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n .setDeviceId(deviceId)\n .commit();\n }\n\n identify(identify: IIdentify, eventOptions?: EventOptions) {\n if (eventOptions?.user_id) {\n this.setUserId(eventOptions.user_id);\n }\n if (eventOptions?.device_id) {\n this.setDeviceId(eventOptions.device_id);\n }\n return super.identify(identify, eventOptions);\n }\n\n reset() {\n this.setUserId(undefined);\n this.setDeviceId(UUID());\n }\n\n getSessionId() {\n return this.config?.sessionId;\n }\n\n setSessionId(sessionId: number) {\n if (!this.config) {\n this.q.push(this.setSessionId.bind(this, sessionId));\n return;\n }\n\n this.explicitSessionId = sessionId;\n void this.setSessionIdInternal(sessionId, this.currentTimeMillis());\n }\n\n private setSessionIdInternal(sessionId: number, eventTime: number) {\n const previousSessionId = this.config.sessionId;\n if (previousSessionId === sessionId) {\n return;\n }\n\n this.config.sessionId = sessionId;\n\n if (this.config.trackingSessionEvents) {\n if (previousSessionId !== undefined) {\n const sessionEndEvent: Event = {\n event_type: END_SESSION_EVENT,\n time: this.config.lastEventTime !== undefined ? this.config.lastEventTime + 1 : sessionId, // increment lastEventTime to sort events properly in UI - session_end should be the last event in a session\n session_id: previousSessionId,\n };\n void this.track(sessionEndEvent);\n }\n\n const sessionStartEvent: Event = {\n event_type: START_SESSION_EVENT,\n time: eventTime,\n session_id: sessionId,\n };\n void this.track(sessionStartEvent);\n }\n\n this.config.lastEventTime = eventTime;\n }\n\n async process(event: Event): Promise<Result> {\n if (!this.config.optOut) {\n const eventTime = event.time ?? this.currentTimeMillis();\n if (event.time === undefined) {\n event = { ...event, time: eventTime };\n }\n\n if (event.event_type != START_SESSION_EVENT && event.event_type != END_SESSION_EVENT) {\n if (this.appState !== 'active') {\n this.startNewSessionIfNeeded(eventTime);\n }\n }\n this.config.lastEventTime = eventTime;\n\n if (event.session_id == undefined) {\n event.session_id = this.getSessionId();\n }\n\n if (event.event_id === undefined) {\n const eventId = (this.config.sessionManager.getLastEventId() ?? -1) + 1;\n event = { ...event, event_id: eventId };\n this.config.sessionManager.setLastEventId(eventId);\n }\n }\n\n return super.process(event);\n }\n\n currentTimeMillis() {\n return Date.now();\n }\n\n private startNewSessionIfNeeded(eventTime?: number): boolean {\n eventTime = eventTime ?? this.currentTimeMillis();\n const sessionId = this.explicitSessionId ?? eventTime;\n\n if (\n this.inSession() &&\n (this.explicitSessionId === this.config.sessionId ||\n (this.explicitSessionId === undefined && this.isWithinMinTimeBetweenSessions(sessionId)))\n ) {\n this.config.lastEventTime = eventTime;\n return false;\n }\n\n this.setSessionIdInternal(sessionId, eventTime);\n return true;\n }\n\n private isWithinMinTimeBetweenSessions(eventTime: number) {\n return eventTime - (this.config.lastEventTime ?? 0) < this.config.sessionTimeout;\n }\n\n private inSession() {\n return this.config.sessionId != undefined;\n }\n\n private readonly handleAppStateChange = (nextAppState: AppStateStatus) => {\n const currentAppState = this.appState;\n this.appState = nextAppState;\n if (currentAppState !== nextAppState && nextAppState === 'active') {\n this.startNewSessionIfNeeded();\n }\n };\n}\n\nexport const createInstance = (): ReactNativeClient => {\n const client = new AmplitudeReactNative();\n return {\n init: debugWrapper(\n returnWrapper(client.init.bind(client)),\n 'init',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n add: debugWrapper(\n returnWrapper(client.add.bind(client)),\n 'add',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n remove: debugWrapper(\n returnWrapper(client.remove.bind(client)),\n 'remove',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n track: debugWrapper(\n returnWrapper(client.track.bind(client)),\n 'track',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n logEvent: debugWrapper(\n returnWrapper(client.logEvent.bind(client)),\n 'logEvent',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n identify: debugWrapper(\n returnWrapper(client.identify.bind(client)),\n 'identify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n groupIdentify: debugWrapper(\n returnWrapper(client.groupIdentify.bind(client)),\n 'groupIdentify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n setGroup: debugWrapper(\n returnWrapper(client.setGroup.bind(client)),\n 'setGroup',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n revenue: debugWrapper(\n returnWrapper(client.revenue.bind(client)),\n 'revenue',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n flush: debugWrapper(\n returnWrapper(client.flush.bind(client)),\n 'flush',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n getUserId: debugWrapper(\n client.getUserId.bind(client),\n 'getUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n setUserId: debugWrapper(\n client.setUserId.bind(client),\n 'setUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n getDeviceId: debugWrapper(\n client.getDeviceId.bind(client),\n 'getDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n setDeviceId: debugWrapper(\n client.setDeviceId.bind(client),\n 'setDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n reset: debugWrapper(\n client.reset.bind(client),\n 'reset',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId', 'config.deviceId']),\n ),\n getSessionId: debugWrapper(\n client.getSessionId.bind(client),\n 'getSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setSessionId: debugWrapper(\n client.setSessionId.bind(client),\n 'setSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setOptOut: debugWrapper(\n client.setOptOut.bind(client),\n 'setOptOut',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n };\n};\n\nexport default createInstance();\n"],"mappings":"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"}
|
package/lib/module/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '0.
|
|
1
|
+
export const VERSION = '0.7.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["export const VERSION = '0.
|
|
1
|
+
{"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["export const VERSION = '0.7.0';\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,OAAhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/plugins/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAS/C,aAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;CACjD;AAED,qBAAa,OAAQ,YAAW,YAAY;IAC1C,IAAI,SAAa;IACjB,IAAI,oBAA8B;IAKlC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/plugins/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAS/C,aAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;CACjD;AAED,qBAAa,OAAQ,YAAW,YAAY;IAC1C,IAAI,SAAa;IACjB,IAAI,oBAA8B;IAKlC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC3B,YAAY,EAAE,oBAAoB,GAAG,SAAS,CAEhC;IACd,OAAO,SAA0C;;IAWjD,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC;IAK9C,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;CA0C9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-native-client.d.ts","sourceRoot":"","sources":["../../src/react-native-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,cAAc,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,aAAa,EAOd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,IAAI,SAAS,EACrB,YAAY,EACZ,KAAK,EACL,MAAM,EACP,MAAM,4BAA4B,CAAC;AASpC,qBAAa,oBAAqB,SAAQ,aAAa,CAAC,iBAAiB,CAAC;IACxE,QAAQ,EAAE,cAAc,CAAgB;IACxC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,IAAI,CAAC,MAAM,SAAK,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAqDrE,QAAQ;IAIF,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,YAAY,UAAQ;IAkBzF,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAcpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAc5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY;IAUzD,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;IAU9B,OAAO,CAAC,oBAAoB;IA6BtB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"react-native-client.d.ts","sourceRoot":"","sources":["../../src/react-native-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,cAAc,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,aAAa,EAOd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,IAAI,SAAS,EACrB,YAAY,EACZ,KAAK,EACL,MAAM,EACP,MAAM,4BAA4B,CAAC;AASpC,qBAAa,oBAAqB,SAAQ,aAAa,CAAC,iBAAiB,CAAC;IACxE,QAAQ,EAAE,cAAc,CAAgB;IACxC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC,IAAI,CAAC,MAAM,SAAK,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAqDrE,QAAQ;IAIF,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,YAAY,UAAQ;IAkBzF,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAcpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAc5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY;IAUzD,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;IAU9B,OAAO,CAAC,oBAAoB;IA6BtB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IA4B5C,iBAAiB;IAIjB,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,8BAA8B;IAItC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAMnC;CACH;AAED,eAAO,MAAM,cAAc,QAAO,iBAgHjC,CAAC;;AAEF,wBAAgC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.7.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amplitude/analytics-react-native",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Official React Native SDK",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"analytics",
|
|
@@ -57,9 +57,9 @@
|
|
|
57
57
|
"url": "https://github.com/amplitude/Amplitude-TypeScript/issues"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@amplitude/analytics-client-common": "^0.
|
|
61
|
-
"@amplitude/analytics-core": "^0.
|
|
62
|
-
"@amplitude/analytics-types": "^0.
|
|
60
|
+
"@amplitude/analytics-client-common": "^0.5.0",
|
|
61
|
+
"@amplitude/analytics-core": "^0.11.0",
|
|
62
|
+
"@amplitude/analytics-types": "^0.14.0",
|
|
63
63
|
"@amplitude/ua-parser-js": "^0.7.31",
|
|
64
64
|
"@react-native-async-storage/async-storage": "^1.17.7",
|
|
65
65
|
"tslib": "^2.3.1"
|
|
@@ -89,5 +89,5 @@
|
|
|
89
89
|
]
|
|
90
90
|
]
|
|
91
91
|
},
|
|
92
|
-
"gitHead": "
|
|
92
|
+
"gitHead": "e4e95ad7ee239eaa9712eec347ad0ebe43bf2993"
|
|
93
93
|
}
|
package/src/plugins/context.ts
CHANGED
|
@@ -33,7 +33,6 @@ export class Context implements BeforePlugin {
|
|
|
33
33
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
34
34
|
// @ts-ignore
|
|
35
35
|
config: ReactNativeConfig;
|
|
36
|
-
eventId = 0;
|
|
37
36
|
uaResult: UAParser.IResult;
|
|
38
37
|
nativeModule: AmplitudeReactNative | undefined = NativeModules.AmplitudeReactNative as
|
|
39
38
|
| AmplitudeReactNative
|
|
@@ -92,7 +91,6 @@ export class Context implements BeforePlugin {
|
|
|
92
91
|
},
|
|
93
92
|
}),
|
|
94
93
|
...context,
|
|
95
|
-
event_id: this.eventId++,
|
|
96
94
|
library: this.library,
|
|
97
95
|
};
|
|
98
96
|
return event;
|
|
@@ -218,6 +218,12 @@ export class AmplitudeReactNative extends AmplitudeCore<ReactNativeConfig> {
|
|
|
218
218
|
if (event.session_id == undefined) {
|
|
219
219
|
event.session_id = this.getSessionId();
|
|
220
220
|
}
|
|
221
|
+
|
|
222
|
+
if (event.event_id === undefined) {
|
|
223
|
+
const eventId = (this.config.sessionManager.getLastEventId() ?? -1) + 1;
|
|
224
|
+
event = { ...event, event_id: eventId };
|
|
225
|
+
this.config.sessionManager.setLastEventId(eventId);
|
|
226
|
+
}
|
|
221
227
|
}
|
|
222
228
|
|
|
223
229
|
return super.process(event);
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = '0.
|
|
1
|
+
export const VERSION = '0.7.0';
|