@amplitude/plugin-engagement-react-native 3.3.0 → 3.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.
@@ -1,6 +1,8 @@
1
1
  require "json"
2
2
 
3
3
  package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+ version =JSON.parse(File.read(File.join(__dir__, "src/build-version-ios.json")))
5
+ engagement_version = version["version"]
4
6
 
5
7
  Pod::Spec.new do |s|
6
8
  s.name = "PluginEngagementReactNative"
@@ -33,7 +35,7 @@ Pod::Spec.new do |s|
33
35
  ]
34
36
  s.dependency 'AmplitudeCore', '>=1.0.12', '<2.0.0'
35
37
  else
36
- s.dependency "AmplitudeEngagementSwift", "3.3.0"
38
+ s.dependency "AmplitudeEngagementSwift", engagement_version
37
39
  end
38
40
 
39
41
  install_modules_dependencies(s)
@@ -80,13 +80,15 @@ repositories {
80
80
  }
81
81
 
82
82
  def kotlin_version = getExtOrDefault("kotlinVersion")
83
+ def versions = new groovy.json.JsonSlurper().parse(file("../src/build-version-android.json"))
84
+ def androidVersion = versions["version"]
83
85
 
84
86
  dependencies {
85
87
  implementation "com.facebook.react:react-android"
86
88
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
87
89
 
88
90
  // Amplitude Engagement SDK
89
- implementation "com.amplitude:amplitude-engagement-android:3.3.0"
91
+ implementation "com.amplitude:amplitude-engagement-android:${androidVersion}"
90
92
 
91
93
  // Amplitude Analytics SDK (required dependency)
92
94
  implementation "com.amplitude:analytics-android:1.+"
@@ -79,8 +79,10 @@ class PluginEngagementReactNativeModule(val reactContext: ReactApplicationContex
79
79
  initOptions = initOptions.copy(ignoreAnalyticsAutomaticScreenTracking = ignoreAnalyticsAutomaticScreenTracking)
80
80
  }
81
81
 
82
+ val platformVersion = options?.getString("platformVersion") ?: ""
83
+
82
84
  Log.d("PluginEngagementReactNativeModule", "newInstance apiKey=${apiKey}, options=${options}, initOptions=${initOptions}")
83
- val amplitudeEngagement = __ReactNative__AESDK(reactContext, apiKey, initOptions)
85
+ val amplitudeEngagement = __ReactNative__AESDK(reactContext, apiKey, initOptions, platformVersion = platformVersion)
84
86
 
85
87
  // The React Native environment seems to have a different activity management lifecycle;
86
88
  // so we need to register our own listener to get the current activity.
@@ -36,7 +36,8 @@ var _id = 0
36
36
  guard let (_, instance) = instances[instanceId] else {
37
37
  AmplitudeEngagementAdapter.logger.error(
38
38
  "No AmplitudeEngagement instance found for id: \(instanceId). Returning no-op stub.")
39
- return AmplitudeEngagementNoOpStub("")
39
+ return AmplitudeEngagementNoOpStub(
40
+ "", AmplitudeInitOptions(), DevelopmentPlatform.reactNative(version: ""))
40
41
  }
41
42
 
42
43
  return instance
@@ -94,13 +95,15 @@ var _id = 0
94
95
  serverUrl: serverUrl,
95
96
  cdnUrl: cdnUrl,
96
97
  mediaUrl: mediaUrl,
97
- ignoreAnalyticsAutomaticScreenTracking: ignoreAnalyticsAutomaticScreenTracking,
98
+ ignoreAnalyticsAutomaticScreenTracking: ignoreAnalyticsAutomaticScreenTracking
98
99
  )
99
100
 
100
101
  AmplitudeEngagementAdapter.logger.debug(
101
102
  "AmplitudeEngagementAdapter#newInstace apiKey=\(apiKey), options=\(String(describing: options), privacy: .public); initOptions=\(String(describing: initOptions), privacy: .public)"
102
103
  )
103
104
 
105
+ let platformVersion = options?["platformVersion"] as? String ?? ""
106
+
104
107
  return DispatchQueue.main.sync {
105
108
  _id += 1
106
109
  let id = _id + 1
@@ -109,7 +112,7 @@ var _id = 0
109
112
  )
110
113
  instances[id] = (
111
114
  apiKey,
112
- __ReactNative__AESDK_Factory.make(apiKey, initOptions)
115
+ __ReactNative__AESDK_Factory.make(apiKey, initOptions, platformVersion: platformVersion)
113
116
  )
114
117
  return id
115
118
  }
@@ -1,12 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  import { NativeModules } from 'react-native';
4
+ import { SDK_VERSION } from "./constants.js";
4
5
  const isTurboModuleEnabled = global.__turboModuleProxy != null;
5
6
  const PluginEngagementReactNative = isTurboModuleEnabled ? require('./NativePluginEngagementReactNative').default : NativeModules.PluginEngagementReactNative;
6
7
  export class AmplitudeEngagement {
7
8
  constructor(apiKey, options) {
8
- // Initialize the plugin with the API key
9
- this.id = PluginEngagementReactNative.newInstance(apiKey, options);
9
+ this.id = PluginEngagementReactNative.newInstance(apiKey, {
10
+ ...options,
11
+ platformVersion: SDK_VERSION
12
+ });
10
13
  }
11
14
  boot(user_id, device_id, user_properties) {
12
15
  PluginEngagementReactNative.boot(this.id, user_id, device_id, user_properties);
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","isTurboModuleEnabled","global","__turboModuleProxy","PluginEngagementReactNative","require","default","AmplitudeEngagement","constructor","apiKey","options","id","newInstance","boot","user_id","device_id","user_properties","enable","disable","shutdown","setThemeMode","themeMode","reset","key","stepIndex","list","show","screen","screenName","closeAll","forwardEvent","event","addCallback","func","handler","onInvokeCallback","invocation","remove","handleURL","url"],"sourceRoot":"../../src","sources":["AmplitudeEngagement.ts"],"mappings":";;AACA,SAASA,aAAa,QAAQ,cAAc;AAM5C,MAAMC,oBAAoB,GAAIC,MAAM,CAASC,kBAAkB,IAAI,IAAI;AAEvE,MAAMC,2BAA4D,GAChEH,oBAAoB,GAChBI,OAAO,CAAC,qCAAqC,CAAC,CAACC,OAAO,GACtDN,aAAa,CAACI,2BAA2B;AAE/C,OAAO,MAAMG,mBAAmB,CAAC;EAG/BC,WAAWA,CAACC,MAAc,EAAEC,OAA8B,EAAE;IAC1D;IACA,IAAI,CAACC,EAAE,GAAGP,2BAA2B,CAACQ,WAAW,CAACH,MAAM,EAAEC,OAAO,CAAC;EACpE;EAEAG,IAAIA,CAACC,OAAgB,EAAEC,SAAkB,EAAEC,eAAwB,EAAQ;IACzEZ,2BAA2B,CAACS,IAAI,CAC9B,IAAI,CAACF,EAAE,EACPG,OAAO,EACPC,SAAS,EACTC,eACF,CAAC;EACH;EAEAC,MAAMA,CAAA,EAAS;IACbb,2BAA2B,CAACa,MAAM,CAAC,IAAI,CAACN,EAAE,CAAC;EAC7C;EAEAO,OAAOA,CAAA,EAAS;IACdd,2BAA2B,CAACc,OAAO,CAAC,IAAI,CAACP,EAAE,CAAC;EAC9C;EAEAQ,QAAQA,CAAA,EAAS;IACff,2BAA2B,CAACe,QAAQ,CAAC,IAAI,CAACR,EAAE,CAAC;EAC/C;EAEAS,YAAYA,CAACC,SAAoB,EAAQ;IACvC,OAAOjB,2BAA2B,CAACgB,YAAY,CAAC,IAAI,CAACT,EAAE,EAAEU,SAAS,CAAC;EACrE;EAEAC,KAAKA,CAACC,GAAW,EAAEC,SAAiB,EAAQ;IAC1C,OAAOpB,2BAA2B,CAACkB,KAAK,CAAC,IAAI,CAACX,EAAE,EAAEY,GAAG,EAAEC,SAAS,CAAC;EACnE;EAEAC,IAAIA,CAAA,EAAoB;IACtB,OAAOrB,2BAA2B,CAACqB,IAAI,CAAC,IAAI,CAACd,EAAE,CAAC;EAClD;EAEAe,IAAIA,CAACH,GAAW,EAAEC,SAAiB,EAAQ;IACzC,OAAOpB,2BAA2B,CAACsB,IAAI,CAAC,IAAI,CAACf,EAAE,EAAEY,GAAG,EAAEC,SAAS,CAAC;EAClE;EAEAG,MAAMA,CAACC,UAAkB,EAAQ;IAC/B,OAAOxB,2BAA2B,CAACuB,MAAM,CAAC,IAAI,CAAChB,EAAE,EAAEiB,UAAU,CAAC;EAChE;EAEAC,QAAQA,CAAA,EAAS;IACf,OAAOzB,2BAA2B,CAACyB,QAAQ,CAAC,IAAI,CAAClB,EAAE,CAAC;EACtD;EAEAmB,YAAYA,CAACC,KAAgB,EAAQ;IACnC,OAAO3B,2BAA2B,CAAC0B,YAAY,CAAC,IAAI,CAACnB,EAAE,EAAEoB,KAAK,CAAC;EACjE;EAEAC,WAAWA,CAACT,GAAW,EAAEU,IAAgB,EAAc;IACrD7B,2BAA2B,CAAC4B,WAAW,CAAC,IAAI,CAACrB,EAAE,EAAEY,GAAG,CAAC;IAErD,MAAMW,OAAO,GAAG9B,2BAA2B,CAAC+B,gBAAgB,CACzDC,UAAU,IAAK;MACd,IAAIA,UAAU,CAACzB,EAAE,KAAK,IAAI,CAACA,EAAE,IAAIyB,UAAU,CAACb,GAAG,KAAKA,GAAG,EAAE;QACvDU,IAAI,CAAC,CAAC;MACR;IACF,CACF,CAAC;IAED,OAAO,MAAMC,OAAO,CAACG,MAAM,CAAC,CAAC;EAC/B;EAEAC,SAASA,CAACC,GAAW,EAAW;IAC9B,OAAOnC,2BAA2B,CAACkC,SAAS,CAAC,IAAI,CAAC3B,EAAE,EAAE4B,GAAG,CAAC;EAC5D;AACF","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","SDK_VERSION","isTurboModuleEnabled","global","__turboModuleProxy","PluginEngagementReactNative","require","default","AmplitudeEngagement","constructor","apiKey","options","id","newInstance","platformVersion","boot","user_id","device_id","user_properties","enable","disable","shutdown","setThemeMode","themeMode","reset","key","stepIndex","list","show","screen","screenName","closeAll","forwardEvent","event","addCallback","func","handler","onInvokeCallback","invocation","remove","handleURL","url"],"sourceRoot":"../../src","sources":["AmplitudeEngagement.ts"],"mappings":";;AACA,SAASA,aAAa,QAAQ,cAAc;AAG5C,SAASC,WAAW,QAAQ,gBAAa;AAIzC,MAAMC,oBAAoB,GAAIC,MAAM,CAASC,kBAAkB,IAAI,IAAI;AAEvE,MAAMC,2BAA4D,GAChEH,oBAAoB,GAChBI,OAAO,CAAC,qCAAqC,CAAC,CAACC,OAAO,GACtDP,aAAa,CAACK,2BAA2B;AAE/C,OAAO,MAAMG,mBAAmB,CAAC;EAG/BC,WAAWA,CAACC,MAAc,EAAEC,OAA8B,EAAE;IAC1D,IAAI,CAACC,EAAE,GAAGP,2BAA2B,CAACQ,WAAW,CAACH,MAAM,EAAE;MACxD,GAAGC,OAAO;MACVG,eAAe,EAAEb;IACnB,CAAC,CAAC;EACJ;EAEAc,IAAIA,CAACC,OAAgB,EAAEC,SAAkB,EAAEC,eAAwB,EAAQ;IACzEb,2BAA2B,CAACU,IAAI,CAC9B,IAAI,CAACH,EAAE,EACPI,OAAO,EACPC,SAAS,EACTC,eACF,CAAC;EACH;EAEAC,MAAMA,CAAA,EAAS;IACbd,2BAA2B,CAACc,MAAM,CAAC,IAAI,CAACP,EAAE,CAAC;EAC7C;EAEAQ,OAAOA,CAAA,EAAS;IACdf,2BAA2B,CAACe,OAAO,CAAC,IAAI,CAACR,EAAE,CAAC;EAC9C;EAEAS,QAAQA,CAAA,EAAS;IACfhB,2BAA2B,CAACgB,QAAQ,CAAC,IAAI,CAACT,EAAE,CAAC;EAC/C;EAEAU,YAAYA,CAACC,SAAoB,EAAQ;IACvC,OAAOlB,2BAA2B,CAACiB,YAAY,CAAC,IAAI,CAACV,EAAE,EAAEW,SAAS,CAAC;EACrE;EAEAC,KAAKA,CAACC,GAAW,EAAEC,SAAiB,EAAQ;IAC1C,OAAOrB,2BAA2B,CAACmB,KAAK,CAAC,IAAI,CAACZ,EAAE,EAAEa,GAAG,EAAEC,SAAS,CAAC;EACnE;EAEAC,IAAIA,CAAA,EAAoB;IACtB,OAAOtB,2BAA2B,CAACsB,IAAI,CAAC,IAAI,CAACf,EAAE,CAAC;EAClD;EAEAgB,IAAIA,CAACH,GAAW,EAAEC,SAAiB,EAAQ;IACzC,OAAOrB,2BAA2B,CAACuB,IAAI,CAAC,IAAI,CAAChB,EAAE,EAAEa,GAAG,EAAEC,SAAS,CAAC;EAClE;EAEAG,MAAMA,CAACC,UAAkB,EAAQ;IAC/B,OAAOzB,2BAA2B,CAACwB,MAAM,CAAC,IAAI,CAACjB,EAAE,EAAEkB,UAAU,CAAC;EAChE;EAEAC,QAAQA,CAAA,EAAS;IACf,OAAO1B,2BAA2B,CAAC0B,QAAQ,CAAC,IAAI,CAACnB,EAAE,CAAC;EACtD;EAEAoB,YAAYA,CAACC,KAAgB,EAAQ;IACnC,OAAO5B,2BAA2B,CAAC2B,YAAY,CAAC,IAAI,CAACpB,EAAE,EAAEqB,KAAK,CAAC;EACjE;EAEAC,WAAWA,CAACT,GAAW,EAAEU,IAAgB,EAAc;IACrD9B,2BAA2B,CAAC6B,WAAW,CAAC,IAAI,CAACtB,EAAE,EAAEa,GAAG,CAAC;IAErD,MAAMW,OAAO,GAAG/B,2BAA2B,CAACgC,gBAAgB,CACzDC,UAAU,IAAK;MACd,IAAIA,UAAU,CAAC1B,EAAE,KAAK,IAAI,CAACA,EAAE,IAAI0B,UAAU,CAACb,GAAG,KAAKA,GAAG,EAAE;QACvDU,IAAI,CAAC,CAAC;MACR;IACF,CACF,CAAC;IAED,OAAO,MAAMC,OAAO,CAACG,MAAM,CAAC,CAAC;EAC/B;EAEAC,SAASA,CAACC,GAAW,EAAW;IAC9B,OAAOpC,2BAA2B,CAACmC,SAAS,CAAC,IAAI,CAAC5B,EAAE,EAAE6B,GAAG,CAAC;EAC5D;AACF","ignoreList":[]}
@@ -1,17 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ import { Platform } from 'react-native';
3
4
  import { forwardEvent, init, screen, boot, enable, disable } from "./index.js";
4
5
  import NativePluginEngagementReactNative from "./NativePluginEngagementReactNative.js";
5
6
  import { Logger } from "./logger.js";
6
- import { version } from './build-version.json';
7
+ import * as Constants from "./constants.js";
7
8
  export class AmplitudeEngagementPlugin {
8
9
  name = 'AmplitudeEngagementPlugin';
9
10
  type = 'enrichment';
10
11
  logger = new Logger('AmplitudeEngagementPlugin');
11
-
12
- // SDK library information for version tracking
13
- static SDK_LIBRARY = 'amplitude-engagement-react-native';
14
- static SDK_VERSION = version;
15
12
  trackEventSubscription = null;
16
13
  constructor(initOptions) {
17
14
  this.initOptions = initOptions;
@@ -37,10 +34,13 @@ export class AmplitudeEngagementPlugin {
37
34
  this.logger.error('AmplitudeEngagementPlugin#onIdentityChanged client is not initialized');
38
35
  return;
39
36
  }
37
+ const nativeTag = Platform.OS === 'ios' ? `${Constants.SDK_IOS_LIBRARY}/${Constants.SDK_IOS_VERSION}` : `${Constants.SDK_ANDROID_LIBRARY}/${Constants.SDK_ANDROID_VERSION}`;
38
+ const rnTag = `${Constants.SDK_LIBRARY}/${Constants.SDK_VERSION}`;
39
+
40
40
  // Add the Guides & Surveys library version to events
41
41
  const eventProperties = {
42
42
  ...event.event_properties,
43
- '[Guides-Surveys] Library': `${AmplitudeEngagementPlugin.SDK_LIBRARY}/${AmplitudeEngagementPlugin.SDK_VERSION}`
43
+ '[Guides-Surveys] Library': `${rnTag}_${nativeTag}`
44
44
  };
45
45
  this.client?.track(event.event_type, eventProperties);
46
46
  });
@@ -1 +1 @@
1
- {"version":3,"names":["forwardEvent","init","screen","boot","enable","disable","NativePluginEngagementReactNative","Logger","version","AmplitudeEngagementPlugin","name","type","logger","SDK_LIBRARY","SDK_VERSION","trackEventSubscription","constructor","initOptions","setup","config","client","apiKey","serverZone","log","remove","onTrackEvent","event","error","eventProperties","event_properties","track","event_type","user_id","device_id","execute","context","JSON","stringify","screenName","ignoreAnalyticsAutomaticScreenTracking"],"sourceRoot":"../../src","sources":["AmplitudeEngagementPlugin.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","forwardEvent","init","screen","boot","enable","disable","NativePluginEngagementReactNative","Logger","Constants","AmplitudeEngagementPlugin","name","type","logger","trackEventSubscription","constructor","initOptions","setup","config","client","apiKey","serverZone","log","remove","onTrackEvent","event","error","nativeTag","OS","SDK_IOS_LIBRARY","SDK_IOS_VERSION","SDK_ANDROID_LIBRARY","SDK_ANDROID_VERSION","rnTag","SDK_LIBRARY","SDK_VERSION","eventProperties","event_properties","track","event_type","user_id","device_id","execute","context","JSON","stringify","screenName","ignoreAnalyticsAutomaticScreenTracking"],"sourceRoot":"../../src","sources":["AmplitudeEngagementPlugin.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "3.4.0"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "3.4.0"
3
+ }
@@ -1 +1,3 @@
1
- {"version":"3.3.0"}
1
+ {
2
+ "version": "0.0.0-development"
3
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ import { version as reactNativeVersion } from './build-version.json';
4
+ import { version as iosVersion } from './build-version-ios.json';
5
+ import { version as androidVersion } from './build-version-android.json';
6
+ export const SDK_LIBRARY = 'amplitude-engagement-react-native';
7
+ export const SDK_VERSION = reactNativeVersion;
8
+ export const SDK_IOS_LIBRARY = 'amplitude-engagement-swift';
9
+ export const SDK_IOS_VERSION = iosVersion;
10
+ export const SDK_ANDROID_LIBRARY = 'amplitude-engagement-android';
11
+ export const SDK_ANDROID_VERSION = androidVersion;
12
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["version","reactNativeVersion","iosVersion","androidVersion","SDK_LIBRARY","SDK_VERSION","SDK_IOS_LIBRARY","SDK_IOS_VERSION","SDK_ANDROID_LIBRARY","SDK_ANDROID_VERSION"],"sourceRoot":"../../src","sources":["constants.ts"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,kBAAkB,QAAQ,sBAAsB;AACpE,SAASD,OAAO,IAAIE,UAAU,QAAQ,0BAA0B;AAChE,SAASF,OAAO,IAAIG,cAAc,QAAQ,8BAA8B;AAExE,OAAO,MAAMC,WAAW,GAAG,mCAAmC;AAC9D,OAAO,MAAMC,WAAW,GAAGJ,kBAAkB;AAC7C,OAAO,MAAMK,eAAe,GAAG,4BAA4B;AAC3D,OAAO,MAAMC,eAAe,GAAGL,UAAU;AACzC,OAAO,MAAMM,mBAAmB,GAAG,8BAA8B;AACjE,OAAO,MAAMC,mBAAmB,GAAGN,cAAc","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"AmplitudeEngagement.d.ts","sourceRoot":"","sources":["../../../src/AmplitudeEngagement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAW3D,qBAAa,mBAAmB;IAC9B,EAAE,EAAE,MAAM,CAAC;gBAEC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAK1D,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI;IAS1E,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;IAIf,QAAQ,IAAI,IAAI;IAIhB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI3C,IAAI,IAAI,aAAa,EAAE;IAIvB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI1C,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIhC,QAAQ,IAAI,IAAI;IAIhB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIpC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IActD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAGhC"}
1
+ {"version":3,"file":"AmplitudeEngagement.d.ts","sourceRoot":"","sources":["../../../src/AmplitudeEngagement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAY3D,qBAAa,mBAAmB;IAC9B,EAAE,EAAE,MAAM,CAAC;gBAEC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAO1D,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI;IAS1E,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;IAIf,QAAQ,IAAI,IAAI;IAIhB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI3C,IAAI,IAAI,aAAa,EAAE;IAIvB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI1C,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIhC,QAAQ,IAAI,IAAI;IAIhB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIpC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IActD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAGhC"}
@@ -12,8 +12,6 @@ export declare class AmplitudeEngagementPlugin implements EnrichmentPlugin<React
12
12
  sessionId?: number;
13
13
  userProperties?: Record<string, any>;
14
14
  logger: AmplitudeLogger;
15
- private static readonly SDK_LIBRARY;
16
- private static readonly SDK_VERSION;
17
15
  trackEventSubscription: EventSubscription | null;
18
16
  constructor(initOptions?: AmplitudeInitOptions);
19
17
  setup(config: ReactNativeConfig, client: ReactNativeClient): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"AmplitudeEngagementPlugin.d.ts","sourceRoot":"","sources":["../../../src/AmplitudeEngagementPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAU,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,qBAAa,yBACX,YAAW,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAEjE,IAAI,SAA+B;IACnC,IAAI,EAAG,YAAY,CAAU;IAE7B,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAEnC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAErC,MAAM,EAAE,eAAe,CAA2C;IAGlE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAC1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAW;IAE9C,sBAAsB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;gBAE5C,WAAW,CAAC,EAAE,oBAAoB;IAIxC,KAAK,CACT,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,IAAI,CAAC;IA+ChB,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAIhD,oEAAoE;IACpE,MAAM,IAAI,IAAI;IAId,8GAA8G;IAC9G,OAAO,IAAI,IAAI;IAIT,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;CA2BrD"}
1
+ {"version":3,"file":"AmplitudeEngagementPlugin.d.ts","sourceRoot":"","sources":["../../../src/AmplitudeEngagementPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EAAU,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGpD,qBAAa,yBACX,YAAW,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAEjE,IAAI,SAA+B;IACnC,IAAI,EAAG,YAAY,CAAU;IAE7B,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAEnC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAErC,MAAM,EAAE,eAAe,CAA2C;IAElE,sBAAsB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;gBAE5C,WAAW,CAAC,EAAE,oBAAoB;IAIxC,KAAK,CACT,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,IAAI,CAAC;IAuDhB,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAIhD,oEAAoE;IACpE,MAAM,IAAI,IAAI;IAId,8GAA8G;IAC9G,OAAO,IAAI,IAAI;IAIT,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;CA2BrD"}
@@ -0,0 +1,7 @@
1
+ export declare const SDK_LIBRARY = "amplitude-engagement-react-native";
2
+ export declare const SDK_VERSION: string;
3
+ export declare const SDK_IOS_LIBRARY = "amplitude-engagement-swift";
4
+ export declare const SDK_IOS_VERSION: string;
5
+ export declare const SDK_ANDROID_LIBRARY = "amplitude-engagement-android";
6
+ export declare const SDK_ANDROID_VERSION: string;
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,sCAAsC,CAAC;AAC/D,eAAO,MAAM,WAAW,QAAqB,CAAC;AAC9C,eAAO,MAAM,eAAe,+BAA+B,CAAC;AAC5D,eAAO,MAAM,eAAe,QAAa,CAAC;AAC1C,eAAO,MAAM,mBAAmB,iCAAiC,CAAC;AAClE,eAAO,MAAM,mBAAmB,QAAiB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amplitude/plugin-engagement-react-native",
3
- "version": "3.3.0",
3
+ "version": "3.4.0",
4
4
  "description": "Amplitude Engagement plugin for React Native",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -40,7 +40,7 @@
40
40
  "typecheck": "tsc",
41
41
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
42
42
  "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
43
- "prepare": "bob build && tsx scripts/inject-package-version.ts",
43
+ "prepare": "bob build",
44
44
  "release": "npm publish --tag latest --ddd"
45
45
  },
46
46
  "keywords": [
@@ -2,6 +2,7 @@ import type { Spec } from './NativePluginEngagementReactNative';
2
2
  import { NativeModules } from 'react-native';
3
3
  import type { AmplitudeInitOptions, GuideOrSurvey, ThemeMode } from './types';
4
4
  import type { BaseEvent } from '@amplitude/analytics-core';
5
+ import { SDK_VERSION } from './constants';
5
6
 
6
7
  type PluginEngagementReactNativeType = Exclude<Spec, 'getConstants'>;
7
8
 
@@ -16,8 +17,10 @@ export class AmplitudeEngagement {
16
17
  id: number;
17
18
 
18
19
  constructor(apiKey: string, options?: AmplitudeInitOptions) {
19
- // Initialize the plugin with the API key
20
- this.id = PluginEngagementReactNative.newInstance(apiKey, options);
20
+ this.id = PluginEngagementReactNative.newInstance(apiKey, {
21
+ ...options,
22
+ platformVersion: SDK_VERSION,
23
+ });
21
24
  }
22
25
 
23
26
  boot(user_id?: string, device_id?: string, user_properties?: Object): void {
@@ -4,13 +4,14 @@ import type {
4
4
  ReactNativeClient,
5
5
  ReactNativeConfig,
6
6
  } from '@amplitude/analytics-core';
7
+ import { Platform } from 'react-native';
7
8
  import { forwardEvent, init, screen, boot, enable, disable } from '.';
8
9
  import NativePluginEngagementReactNative from './NativePluginEngagementReactNative';
9
10
 
10
11
  import { Logger, type AmplitudeLogger } from './logger';
11
12
  import type { EventSubscription } from 'react-native';
12
- import { version } from './build-version.json';
13
13
  import type { AmplitudeInitOptions } from './types';
14
+ import * as Constants from './constants';
14
15
 
15
16
  export class AmplitudeEngagementPlugin
16
17
  implements EnrichmentPlugin<ReactNativeClient, ReactNativeConfig>
@@ -29,10 +30,6 @@ export class AmplitudeEngagementPlugin
29
30
 
30
31
  logger: AmplitudeLogger = new Logger('AmplitudeEngagementPlugin');
31
32
 
32
- // SDK library information for version tracking
33
- private static readonly SDK_LIBRARY = 'amplitude-engagement-react-native';
34
- private static readonly SDK_VERSION = version;
35
-
36
33
  trackEventSubscription: EventSubscription | null = null;
37
34
 
38
35
  constructor(initOptions?: AmplitudeInitOptions) {
@@ -67,10 +64,18 @@ export class AmplitudeEngagementPlugin
67
64
  );
68
65
  return;
69
66
  }
67
+
68
+ const nativeTag =
69
+ Platform.OS === 'ios'
70
+ ? `${Constants.SDK_IOS_LIBRARY}/${Constants.SDK_IOS_VERSION}`
71
+ : `${Constants.SDK_ANDROID_LIBRARY}/${Constants.SDK_ANDROID_VERSION}`;
72
+
73
+ const rnTag = `${Constants.SDK_LIBRARY}/${Constants.SDK_VERSION}`;
74
+
70
75
  // Add the Guides & Surveys library version to events
71
76
  const eventProperties = {
72
77
  ...event.event_properties,
73
- '[Guides-Surveys] Library': `${AmplitudeEngagementPlugin.SDK_LIBRARY}/${AmplitudeEngagementPlugin.SDK_VERSION}`,
78
+ '[Guides-Surveys] Library': `${rnTag}_${nativeTag}`,
74
79
  };
75
80
  this.client?.track(event.event_type, eventProperties);
76
81
  });
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "3.4.0"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "3.4.0"
3
+ }
@@ -1,3 +1,3 @@
1
1
  {
2
2
  "version": "0.0.0-development"
3
- }
3
+ }
@@ -0,0 +1,10 @@
1
+ import { version as reactNativeVersion } from './build-version.json';
2
+ import { version as iosVersion } from './build-version-ios.json';
3
+ import { version as androidVersion } from './build-version-android.json';
4
+
5
+ export const SDK_LIBRARY = 'amplitude-engagement-react-native';
6
+ export const SDK_VERSION = reactNativeVersion;
7
+ export const SDK_IOS_LIBRARY = 'amplitude-engagement-swift';
8
+ export const SDK_IOS_VERSION = iosVersion;
9
+ export const SDK_ANDROID_LIBRARY = 'amplitude-engagement-android';
10
+ export const SDK_ANDROID_VERSION = androidVersion;