@amplitude/analytics-react-native 0.3.3 → 0.4.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.
Files changed (116) hide show
  1. package/lib/commonjs/config.js +10 -18
  2. package/lib/commonjs/config.js.map +1 -1
  3. package/lib/commonjs/cookie-migration/index.js +3 -5
  4. package/lib/commonjs/cookie-migration/index.js.map +1 -1
  5. package/lib/commonjs/plugins/context.js +8 -2
  6. package/lib/commonjs/plugins/context.js.map +1 -1
  7. package/lib/commonjs/react-native-client.js +7 -11
  8. package/lib/commonjs/react-native-client.js.map +1 -1
  9. package/lib/commonjs/version.js +1 -1
  10. package/lib/commonjs/version.js.map +1 -1
  11. package/lib/module/config.js +1 -5
  12. package/lib/module/config.js.map +1 -1
  13. package/lib/module/cookie-migration/index.js +1 -2
  14. package/lib/module/cookie-migration/index.js.map +1 -1
  15. package/lib/module/plugins/context.js +7 -1
  16. package/lib/module/plugins/context.js.map +1 -1
  17. package/lib/module/react-native-client.js +1 -3
  18. package/lib/module/react-native-client.js.map +1 -1
  19. package/lib/module/version.js +1 -1
  20. package/lib/module/version.js.map +1 -1
  21. package/lib/typescript/config.d.ts +1 -2
  22. package/lib/typescript/config.d.ts.map +1 -1
  23. package/lib/typescript/cookie-migration/index.d.ts.map +1 -1
  24. package/lib/typescript/plugins/context.d.ts.map +1 -1
  25. package/lib/typescript/react-native-client.d.ts.map +1 -1
  26. package/lib/typescript/version.d.ts +1 -1
  27. package/package.json +5 -4
  28. package/src/config.ts +7 -5
  29. package/src/cookie-migration/index.ts +1 -2
  30. package/src/plugins/context.ts +7 -1
  31. package/src/react-native-client.ts +1 -3
  32. package/src/version.ts +1 -1
  33. package/lib/commonjs/attribution/campaign-parser.js +0 -74
  34. package/lib/commonjs/attribution/campaign-parser.js.map +0 -1
  35. package/lib/commonjs/attribution/campaign-tracker.js +0 -133
  36. package/lib/commonjs/attribution/campaign-tracker.js.map +0 -1
  37. package/lib/commonjs/attribution/constants.js +0 -47
  38. package/lib/commonjs/attribution/constants.js.map +0 -1
  39. package/lib/commonjs/plugins/identity.js +0 -40
  40. package/lib/commonjs/plugins/identity.js.map +0 -1
  41. package/lib/commonjs/session-manager.js +0 -114
  42. package/lib/commonjs/session-manager.js.map +0 -1
  43. package/lib/commonjs/storage/cookie.js +0 -124
  44. package/lib/commonjs/storage/cookie.js.map +0 -1
  45. package/lib/commonjs/storage/utm-cookie.js +0 -42
  46. package/lib/commonjs/storage/utm-cookie.js.map +0 -1
  47. package/lib/commonjs/transports/fetch.js +0 -34
  48. package/lib/commonjs/transports/fetch.js.map +0 -1
  49. package/lib/commonjs/utils/analytics-connector.js +0 -15
  50. package/lib/commonjs/utils/analytics-connector.js.map +0 -1
  51. package/lib/commonjs/utils/cookie-name.js +0 -23
  52. package/lib/commonjs/utils/cookie-name.js.map +0 -1
  53. package/lib/commonjs/utils/language.js +0 -18
  54. package/lib/commonjs/utils/language.js.map +0 -1
  55. package/lib/commonjs/utils/query-params.js +0 -43
  56. package/lib/commonjs/utils/query-params.js.map +0 -1
  57. package/lib/module/attribution/campaign-parser.js +0 -62
  58. package/lib/module/attribution/campaign-parser.js.map +0 -1
  59. package/lib/module/attribution/campaign-tracker.js +0 -120
  60. package/lib/module/attribution/campaign-tracker.js.map +0 -1
  61. package/lib/module/attribution/constants.js +0 -26
  62. package/lib/module/attribution/constants.js.map +0 -1
  63. package/lib/module/plugins/identity.js +0 -29
  64. package/lib/module/plugins/identity.js.map +0 -1
  65. package/lib/module/session-manager.js +0 -104
  66. package/lib/module/session-manager.js.map +0 -1
  67. package/lib/module/storage/cookie.js +0 -114
  68. package/lib/module/storage/cookie.js.map +0 -1
  69. package/lib/module/storage/utm-cookie.js +0 -32
  70. package/lib/module/storage/utm-cookie.js.map +0 -1
  71. package/lib/module/transports/fetch.js +0 -24
  72. package/lib/module/transports/fetch.js.map +0 -1
  73. package/lib/module/utils/analytics-connector.js +0 -5
  74. package/lib/module/utils/analytics-connector.js.map +0 -1
  75. package/lib/module/utils/cookie-name.js +0 -10
  76. package/lib/module/utils/cookie-name.js.map +0 -1
  77. package/lib/module/utils/language.js +0 -9
  78. package/lib/module/utils/language.js.map +0 -1
  79. package/lib/module/utils/query-params.js +0 -31
  80. package/lib/module/utils/query-params.js.map +0 -1
  81. package/lib/typescript/attribution/campaign-parser.d.ts +0 -10
  82. package/lib/typescript/attribution/campaign-parser.d.ts.map +0 -1
  83. package/lib/typescript/attribution/campaign-tracker.d.ts +0 -74
  84. package/lib/typescript/attribution/campaign-tracker.d.ts.map +0 -1
  85. package/lib/typescript/attribution/constants.d.ts +0 -17
  86. package/lib/typescript/attribution/constants.d.ts.map +0 -1
  87. package/lib/typescript/plugins/identity.d.ts +0 -9
  88. package/lib/typescript/plugins/identity.d.ts.map +0 -1
  89. package/lib/typescript/session-manager.d.ts +0 -28
  90. package/lib/typescript/session-manager.d.ts.map +0 -1
  91. package/lib/typescript/storage/cookie.d.ts +0 -12
  92. package/lib/typescript/storage/cookie.d.ts.map +0 -1
  93. package/lib/typescript/storage/utm-cookie.d.ts +0 -6
  94. package/lib/typescript/storage/utm-cookie.d.ts.map +0 -1
  95. package/lib/typescript/transports/fetch.d.ts +0 -6
  96. package/lib/typescript/transports/fetch.d.ts.map +0 -1
  97. package/lib/typescript/utils/analytics-connector.d.ts +0 -3
  98. package/lib/typescript/utils/analytics-connector.d.ts.map +0 -1
  99. package/lib/typescript/utils/cookie-name.d.ts +0 -3
  100. package/lib/typescript/utils/cookie-name.d.ts.map +0 -1
  101. package/lib/typescript/utils/language.d.ts +0 -2
  102. package/lib/typescript/utils/language.d.ts.map +0 -1
  103. package/lib/typescript/utils/query-params.d.ts +0 -3
  104. package/lib/typescript/utils/query-params.d.ts.map +0 -1
  105. package/src/attribution/campaign-parser.ts +0 -78
  106. package/src/attribution/campaign-tracker.ts +0 -112
  107. package/src/attribution/constants.ts +0 -32
  108. package/src/plugins/identity.ts +0 -21
  109. package/src/session-manager.ts +0 -81
  110. package/src/storage/cookie.ts +0 -97
  111. package/src/storage/utm-cookie.ts +0 -27
  112. package/src/transports/fetch.ts +0 -23
  113. package/src/utils/analytics-connector.ts +0 -5
  114. package/src/utils/cookie-name.ts +0 -9
  115. package/src/utils/language.ts +0 -7
  116. package/src/utils/query-params.ts +0 -26
@@ -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","isSessionValid","sessionId","Date","now","lastEventTime","time","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","app_version","trackingOptions","os_name","os_version","device_manufacturer","device_model","ipAddress","ip","insert_id","partner_id","partnerId","plan","event_id","eventId","library","timeSinceLastEvent","sessionTimeout"],"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 '../utils/language';\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 eventId = 0;\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 /**\n * Manages user session triggered by new events\n */\n if (!this.isSessionValid()) {\n // Creates new session\n this.config.sessionId = Date.now();\n } // else use previously creates session\n // Updates last event time to extend time-based session\n this.config.lastEventTime = Date.now();\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 ...context,\n event_id: this.eventId++,\n library: this.library,\n };\n return event;\n }\n\n isSessionValid() {\n const lastEventTime = this.config.lastEventTime || Date.now();\n const timeSinceLastEvent = Date.now() - lastEventTime;\n return timeSinceLastEvent < this.config.sessionTimeout;\n }\n}\n"],"mappings":";;AAAA,SAAiDA,UAAjD,QAAmE,4BAAnE;AACA,OAAOC,QAAP,MAAqB,yBAArB;AACA,SAASC,IAAT,QAAqB,2BAArB;AACA,SAASC,WAAT,QAA4B,mBAA5B;AACA,SAASC,OAAT,QAAwB,YAAxB;AACA,SAASC,aAAT,QAA8B,cAA9B;AAEA,MAAMC,gBAAgB,GAAG,KAAzB;AACA,MAAMC,UAAU,GAAG,SAAnB;AAmBA,OAAO,MAAMC,OAAN,CAAsC;EAI3C;EACA;EACA;EASAC,WAAW,GAAG;IAAA,8BAdP,SAcO;;IAAA,8BAbPT,UAAU,CAACU,MAaJ;;IAAA;;IAAA,iCAPJ,CAOI;;IAAA;;IAAA,sCALmCL,aAAa,CAACM,oBAKjD;;IAAA,iCAFH,6BAA4BP,OAAQ,EAEjC;;IACZ,IAAIQ,KAAJ;IACA;;IACA,IAAI,OAAOC,SAAP,KAAqB,WAAzB,EAAsC;MACpCD,KAAK,GAAGC,SAAS,CAACC,SAAlB;IACD;;IACD,KAAKC,QAAL,GAAgB,IAAId,QAAJ,CAAaW,KAAb,EAAoBI,SAApB,EAAhB;EACD;;EAEDC,KAAK,CAACC,MAAD,EAAgD;IACnD,KAAKA,MAAL,GAAcA,MAAd;IACA,OAAOC,OAAO,CAACC,OAAR,CAAgBC,SAAhB,CAAP;EACD;;EAEY,MAAPC,OAAO,CAACC,OAAD,EAAiC;IAAA;;IAC5C;AACJ;AACA;IACI,IAAI,CAAC,KAAKC,cAAL,EAAL,EAA4B;MAC1B;MACA,KAAKN,MAAL,CAAYO,SAAZ,GAAwBC,IAAI,CAACC,GAAL,EAAxB;IACD,CAP2C,CAO1C;IACF;;;IACA,KAAKT,MAAL,CAAYU,aAAZ,GAA4BF,IAAI,CAACC,GAAL,EAA5B;IACA,MAAME,IAAI,GAAG,IAAIH,IAAJ,GAAWI,OAAX,EAAb;IACA,MAAMC,aAAa,GAAG,6BAAM,KAAKC,YAAX,uDAAM,mBAAmBC,qBAAnB,EAAN,CAAtB;IACA,MAAMC,UAAU,GAAG,CAAAH,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEI,OAAf,KAA0B,KAAKjB,MAAL,CAAYgB,UAAzD;IACA,MAAME,QAAQ,GAAG,CAAAL,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEK,QAAf,KAA2B9B,gBAA5C;IACA,MAAM+B,MAAM,GAAG,CAAAN,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEM,MAAf,KAAyB,KAAKtB,QAAL,CAAcuB,OAAd,CAAsBC,IAA9D;IACA,MAAMC,SAAS,GAAG,CAAAT,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAES,SAAf,KAA4B,KAAKzB,QAAL,CAAcuB,OAAd,CAAsBH,OAApE;IACA,MAAMM,YAAY,GAAG,CAAAV,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEW,kBAAf,KAAqC,KAAK3B,QAAL,CAAc4B,MAAd,CAAqBC,MAA/E;IACA,MAAMC,WAAW,GAAG,CAAAd,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEc,WAAf,KAA8B,KAAK9B,QAAL,CAAc4B,MAAd,CAAqBG,KAAnD,IAA4D,KAAK/B,QAAL,CAAcgC,EAAd,CAAiBR,IAAjG;IACA,MAAMS,QAAQ,GAAG,CAAAjB,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEiB,QAAf,KAA2B7C,WAAW,EAAvD;IACA,MAAM8C,OAAO,GAAGlB,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEkB,OAA/B;IACA,MAAMC,IAAI,GAAGnB,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEmB,IAA5B;IAEA,MAAMC,KAAY,GAAG;MACnBC,OAAO,EAAE,KAAKlC,MAAL,CAAYmC,MADF;MAEnBC,SAAS,EAAE,KAAKpC,MAAL,CAAYqC,QAFJ;MAGnBC,UAAU,EAAE,KAAKtC,MAAL,CAAYO,SAHL;MAInBI,IAJmB;MAKnB,IAAI,KAAKX,MAAL,CAAYgB,UAAZ,IAA0B;QAAEuB,WAAW,EAAEvB;MAAf,CAA9B,CALmB;MAMnB,IAAI,KAAKhB,MAAL,CAAYwC,eAAZ,CAA4BtB,QAA5B,IAAwC;QAAEA,QAAQ,EAAEA;MAAZ,CAA5C,CANmB;MAOnB,IAAI,KAAKlB,MAAL,CAAYwC,eAAZ,CAA4BrB,MAA5B,IAAsC;QAAEsB,OAAO,EAAEtB;MAAX,CAA1C,CAPmB;MAQnB,IAAI,KAAKnB,MAAL,CAAYwC,eAAZ,CAA4BlB,SAA5B,IAAyC;QAAEoB,UAAU,EAAEpB;MAAd,CAA7C,CARmB;MASnB,IAAI,KAAKtB,MAAL,CAAYwC,eAAZ,CAA4BhB,kBAA5B,IAAkD;QAAEmB,mBAAmB,EAAEpB;MAAvB,CAAtD,CATmB;MAUnB,IAAI,KAAKvB,MAAL,CAAYwC,eAAZ,CAA4Bb,WAA5B,IAA2C;QAAEiB,YAAY,EAAEjB;MAAhB,CAA/C,CAVmB;MAWnB,IAAI,KAAK3B,MAAL,CAAYwC,eAAZ,CAA4BV,QAA5B,IAAwC;QAAEA,QAAQ,EAAEA;MAAZ,CAA5C,CAXmB;MAYnB,IAAI,KAAK9B,MAAL,CAAYwC,eAAZ,CAA4BT,OAA5B,IAAuC;QAAEA,OAAO,EAAEA;MAAX,CAA3C,CAZmB;MAanB,IAAI,KAAK/B,MAAL,CAAYwC,eAAZ,CAA4BK,SAA5B,IAAyC;QAAEC,EAAE,EAAEzD;MAAN,CAA7C,CAbmB;MAcnB,IAAI,KAAKW,MAAL,CAAYwC,eAAZ,CAA4BR,IAA5B,IAAoC;QAAEA,IAAI,EAAEA;MAAR,CAAxC,CAdmB;MAenBe,SAAS,EAAE/D,IAAI,EAfI;MAgBnBgE,UAAU,EAAE,KAAKhD,MAAL,CAAYiD,SAhBL;MAiBnBC,IAAI,EAAE,KAAKlD,MAAL,CAAYkD,IAjBC;MAkBnB,GAAG7C,OAlBgB;MAmBnB8C,QAAQ,EAAE,KAAKC,OAAL,EAnBS;MAoBnBC,OAAO,EAAE,KAAKA;IApBK,CAArB;IAsBA,OAAOpB,KAAP;EACD;;EAED3B,cAAc,GAAG;IACf,MAAMI,aAAa,GAAG,KAAKV,MAAL,CAAYU,aAAZ,IAA6BF,IAAI,CAACC,GAAL,EAAnD;IACA,MAAM6C,kBAAkB,GAAG9C,IAAI,CAACC,GAAL,KAAaC,aAAxC;IACA,OAAO4C,kBAAkB,GAAG,KAAKtD,MAAL,CAAYuD,cAAxC;EACD;;AAhF0C"}
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","isSessionValid","sessionId","Date","now","lastEventTime","time","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","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","event_id","eventId","library","timeSinceLastEvent","sessionTimeout"],"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 eventId = 0;\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 /**\n * Manages user session triggered by new events\n */\n if (!this.isSessionValid()) {\n // Creates new session\n this.config.sessionId = Date.now();\n } // else use previously creates session\n // Updates last event time to extend time-based session\n this.config.lastEventTime = Date.now();\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 event_id: this.eventId++,\n library: this.library,\n };\n return event;\n }\n\n isSessionValid() {\n const lastEventTime = this.config.lastEventTime || Date.now();\n const timeSinceLastEvent = Date.now() - lastEventTime;\n return timeSinceLastEvent < this.config.sessionTimeout;\n }\n}\n"],"mappings":"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"}
@@ -1,11 +1,9 @@
1
1
  import { AmplitudeCore, Destination, UUID, returnWrapper } from '@amplitude/analytics-core';
2
+ import { CampaignTracker, IdentityEventSender, getAnalyticsConnector } from '@amplitude/analytics-client-common';
2
3
  import { Context } from './plugins/context';
3
4
  import { useReactNativeConfig, createFlexibleStorage } from './config';
4
5
  import { parseOldCookies } from './cookie-migration';
5
- import { CampaignTracker } from './attribution/campaign-tracker';
6
6
  import { isNative } from './utils/platform';
7
- import { IdentityEventSender } from './plugins/identity';
8
- import { getAnalyticsConnector } from './utils/analytics-connector';
9
7
  export class AmplitudeReactNative extends AmplitudeCore {
10
8
  async init(apiKey, userId, options) {
11
9
  var _oldCookies$deviceId, _oldCookies$sessionId, _options$optOut;
@@ -1 +1 @@
1
- {"version":3,"names":["AmplitudeCore","Destination","UUID","returnWrapper","Context","useReactNativeConfig","createFlexibleStorage","parseOldCookies","CampaignTracker","isNative","IdentityEventSender","getAnalyticsConnector","AmplitudeReactNative","init","apiKey","userId","options","initializing","oldCookies","reactNativeOptions","deviceId","sessionId","optOut","lastEventTime","_init","isNewSession","config","Date","now","sessionTimeout","setSessionId","connector","eventBridge","setEventReceiver","event","track","eventType","eventProperties","identityStore","setIdentity","add","timeline","isReady","scheduleApply","runAttributionStrategy","attribution","attributionConfig","bind","onNewCampaign","storage","campaignTracker","send","getUserId","setUserId","q","push","editIdentity","commit","getDeviceId","setDeviceId","reset","undefined","getSessionId","createInstance","client","remove","logEvent","identify","groupIdentify","setGroup","revenue","flush","setOptOut"],"sources":["react-native-client.ts"],"sourcesContent":["import { AmplitudeCore, Destination, UUID, returnWrapper } from '@amplitude/analytics-core';\nimport {\n ReactNativeConfig,\n Campaign,\n ReactNativeOptions,\n AdditionalReactNativeOptions,\n AttributionReactNativeOptions,\n ReactNativeClient,\n} from '@amplitude/analytics-types';\nimport { Context } from './plugins/context';\nimport { useReactNativeConfig, createFlexibleStorage } from './config';\nimport { parseOldCookies } from './cookie-migration';\nimport { CampaignTracker } from './attribution/campaign-tracker';\nimport { isNative } from './utils/platform';\nimport { IdentityEventSender } from './plugins/identity';\nimport { getAnalyticsConnector } from './utils/analytics-connector';\n\nexport class AmplitudeReactNative extends AmplitudeCore<ReactNativeConfig> {\n async init(apiKey: string, userId?: string, options?: ReactNativeOptions & AdditionalReactNativeOptions) {\n // Step 0: Block concurrent initialization\n if (this.initializing) {\n return;\n }\n this.initializing = true;\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 ?? options?.sessionId,\n optOut: options?.optOut ?? oldCookies.optOut,\n lastEventTime: oldCookies.lastEventTime,\n });\n await super._init(reactNativeOptions);\n\n // Step 3: Manage session\n let isNewSession = !this.config.lastEventTime;\n if (\n !this.config.sessionId ||\n (this.config.lastEventTime && Date.now() - this.config.lastEventTime > this.config.sessionTimeout)\n ) {\n // Either\n // 1) No previous session; or\n // 2) Previous session expired\n this.setSessionId(Date.now());\n isNewSession = true;\n }\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 4: 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 this.initializing = false;\n\n // Step 5: Set timeline ready for processing events\n // Send existing events, which might be collected by track before init\n this.timeline.isReady = true;\n if (!this.config.optOut) {\n this.timeline.scheduleApply(0);\n }\n\n // Step 6: Track attributions\n await this.runAttributionStrategy(options?.attribution, isNewSession);\n }\n\n async runAttributionStrategy(attributionConfig?: AttributionReactNativeOptions, isNewSession = false) {\n if (isNative()) {\n return;\n }\n const track = this.track.bind(this);\n const onNewCampaign = this.setSessionId.bind(this, Date.now());\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 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 this.config.sessionId = sessionId;\n }\n}\n\nexport const createInstance = (): ReactNativeClient => {\n const client = new AmplitudeReactNative();\n return {\n init: returnWrapper(client.init.bind(client)),\n add: returnWrapper(client.add.bind(client)),\n remove: returnWrapper(client.remove.bind(client)),\n track: returnWrapper(client.track.bind(client)),\n logEvent: returnWrapper(client.logEvent.bind(client)),\n identify: returnWrapper(client.identify.bind(client)),\n groupIdentify: returnWrapper(client.groupIdentify.bind(client)),\n setGroup: returnWrapper(client.setGroup.bind(client)),\n revenue: returnWrapper(client.revenue.bind(client)),\n flush: returnWrapper(client.flush.bind(client)),\n getUserId: client.getUserId.bind(client),\n setUserId: client.setUserId.bind(client),\n getDeviceId: client.getDeviceId.bind(client),\n setDeviceId: client.setDeviceId.bind(client),\n reset: client.reset.bind(client),\n getSessionId: client.getSessionId.bind(client),\n setSessionId: client.setSessionId.bind(client),\n setOptOut: client.setOptOut.bind(client),\n };\n};\n\nexport default createInstance();\n"],"mappings":"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"}
1
+ {"version":3,"names":["AmplitudeCore","Destination","UUID","returnWrapper","CampaignTracker","IdentityEventSender","getAnalyticsConnector","Context","useReactNativeConfig","createFlexibleStorage","parseOldCookies","isNative","AmplitudeReactNative","init","apiKey","userId","options","initializing","oldCookies","reactNativeOptions","deviceId","sessionId","optOut","lastEventTime","_init","isNewSession","config","Date","now","sessionTimeout","setSessionId","connector","eventBridge","setEventReceiver","event","track","eventType","eventProperties","identityStore","setIdentity","add","timeline","isReady","scheduleApply","runAttributionStrategy","attribution","attributionConfig","bind","onNewCampaign","storage","campaignTracker","send","getUserId","setUserId","q","push","editIdentity","commit","getDeviceId","setDeviceId","reset","undefined","getSessionId","createInstance","client","remove","logEvent","identify","groupIdentify","setGroup","revenue","flush","setOptOut"],"sources":["react-native-client.ts"],"sourcesContent":["import { AmplitudeCore, Destination, UUID, returnWrapper } from '@amplitude/analytics-core';\nimport { CampaignTracker, IdentityEventSender, getAnalyticsConnector } from '@amplitude/analytics-client-common';\nimport {\n ReactNativeConfig,\n Campaign,\n ReactNativeOptions,\n AdditionalReactNativeOptions,\n AttributionReactNativeOptions,\n ReactNativeClient,\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\nexport class AmplitudeReactNative extends AmplitudeCore<ReactNativeConfig> {\n async init(apiKey: string, userId?: string, options?: ReactNativeOptions & AdditionalReactNativeOptions) {\n // Step 0: Block concurrent initialization\n if (this.initializing) {\n return;\n }\n this.initializing = true;\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 ?? options?.sessionId,\n optOut: options?.optOut ?? oldCookies.optOut,\n lastEventTime: oldCookies.lastEventTime,\n });\n await super._init(reactNativeOptions);\n\n // Step 3: Manage session\n let isNewSession = !this.config.lastEventTime;\n if (\n !this.config.sessionId ||\n (this.config.lastEventTime && Date.now() - this.config.lastEventTime > this.config.sessionTimeout)\n ) {\n // Either\n // 1) No previous session; or\n // 2) Previous session expired\n this.setSessionId(Date.now());\n isNewSession = true;\n }\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 4: 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 this.initializing = false;\n\n // Step 5: Set timeline ready for processing events\n // Send existing events, which might be collected by track before init\n this.timeline.isReady = true;\n if (!this.config.optOut) {\n this.timeline.scheduleApply(0);\n }\n\n // Step 6: Track attributions\n await this.runAttributionStrategy(options?.attribution, isNewSession);\n }\n\n async runAttributionStrategy(attributionConfig?: AttributionReactNativeOptions, isNewSession = false) {\n if (isNative()) {\n return;\n }\n const track = this.track.bind(this);\n const onNewCampaign = this.setSessionId.bind(this, Date.now());\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 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 this.config.sessionId = sessionId;\n }\n}\n\nexport const createInstance = (): ReactNativeClient => {\n const client = new AmplitudeReactNative();\n return {\n init: returnWrapper(client.init.bind(client)),\n add: returnWrapper(client.add.bind(client)),\n remove: returnWrapper(client.remove.bind(client)),\n track: returnWrapper(client.track.bind(client)),\n logEvent: returnWrapper(client.logEvent.bind(client)),\n identify: returnWrapper(client.identify.bind(client)),\n groupIdentify: returnWrapper(client.groupIdentify.bind(client)),\n setGroup: returnWrapper(client.setGroup.bind(client)),\n revenue: returnWrapper(client.revenue.bind(client)),\n flush: returnWrapper(client.flush.bind(client)),\n getUserId: client.getUserId.bind(client),\n setUserId: client.setUserId.bind(client),\n getDeviceId: client.getDeviceId.bind(client),\n setDeviceId: client.setDeviceId.bind(client),\n reset: client.reset.bind(client),\n getSessionId: client.getSessionId.bind(client),\n setSessionId: client.setSessionId.bind(client),\n setOptOut: client.setOptOut.bind(client),\n };\n};\n\nexport default createInstance();\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.3.3';
1
+ export const VERSION = '0.4.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["export const VERSION = '0.3.3';\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,OAAhB"}
1
+ {"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["export const VERSION = '0.4.0';\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,OAAhB"}
@@ -1,7 +1,6 @@
1
1
  import { Event, ReactNativeOptions, ReactNativeConfig as IReactNativeConfig, Storage, ReactNativeTrackingOptions, UserSession, SessionManager as ISessionManager } from '@amplitude/analytics-types';
2
2
  import { Config, MemoryStorage } from '@amplitude/analytics-core';
3
- import { FetchTransport } from './transports/fetch';
4
- import { SessionManager } from './session-manager';
3
+ import { SessionManager, FetchTransport } from '@amplitude/analytics-client-common';
5
4
  export declare const getDefaultConfig: () => {
6
5
  cookieExpiration: number;
7
6
  cookieSameSite: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,iBAAiB,IAAI,kBAAkB,EACvC,OAAO,EACP,0BAA0B,EAC1B,WAAW,EACX,cAAc,IAAI,eAAe,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAQ,MAAM,2BAA2B,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CA0B5B,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,MAAO,YAAW,kBAAkB;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,0BAA0B,CAAC;IAC5C,cAAc,EAAE,eAAe,CAAC;gBAEpB,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IA8BzE,IAAI,QAAQ,IAIW,MAAM,GAAG,SAAS,CAFxC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAExC;IAED,IAAI,MAAM,IAIS,MAAM,GAAG,SAAS,CAFpC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAEpC;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAE1C;IAED,IAAI,MAAM,IAIS,OAAO,CAFzB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAEzB;IAED,IAAI,aAAa,IAIgB,MAAM,GAAG,SAAS,CAFlD;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAElD;CACF;AAED,eAAO,MAAM,oBAAoB,WACvB,MAAM,4EAGb,QAAQ,kBAAkB,CAqB5B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;MAG7B,QAAQ,QAAQ,WAAW,CAAC,CAO9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,eAAsB,kBAAkB,wBAczE,CAAC;AAEF,eAAO,MAAM,mBAAmB,kDAA2C,QAAQ,QAAQ,KAAK,EAAE,CAAC,GAAG,SAAS,CAe9G,CAAC;AAEF,eAAO,MAAM,cAAc,4HAE1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,+CA0B7B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,iBAAiB,IAAI,kBAAkB,EACvC,OAAO,EACP,0BAA0B,EAC1B,WAAW,EACX,cAAc,IAAI,eAAe,EAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAQ,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAIL,cAAc,EACd,cAAc,EACf,MAAM,oCAAoC,CAAC;AAI5C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CA0B5B,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,MAAO,YAAW,kBAAkB;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,0BAA0B,CAAC;IAC5C,cAAc,EAAE,eAAe,CAAC;gBAEpB,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IA8BzE,IAAI,QAAQ,IAIW,MAAM,GAAG,SAAS,CAFxC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAExC;IAED,IAAI,MAAM,IAIS,MAAM,GAAG,SAAS,CAFpC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAEpC;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAE1C;IAED,IAAI,MAAM,IAIS,OAAO,CAFzB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAEzB;IAED,IAAI,aAAa,IAIgB,MAAM,GAAG,SAAS,CAFlD;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAElD;CACF;AAED,eAAO,MAAM,oBAAoB,WACvB,MAAM,4EAGb,QAAQ,kBAAkB,CAqB5B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;MAG7B,QAAQ,QAAQ,WAAW,CAAC,CAO9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,eAAsB,kBAAkB,wBAczE,CAAC;AAEF,eAAO,MAAM,mBAAmB,kDAA2C,QAAQ,QAAQ,KAAK,EAAE,CAAC,GAAG,SAAS,CAe9G,CAAC;AAEF,eAAO,MAAM,cAAc,4HAE1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,+CA0B7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cookie-migration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAW,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAKlF,eAAO,MAAM,eAAe,WAAkB,MAAM,2CAA6B,QAAQ,WAAW,CA6BnG,CAAC;AAEF,eAAO,MAAM,SAAS,QAAS,MAAM,uBAMpC,CAAC;AAEF,eAAO,MAAM,MAAM,kCAAqB,MAAM,GAAG,SAShD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cookie-migration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAW,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIlF,eAAO,MAAM,eAAe,WAAkB,MAAM,2CAA6B,QAAQ,WAAW,CA6BnG,CAAC;AAEF,eAAO,MAAM,SAAS,QAAS,MAAM,uBAMpC,CAAC;AAEF,eAAO,MAAM,MAAM,kCAAqB,MAAM,GAAG,SAShD,CAAC"}
@@ -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,OAAO,SAAK;IACZ,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;IA+C7C,cAAc;CAKf"}
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,OAAO,SAAK;IACZ,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;IAqD7C,cAAc;CAKf"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-native-client.d.ts","sourceRoot":"","sources":["../../src/react-native-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoC,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EAClB,4BAA4B,EAC5B,6BAA6B,EAC7B,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AASpC,qBAAa,oBAAqB,SAAQ,aAAa,CAAC,iBAAiB,CAAC;IAClE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,4BAA4B;IAgEjG,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,6BAA6B,EAAE,YAAY,UAAQ;IAkBpG,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAcpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAc5B,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;CAO/B;AAED,eAAO,MAAM,cAAc,QAAO,iBAsBjC,CAAC;;AAEF,wBAAgC"}
1
+ {"version":3,"file":"react-native-client.d.ts","sourceRoot":"","sources":["../../src/react-native-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoC,MAAM,2BAA2B,CAAC;AAE5F,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EAClB,4BAA4B,EAC5B,6BAA6B,EAC7B,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAMpC,qBAAa,oBAAqB,SAAQ,aAAa,CAAC,iBAAiB,CAAC;IAClE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,4BAA4B;IAgEjG,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,6BAA6B,EAAE,YAAY,UAAQ;IAkBpG,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAcpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAc5B,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;CAO/B;AAED,eAAO,MAAM,cAAc,QAAO,iBAsBjC,CAAC;;AAEF,wBAAgC"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.3.3";
1
+ export declare const VERSION = "0.4.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.3",
3
+ "version": "0.4.0",
4
4
  "description": "Official React Native SDK",
5
5
  "keywords": [
6
6
  "analytics",
@@ -57,9 +57,10 @@
57
57
  "url": "https://github.com/amplitude/Amplitude-TypeScript/issues"
58
58
  },
59
59
  "dependencies": {
60
+ "@amplitude/analytics-client-common": "^0.0.1",
60
61
  "@amplitude/analytics-connector": "1.4.5",
61
- "@amplitude/analytics-core": "^0.8.1",
62
- "@amplitude/analytics-types": "^0.8.1",
62
+ "@amplitude/analytics-core": "^0.9.0",
63
+ "@amplitude/analytics-types": "^0.9.0",
63
64
  "@amplitude/ua-parser-js": "^0.7.31",
64
65
  "@react-native-async-storage/async-storage": "^1.17.7",
65
66
  "tslib": "^2.3.1"
@@ -89,5 +90,5 @@
89
90
  ]
90
91
  ]
91
92
  },
92
- "gitHead": "404f81a1cdcf1cce9bd35d04561016a65dab635a"
93
+ "gitHead": "b05595653967707fa6db014030f071ff5eca6e82"
93
94
  }
package/src/config.ts CHANGED
@@ -8,13 +8,15 @@ import {
8
8
  SessionManager as ISessionManager,
9
9
  } from '@amplitude/analytics-types';
10
10
  import { Config, MemoryStorage, UUID } from '@amplitude/analytics-core';
11
+ import {
12
+ CookieStorage,
13
+ getCookieName,
14
+ getQueryParams,
15
+ SessionManager,
16
+ FetchTransport,
17
+ } from '@amplitude/analytics-client-common';
11
18
 
12
- import { CookieStorage } from './storage/cookie';
13
- import { FetchTransport } from './transports/fetch';
14
19
  import { LocalStorage } from './storage/local-storage';
15
- import { getCookieName } from './utils/cookie-name';
16
- import { getQueryParams } from './utils/query-params';
17
- import { SessionManager } from './session-manager';
18
20
 
19
21
  export const getDefaultConfig = () => {
20
22
  const cookieStorage = new MemoryStorage<UserSession>();
@@ -1,7 +1,6 @@
1
1
  import { BrowserOptions, Storage, UserSession } from '@amplitude/analytics-types';
2
- import { getOldCookieName } from '../utils/cookie-name';
2
+ import { getOldCookieName, CookieStorage } from '@amplitude/analytics-client-common';
3
3
  import { LocalStorage } from '../storage/local-storage';
4
- import { CookieStorage } from '../storage/cookie';
5
4
 
6
5
  export const parseOldCookies = async (apiKey: string, options?: BrowserOptions): Promise<UserSession> => {
7
6
  let storage: Storage<string> = new CookieStorage<string>();
@@ -1,7 +1,7 @@
1
1
  import { BeforePlugin, ReactNativeConfig, Event, PluginType } from '@amplitude/analytics-types';
2
2
  import UAParser from '@amplitude/ua-parser-js';
3
3
  import { UUID } from '@amplitude/analytics-core';
4
- import { getLanguage } from '../utils/language';
4
+ import { getLanguage } from '@amplitude/analytics-client-common';
5
5
  import { VERSION } from '../version';
6
6
  import { NativeModules } from 'react-native';
7
7
 
@@ -94,6 +94,12 @@ export class Context implements BeforePlugin {
94
94
  insert_id: UUID(),
95
95
  partner_id: this.config.partnerId,
96
96
  plan: this.config.plan,
97
+ ...(this.config.ingestionMetadata && {
98
+ ingestion_metadata: {
99
+ source_name: this.config.ingestionMetadata.sourceName,
100
+ source_version: this.config.ingestionMetadata.sourceVersion,
101
+ },
102
+ }),
97
103
  ...context,
98
104
  event_id: this.eventId++,
99
105
  library: this.library,
@@ -1,4 +1,5 @@
1
1
  import { AmplitudeCore, Destination, UUID, returnWrapper } from '@amplitude/analytics-core';
2
+ import { CampaignTracker, IdentityEventSender, getAnalyticsConnector } from '@amplitude/analytics-client-common';
2
3
  import {
3
4
  ReactNativeConfig,
4
5
  Campaign,
@@ -10,10 +11,7 @@ import {
10
11
  import { Context } from './plugins/context';
11
12
  import { useReactNativeConfig, createFlexibleStorage } from './config';
12
13
  import { parseOldCookies } from './cookie-migration';
13
- import { CampaignTracker } from './attribution/campaign-tracker';
14
14
  import { isNative } from './utils/platform';
15
- import { IdentityEventSender } from './plugins/identity';
16
- import { getAnalyticsConnector } from './utils/analytics-connector';
17
15
 
18
16
  export class AmplitudeReactNative extends AmplitudeCore<ReactNativeConfig> {
19
17
  async init(apiKey: string, userId?: string, options?: ReactNativeOptions & AdditionalReactNativeOptions) {
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.3.3';
1
+ export const VERSION = '0.4.0';
@@ -1,74 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.CampaignParser = void 0;
7
-
8
- var _utmCookie = require("../storage/utm-cookie");
9
-
10
- var _queryParams = require("../utils/query-params");
11
-
12
- var _constants = require("./constants");
13
-
14
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
-
16
- class CampaignParser {
17
- constructor() {
18
- _defineProperty(this, "utmCookieStorage", new _utmCookie.UTMCookie());
19
- }
20
-
21
- async parse() {
22
- return { ..._constants.BASE_CAMPAIGN,
23
- ...(await this.getUtmParam()),
24
- ...this.getReferrer(),
25
- ...this.getClickIds()
26
- };
27
- }
28
-
29
- async getUtmParam() {
30
- const params = (0, _queryParams.getQueryParams)();
31
- const cookies = (await this.utmCookieStorage.isEnabled()) && (await this.utmCookieStorage.get('__utmz')) || {};
32
- const utmSource = params[_constants.UTM_SOURCE] || cookies[_constants.UTMZ_SOURCE];
33
- const utmMedium = params[_constants.UTM_MEDIUM] || cookies[_constants.UTMZ_MEDIUM];
34
- const utmCampaign = params[_constants.UTM_CAMPAIGN] || cookies[_constants.UTMZ_CAMPAIGN];
35
- const utmTerm = params[_constants.UTM_TERM] || cookies[_constants.UTMZ_TERM];
36
- const utmContent = params[_constants.UTM_CONTENT] || cookies[_constants.UTMZ_CONTENT];
37
- return {
38
- utm_source: utmSource,
39
- utm_medium: utmMedium,
40
- utm_campaign: utmCampaign,
41
- utm_term: utmTerm,
42
- utm_content: utmContent
43
- };
44
- }
45
-
46
- getReferrer() {
47
- const data = {
48
- referrer: undefined,
49
- referring_domain: undefined
50
- };
51
-
52
- try {
53
- var _data$referrer$split$, _data$referrer;
54
-
55
- data.referrer = document.referrer || undefined;
56
- data.referring_domain = (_data$referrer$split$ = (_data$referrer = data.referrer) === null || _data$referrer === void 0 ? void 0 : _data$referrer.split('/')[2]) !== null && _data$referrer$split$ !== void 0 ? _data$referrer$split$ : undefined;
57
- } catch {// nothing to track
58
- }
59
-
60
- return data;
61
- }
62
-
63
- getClickIds() {
64
- const params = (0, _queryParams.getQueryParams)();
65
- return {
66
- [_constants.GCLID]: params[_constants.GCLID],
67
- [_constants.FBCLID]: params[_constants.FBCLID]
68
- };
69
- }
70
-
71
- }
72
-
73
- exports.CampaignParser = CampaignParser;
74
- //# sourceMappingURL=campaign-parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["CampaignParser","UTMCookie","parse","BASE_CAMPAIGN","getUtmParam","getReferrer","getClickIds","params","getQueryParams","cookies","utmCookieStorage","isEnabled","get","utmSource","UTM_SOURCE","UTMZ_SOURCE","utmMedium","UTM_MEDIUM","UTMZ_MEDIUM","utmCampaign","UTM_CAMPAIGN","UTMZ_CAMPAIGN","utmTerm","UTM_TERM","UTMZ_TERM","utmContent","UTM_CONTENT","UTMZ_CONTENT","utm_source","utm_medium","utm_campaign","utm_term","utm_content","data","referrer","undefined","referring_domain","document","split","GCLID","FBCLID"],"sources":["campaign-parser.ts"],"sourcesContent":["import { UTMCookie } from '../storage/utm-cookie';\nimport { getQueryParams } from '../utils/query-params';\nimport {\n UTM_CAMPAIGN,\n UTM_CONTENT,\n UTM_MEDIUM,\n UTM_SOURCE,\n UTM_TERM,\n UTMZ_SOURCE,\n UTMZ_MEDIUM,\n UTMZ_CAMPAIGN,\n UTMZ_TERM,\n UTMZ_CONTENT,\n GCLID,\n FBCLID,\n BASE_CAMPAIGN,\n} from './constants';\nimport {\n Campaign,\n CampaignParser as ICampaignParser,\n ClickIdParameters,\n ReferrerParameters,\n UTMParameters,\n} from '@amplitude/analytics-types';\n\nexport class CampaignParser implements ICampaignParser {\n utmCookieStorage = new UTMCookie();\n\n async parse(): Promise<Campaign> {\n return {\n ...BASE_CAMPAIGN,\n ...(await this.getUtmParam()),\n ...this.getReferrer(),\n ...this.getClickIds(),\n } as Campaign;\n }\n\n async getUtmParam(): Promise<UTMParameters> {\n const params = getQueryParams();\n const cookies = ((await this.utmCookieStorage.isEnabled()) && (await this.utmCookieStorage.get('__utmz'))) || {};\n\n const utmSource = params[UTM_SOURCE] || cookies[UTMZ_SOURCE];\n const utmMedium = params[UTM_MEDIUM] || cookies[UTMZ_MEDIUM];\n const utmCampaign = params[UTM_CAMPAIGN] || cookies[UTMZ_CAMPAIGN];\n const utmTerm = params[UTM_TERM] || cookies[UTMZ_TERM];\n const utmContent = params[UTM_CONTENT] || cookies[UTMZ_CONTENT];\n\n return {\n utm_source: utmSource,\n utm_medium: utmMedium,\n utm_campaign: utmCampaign,\n utm_term: utmTerm,\n utm_content: utmContent,\n };\n }\n\n getReferrer(): ReferrerParameters {\n const data: ReferrerParameters = {\n referrer: undefined,\n referring_domain: undefined,\n };\n try {\n data.referrer = document.referrer || undefined;\n data.referring_domain = data.referrer?.split('/')[2] ?? undefined;\n } catch {\n // nothing to track\n }\n return data;\n }\n\n getClickIds(): ClickIdParameters {\n const params = getQueryParams();\n return {\n [GCLID]: params[GCLID],\n [FBCLID]: params[FBCLID],\n };\n }\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAuBO,MAAMA,cAAN,CAAgD;EAAA;IAAA,0CAClC,IAAIC,oBAAJ,EADkC;EAAA;;EAG1C,MAALC,KAAK,GAAsB;IAC/B,OAAO,EACL,GAAGC,wBADE;MAEL,IAAI,MAAM,KAAKC,WAAL,EAAV,CAFK;MAGL,GAAG,KAAKC,WAAL,EAHE;MAIL,GAAG,KAAKC,WAAL;IAJE,CAAP;EAMD;;EAEgB,MAAXF,WAAW,GAA2B;IAC1C,MAAMG,MAAM,GAAG,IAAAC,2BAAA,GAAf;IACA,MAAMC,OAAO,GAAI,CAAC,MAAM,KAAKC,gBAAL,CAAsBC,SAAtB,EAAP,MAA8C,MAAM,KAAKD,gBAAL,CAAsBE,GAAtB,CAA0B,QAA1B,CAApD,CAAD,IAA8F,EAA9G;IAEA,MAAMC,SAAS,GAAGN,MAAM,CAACO,qBAAD,CAAN,IAAsBL,OAAO,CAACM,sBAAD,CAA/C;IACA,MAAMC,SAAS,GAAGT,MAAM,CAACU,qBAAD,CAAN,IAAsBR,OAAO,CAACS,sBAAD,CAA/C;IACA,MAAMC,WAAW,GAAGZ,MAAM,CAACa,uBAAD,CAAN,IAAwBX,OAAO,CAACY,wBAAD,CAAnD;IACA,MAAMC,OAAO,GAAGf,MAAM,CAACgB,mBAAD,CAAN,IAAoBd,OAAO,CAACe,oBAAD,CAA3C;IACA,MAAMC,UAAU,GAAGlB,MAAM,CAACmB,sBAAD,CAAN,IAAuBjB,OAAO,CAACkB,uBAAD,CAAjD;IAEA,OAAO;MACLC,UAAU,EAAEf,SADP;MAELgB,UAAU,EAAEb,SAFP;MAGLc,YAAY,EAAEX,WAHT;MAILY,QAAQ,EAAET,OAJL;MAKLU,WAAW,EAAEP;IALR,CAAP;EAOD;;EAEDpB,WAAW,GAAuB;IAChC,MAAM4B,IAAwB,GAAG;MAC/BC,QAAQ,EAAEC,SADqB;MAE/BC,gBAAgB,EAAED;IAFa,CAAjC;;IAIA,IAAI;MAAA;;MACFF,IAAI,CAACC,QAAL,GAAgBG,QAAQ,CAACH,QAAT,IAAqBC,SAArC;MACAF,IAAI,CAACG,gBAAL,8CAAwBH,IAAI,CAACC,QAA7B,mDAAwB,eAAeI,KAAf,CAAqB,GAArB,EAA0B,CAA1B,CAAxB,yEAAwDH,SAAxD;IACD,CAHD,CAGE,MAAM,CACN;IACD;;IACD,OAAOF,IAAP;EACD;;EAED3B,WAAW,GAAsB;IAC/B,MAAMC,MAAM,GAAG,IAAAC,2BAAA,GAAf;IACA,OAAO;MACL,CAAC+B,gBAAD,GAAShC,MAAM,CAACgC,gBAAD,CADV;MAEL,CAACC,iBAAD,GAAUjC,MAAM,CAACiC,iBAAD;IAFX,CAAP;EAID;;AAnDoD"}
@@ -1,133 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.CampaignTracker = void 0;
7
-
8
- var _analyticsCore = require("@amplitude/analytics-core");
9
-
10
- var _cookieName = require("../utils/cookie-name");
11
-
12
- var _campaignParser = require("./campaign-parser");
13
-
14
- var _constants = require("./constants");
15
-
16
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
-
18
- class CampaignTracker {
19
- constructor(apiKey, options) {
20
- var _options$excludeRefer, _options$initialEmpty;
21
-
22
- _defineProperty(this, "storage", void 0);
23
-
24
- _defineProperty(this, "storageKey", void 0);
25
-
26
- _defineProperty(this, "parser", void 0);
27
-
28
- _defineProperty(this, "track", void 0);
29
-
30
- _defineProperty(this, "onNewCampaign", void 0);
31
-
32
- _defineProperty(this, "disabled", void 0);
33
-
34
- _defineProperty(this, "trackNewCampaigns", void 0);
35
-
36
- _defineProperty(this, "trackPageViews", void 0);
37
-
38
- _defineProperty(this, "excludeReferrers", void 0);
39
-
40
- _defineProperty(this, "initialEmptyValue", void 0);
41
-
42
- this.storage = options.storage;
43
- this.storageKey = (0, _cookieName.getCookieName)(apiKey, _constants.MKTG);
44
- this.parser = new _campaignParser.CampaignParser();
45
- this.track = options.track;
46
- this.onNewCampaign = options.onNewCampaign;
47
- this.disabled = Boolean(options.disabled);
48
- this.trackNewCampaigns = Boolean(options.trackNewCampaigns);
49
- this.trackPageViews = Boolean(options.trackPageViews);
50
- this.excludeReferrers = (_options$excludeRefer = options.excludeReferrers) !== null && _options$excludeRefer !== void 0 ? _options$excludeRefer : [];
51
-
52
- if (typeof location !== 'undefined') {
53
- this.excludeReferrers.unshift(location.hostname);
54
- }
55
-
56
- this.initialEmptyValue = (_options$initialEmpty = options.initialEmptyValue) !== null && _options$initialEmpty !== void 0 ? _options$initialEmpty : _constants.EMPTY_VALUE;
57
- }
58
-
59
- isNewCampaign(currentCampaign, previousCampaign) {
60
- const isReferrerExcluded = Boolean(currentCampaign.referring_domain && this.excludeReferrers.includes(currentCampaign.referring_domain));
61
- const hasNewUtm = previousCampaign.utm_campaign !== currentCampaign.utm_campaign || previousCampaign.utm_source !== currentCampaign.utm_source || previousCampaign.utm_medium !== currentCampaign.utm_medium || previousCampaign.utm_term !== currentCampaign.utm_term || previousCampaign.utm_content !== currentCampaign.utm_content;
62
- const hasNewReferrer = previousCampaign.referring_domain !== currentCampaign.referring_domain;
63
- return !isReferrerExcluded && (hasNewUtm || hasNewReferrer);
64
- }
65
-
66
- async saveCampaignToStorage(campaign) {
67
- await this.storage.set(this.storageKey, campaign);
68
- }
69
-
70
- async getCampaignFromStorage() {
71
- return (await this.storage.get(this.storageKey)) || { ..._constants.BASE_CAMPAIGN
72
- };
73
- }
74
-
75
- createCampaignEvent(campaign) {
76
- const campaignParameters = { // This object definition allows undefined keys to be iterated on
77
- // in .reduce() to build indentify object
78
- ..._constants.BASE_CAMPAIGN,
79
- ...campaign
80
- };
81
- const identifyEvent = Object.entries(campaignParameters).reduce((identify, _ref) => {
82
- let [key, value] = _ref;
83
- identify.setOnce(`initial_${key}`, value || this.initialEmptyValue);
84
-
85
- if (value) {
86
- return identify.set(key, value);
87
- }
88
-
89
- return identify.unset(key);
90
- }, new _analyticsCore.Identify());
91
- const pageViewEvent = {
92
- event_type: 'Page View',
93
- event_properties: {
94
- page_title:
95
- /* istanbul ignore next */
96
- typeof document !== 'undefined' && document.title || '',
97
- page_location:
98
- /* istanbul ignore next */
99
- typeof location !== 'undefined' && location.href || '',
100
- page_path:
101
- /* istanbul ignore next */
102
- typeof location !== 'undefined' && location.pathname || ''
103
- }
104
- };
105
- return { ...(0, _analyticsCore.createIdentifyEvent)(identifyEvent),
106
- ...(this.trackPageViews && pageViewEvent)
107
- };
108
- }
109
-
110
- async send(isNewSession) {
111
- if (this.disabled) {
112
- return;
113
- }
114
-
115
- const currentCampaign = await this.parser.parse();
116
- const previousCampaign = await this.getCampaignFromStorage();
117
-
118
- if (!isNewSession) {
119
- if (!this.trackNewCampaigns || !this.isNewCampaign(currentCampaign, previousCampaign)) {
120
- return;
121
- }
122
-
123
- this.onNewCampaign(currentCampaign);
124
- }
125
-
126
- await this.track(this.createCampaignEvent(currentCampaign));
127
- await this.saveCampaignToStorage(currentCampaign);
128
- }
129
-
130
- }
131
-
132
- exports.CampaignTracker = CampaignTracker;
133
- //# sourceMappingURL=campaign-tracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["CampaignTracker","constructor","apiKey","options","storage","storageKey","getStorageKey","MKTG","parser","CampaignParser","track","onNewCampaign","disabled","Boolean","trackNewCampaigns","trackPageViews","excludeReferrers","location","unshift","hostname","initialEmptyValue","EMPTY_VALUE","isNewCampaign","currentCampaign","previousCampaign","isReferrerExcluded","referring_domain","includes","hasNewUtm","utm_campaign","utm_source","utm_medium","utm_term","utm_content","hasNewReferrer","saveCampaignToStorage","campaign","set","getCampaignFromStorage","get","BASE_CAMPAIGN","createCampaignEvent","campaignParameters","identifyEvent","Object","entries","reduce","identify","key","value","setOnce","unset","Identify","pageViewEvent","event_type","event_properties","page_title","document","title","page_location","href","page_path","pathname","createIdentifyEvent","send","isNewSession","parse"],"sources":["campaign-tracker.ts"],"sourcesContent":["import { createIdentifyEvent, Identify } from '@amplitude/analytics-core';\nimport {\n Storage,\n Campaign,\n CampaignParser as ICampaignParser,\n CampaignTracker as ICampaignTracker,\n CampaignTrackFunction,\n CampaignTrackerOptions,\n BaseEvent,\n} from '@amplitude/analytics-types';\nimport { getCookieName as getStorageKey } from '../utils/cookie-name';\nimport { CampaignParser } from './campaign-parser';\nimport { BASE_CAMPAIGN, EMPTY_VALUE, MKTG } from './constants';\n\nexport class CampaignTracker implements ICampaignTracker {\n storage: Storage<Campaign>;\n storageKey: string;\n parser: ICampaignParser;\n track: CampaignTrackFunction;\n onNewCampaign: (campaign: Campaign) => unknown;\n\n disabled: boolean;\n trackNewCampaigns: boolean;\n trackPageViews: boolean;\n excludeReferrers: string[];\n initialEmptyValue: string;\n\n constructor(apiKey: string, options: CampaignTrackerOptions) {\n this.storage = options.storage;\n this.storageKey = getStorageKey(apiKey, MKTG);\n this.parser = new CampaignParser();\n this.track = options.track;\n this.onNewCampaign = options.onNewCampaign;\n\n this.disabled = Boolean(options.disabled);\n this.trackNewCampaigns = Boolean(options.trackNewCampaigns);\n this.trackPageViews = Boolean(options.trackPageViews);\n this.excludeReferrers = options.excludeReferrers ?? [];\n if (typeof location !== 'undefined') {\n this.excludeReferrers.unshift(location.hostname);\n }\n this.initialEmptyValue = options.initialEmptyValue ?? EMPTY_VALUE;\n }\n\n isNewCampaign(currentCampaign: Campaign, previousCampaign: Campaign) {\n const isReferrerExcluded = Boolean(\n currentCampaign.referring_domain && this.excludeReferrers.includes(currentCampaign.referring_domain),\n );\n const hasNewUtm =\n previousCampaign.utm_campaign !== currentCampaign.utm_campaign ||\n previousCampaign.utm_source !== currentCampaign.utm_source ||\n previousCampaign.utm_medium !== currentCampaign.utm_medium ||\n previousCampaign.utm_term !== currentCampaign.utm_term ||\n previousCampaign.utm_content !== currentCampaign.utm_content;\n const hasNewReferrer = previousCampaign.referring_domain !== currentCampaign.referring_domain;\n\n return !isReferrerExcluded && (hasNewUtm || hasNewReferrer);\n }\n\n async saveCampaignToStorage(campaign: Campaign): Promise<void> {\n await this.storage.set(this.storageKey, campaign);\n }\n\n async getCampaignFromStorage(): Promise<Campaign> {\n return (await this.storage.get(this.storageKey)) || { ...BASE_CAMPAIGN };\n }\n\n createCampaignEvent(campaign: Campaign) {\n const campaignParameters: Campaign = {\n // This object definition allows undefined keys to be iterated on\n // in .reduce() to build indentify object\n ...BASE_CAMPAIGN,\n ...campaign,\n };\n const identifyEvent = Object.entries(campaignParameters).reduce((identify, [key, value]) => {\n identify.setOnce(`initial_${key}`, value || this.initialEmptyValue);\n if (value) {\n return identify.set(key, value);\n }\n return identify.unset(key);\n }, new Identify());\n\n const pageViewEvent: BaseEvent = {\n event_type: 'Page View',\n event_properties: {\n page_title: /* istanbul ignore next */ (typeof document !== 'undefined' && document.title) || '',\n page_location: /* istanbul ignore next */ (typeof location !== 'undefined' && location.href) || '',\n page_path: /* istanbul ignore next */ (typeof location !== 'undefined' && location.pathname) || '',\n },\n };\n return {\n ...createIdentifyEvent(identifyEvent),\n ...(this.trackPageViews && pageViewEvent),\n };\n }\n\n async send(isNewSession: boolean) {\n if (this.disabled) {\n return;\n }\n const currentCampaign = await this.parser.parse();\n const previousCampaign = await this.getCampaignFromStorage();\n if (!isNewSession) {\n if (!this.trackNewCampaigns || !this.isNewCampaign(currentCampaign, previousCampaign)) {\n return;\n }\n this.onNewCampaign(currentCampaign);\n }\n await this.track(this.createCampaignEvent(currentCampaign));\n await this.saveCampaignToStorage(currentCampaign);\n }\n}\n"],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.UTM_TERM = exports.UTM_SOURCE = exports.UTM_MEDIUM = exports.UTM_CONTENT = exports.UTM_CAMPAIGN = exports.UTMZ_TERM = exports.UTMZ_SOURCE = exports.UTMZ_MEDIUM = exports.UTMZ_CONTENT = exports.UTMZ_CAMPAIGN = exports.MKTG = exports.GCLID = exports.FBCLID = exports.EMPTY_VALUE = exports.BASE_CAMPAIGN = void 0;
7
- const UTM_SOURCE = 'utm_source';
8
- exports.UTM_SOURCE = UTM_SOURCE;
9
- const UTM_MEDIUM = 'utm_medium';
10
- exports.UTM_MEDIUM = UTM_MEDIUM;
11
- const UTM_CAMPAIGN = 'utm_campaign';
12
- exports.UTM_CAMPAIGN = UTM_CAMPAIGN;
13
- const UTM_TERM = 'utm_term';
14
- exports.UTM_TERM = UTM_TERM;
15
- const UTM_CONTENT = 'utm_content';
16
- exports.UTM_CONTENT = UTM_CONTENT;
17
- const UTMZ_SOURCE = 'utmcsr';
18
- exports.UTMZ_SOURCE = UTMZ_SOURCE;
19
- const UTMZ_MEDIUM = 'utmcmd';
20
- exports.UTMZ_MEDIUM = UTMZ_MEDIUM;
21
- const UTMZ_CAMPAIGN = 'utmccn';
22
- exports.UTMZ_CAMPAIGN = UTMZ_CAMPAIGN;
23
- const UTMZ_TERM = 'utmctr';
24
- exports.UTMZ_TERM = UTMZ_TERM;
25
- const UTMZ_CONTENT = 'utmcct';
26
- exports.UTMZ_CONTENT = UTMZ_CONTENT;
27
- const GCLID = 'gclid';
28
- exports.GCLID = GCLID;
29
- const FBCLID = 'fbclid';
30
- exports.FBCLID = FBCLID;
31
- const EMPTY_VALUE = 'EMPTY';
32
- exports.EMPTY_VALUE = EMPTY_VALUE;
33
- const BASE_CAMPAIGN = {
34
- utm_source: undefined,
35
- utm_medium: undefined,
36
- utm_campaign: undefined,
37
- utm_term: undefined,
38
- utm_content: undefined,
39
- referrer: undefined,
40
- referring_domain: undefined,
41
- gclid: undefined,
42
- fbclid: undefined
43
- };
44
- exports.BASE_CAMPAIGN = BASE_CAMPAIGN;
45
- const MKTG = 'MKTG';
46
- exports.MKTG = MKTG;
47
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["UTM_SOURCE","UTM_MEDIUM","UTM_CAMPAIGN","UTM_TERM","UTM_CONTENT","UTMZ_SOURCE","UTMZ_MEDIUM","UTMZ_CAMPAIGN","UTMZ_TERM","UTMZ_CONTENT","GCLID","FBCLID","EMPTY_VALUE","BASE_CAMPAIGN","utm_source","undefined","utm_medium","utm_campaign","utm_term","utm_content","referrer","referring_domain","gclid","fbclid","MKTG"],"sources":["constants.ts"],"sourcesContent":["import { Campaign } from '@amplitude/analytics-types';\n\nexport const UTM_SOURCE = 'utm_source';\nexport const UTM_MEDIUM = 'utm_medium';\nexport const UTM_CAMPAIGN = 'utm_campaign';\nexport const UTM_TERM = 'utm_term';\nexport const UTM_CONTENT = 'utm_content';\n\nexport const UTMZ_SOURCE = 'utmcsr';\nexport const UTMZ_MEDIUM = 'utmcmd';\nexport const UTMZ_CAMPAIGN = 'utmccn';\nexport const UTMZ_TERM = 'utmctr';\nexport const UTMZ_CONTENT = 'utmcct';\n\nexport const GCLID = 'gclid';\nexport const FBCLID = 'fbclid';\n\nexport const EMPTY_VALUE = 'EMPTY';\n\nexport const BASE_CAMPAIGN: Campaign = {\n utm_source: undefined,\n utm_medium: undefined,\n utm_campaign: undefined,\n utm_term: undefined,\n utm_content: undefined,\n referrer: undefined,\n referring_domain: undefined,\n gclid: undefined,\n fbclid: undefined,\n};\n\nexport const MKTG = 'MKTG';\n"],"mappings":";;;;;;AAEO,MAAMA,UAAU,GAAG,YAAnB;;AACA,MAAMC,UAAU,GAAG,YAAnB;;AACA,MAAMC,YAAY,GAAG,cAArB;;AACA,MAAMC,QAAQ,GAAG,UAAjB;;AACA,MAAMC,WAAW,GAAG,aAApB;;AAEA,MAAMC,WAAW,GAAG,QAApB;;AACA,MAAMC,WAAW,GAAG,QAApB;;AACA,MAAMC,aAAa,GAAG,QAAtB;;AACA,MAAMC,SAAS,GAAG,QAAlB;;AACA,MAAMC,YAAY,GAAG,QAArB;;AAEA,MAAMC,KAAK,GAAG,OAAd;;AACA,MAAMC,MAAM,GAAG,QAAf;;AAEA,MAAMC,WAAW,GAAG,OAApB;;AAEA,MAAMC,aAAuB,GAAG;EACrCC,UAAU,EAAEC,SADyB;EAErCC,UAAU,EAAED,SAFyB;EAGrCE,YAAY,EAAEF,SAHuB;EAIrCG,QAAQ,EAAEH,SAJ2B;EAKrCI,WAAW,EAAEJ,SALwB;EAMrCK,QAAQ,EAAEL,SAN2B;EAOrCM,gBAAgB,EAAEN,SAPmB;EAQrCO,KAAK,EAAEP,SAR8B;EASrCQ,MAAM,EAAER;AAT6B,CAAhC;;AAYA,MAAMS,IAAI,GAAG,MAAb"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.IdentityEventSender = void 0;
7
-
8
- var _analyticsTypes = require("@amplitude/analytics-types");
9
-
10
- var _analyticsConnector = require("../utils/analytics-connector");
11
-
12
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
-
14
- class IdentityEventSender {
15
- constructor() {
16
- _defineProperty(this, "name", 'identity');
17
-
18
- _defineProperty(this, "type", _analyticsTypes.PluginType.BEFORE);
19
-
20
- _defineProperty(this, "identityStore", (0, _analyticsConnector.getAnalyticsConnector)().identityStore);
21
- }
22
-
23
- async execute(context) {
24
- const userProperties = context.user_properties;
25
-
26
- if (userProperties) {
27
- this.identityStore.editIdentity().updateUserProperties(userProperties).commit();
28
- }
29
-
30
- return context;
31
- }
32
-
33
- setup(_) {
34
- return Promise.resolve(undefined);
35
- }
36
-
37
- }
38
-
39
- exports.IdentityEventSender = IdentityEventSender;
40
- //# sourceMappingURL=identity.js.map