@amplitude/plugin-engagement-react-native 1.0.0-beta.1 → 1.0.0-beta.2

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.
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
16
16
  s.source_files = "ios/**/*.{h,m,mm,cpp,swift}"
17
17
  s.private_header_files = "ios/**/*.h"
18
18
 
19
- s.dependency "AmplitudeEngagementSwift", "1.0.7"
19
+ s.dependency "AmplitudeEngagementSwift", "1.0.8"
20
20
 
21
21
  install_modules_dependencies(s)
22
22
  end
@@ -76,7 +76,7 @@ dependencies {
76
76
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
77
77
 
78
78
  // Amplitude Engagement SDK
79
- implementation "com.amplitude:amplitude-engagement-android:1.0.16"
79
+ implementation "com.amplitude:amplitude-engagement-android:1.0.18"
80
80
 
81
81
  // Amplitude Analytics SDK (required dependency)
82
82
  implementation "com.amplitude:analytics-android:1.+"
@@ -172,10 +172,17 @@ class PluginEngagementReactNativeModule(val reactContext: ReactApplicationContex
172
172
  }
173
173
  }
174
174
 
175
- override fun addCallback(id: Double, key: String, func: Callback) {
175
+ override fun addCallback(id: Double, key: String) {
176
176
  val instance = instances[id]?.instance ?: return
177
+ val self = this
177
178
  runBlocking(Dispatchers.Main) {
178
- instance.addCallback(key) { func.invoke() }
179
+ instance.addCallback(key) {
180
+ val serializedEvent = mapOf(
181
+ "id" to id,
182
+ "key" to key
183
+ ).toWritableMap()
184
+ self.emitOnInvokeCallback(serializedEvent)
185
+ }
179
186
  }
180
187
  }
181
188
 
@@ -49,12 +49,11 @@
49
49
  return @(success);
50
50
  }
51
51
 
52
- - (void)addCallback:(double)id key:(nonnull NSString *)key func:(nonnull RCTResponseSenderBlock)func {
53
- RCTResponseSenderBlock jsCallback = func;
52
+ - (void)addCallback:(double)id key:(nonnull NSString *)key {
54
53
  void (^callback)(void) = ^{
55
- jsCallback(@[]); // or pass whatever args you need
56
- };
57
-
54
+ [self emitOnInvokeCallback:@{@"id": @(id), @"key": key}];
55
+ };
56
+
58
57
  [adapter addCallback:id :key :callback];
59
58
  }
60
59
 
@@ -33,7 +33,13 @@ export class AmplitudeEngagement {
33
33
  return PluginEngagementReactNative.forwardEvent(this.id, event);
34
34
  }
35
35
  addCallback(key, func) {
36
- return PluginEngagementReactNative.addCallback(this.id, key, func);
36
+ PluginEngagementReactNative.addCallback(this.id, key);
37
+ const handler = PluginEngagementReactNative.onInvokeCallback(invocation => {
38
+ if (invocation.id === this.id && invocation.key === key) {
39
+ func();
40
+ }
41
+ });
42
+ return () => handler.remove();
37
43
  }
38
44
  handleURL(url) {
39
45
  return PluginEngagementReactNative.handleURL(this.id, url);
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","isTurboModuleEnabled","global","__turboModuleProxy","PluginEngagementReactNative","require","default","AmplitudeEngagement","constructor","apiKey","id","newInstance","boot","user_id","device_id","setThemeMode","themeMode","reset","key","stepIndex","list","show","screen","screenName","closeAll","forwardEvent","event","addCallback","func","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,EAAE;IAC1B;IACA,IAAI,CAACC,EAAE,GAAGN,2BAA2B,CAACO,WAAW,CAACF,MAAM,CAAC;EAC3D;EAEAG,IAAIA,CAACC,OAAgB,EAAEC,SAAkB,EAAQ;IAC/CV,2BAA2B,CAACQ,IAAI,CAAC,IAAI,CAACF,EAAE,EAAEG,OAAO,EAAEC,SAAS,CAAC;EAC/D;EAEAC,YAAYA,CAACC,SAAoB,EAAQ;IACvC,OAAOZ,2BAA2B,CAACW,YAAY,CAAC,IAAI,CAACL,EAAE,EAAEM,SAAS,CAAC;EACrE;EAEAC,KAAKA,CAACC,GAAW,EAAEC,SAAiB,EAAQ;IAC1C,OAAOf,2BAA2B,CAACa,KAAK,CAAC,IAAI,CAACP,EAAE,EAAEQ,GAAG,EAAEC,SAAS,CAAC;EACnE;EAEAC,IAAIA,CAAA,EAAoB;IACtB,OAAOhB,2BAA2B,CAACgB,IAAI,CAAC,IAAI,CAACV,EAAE,CAAC;EAClD;EAEAW,IAAIA,CAACH,GAAW,EAAEC,SAAiB,EAAQ;IACzC,OAAOf,2BAA2B,CAACiB,IAAI,CAAC,IAAI,CAACX,EAAE,EAAEQ,GAAG,EAAEC,SAAS,CAAC;EAClE;EAEAG,MAAMA,CAACC,UAAkB,EAAQ;IAC/B,OAAOnB,2BAA2B,CAACkB,MAAM,CAAC,IAAI,CAACZ,EAAE,EAAEa,UAAU,CAAC;EAChE;EAEAC,QAAQA,CAAA,EAAS;IACf,OAAOpB,2BAA2B,CAACoB,QAAQ,CAAC,IAAI,CAACd,EAAE,CAAC;EACtD;EAEAe,YAAYA,CAACC,KAAgB,EAAQ;IACnC,OAAOtB,2BAA2B,CAACqB,YAAY,CAAC,IAAI,CAACf,EAAE,EAAEgB,KAAK,CAAC;EACjE;EAEAC,WAAWA,CAACT,GAAW,EAAEU,IAAgB,EAAQ;IAC/C,OAAOxB,2BAA2B,CAACuB,WAAW,CAAC,IAAI,CAACjB,EAAE,EAAEQ,GAAG,EAAEU,IAAI,CAAC;EACpE;EAEAC,SAASA,CAACC,GAAW,EAAW;IAC9B,OAAO1B,2BAA2B,CAACyB,SAAS,CAAC,IAAI,CAACnB,EAAE,EAAEoB,GAAG,CAAC;EAC5D;AACF","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","isTurboModuleEnabled","global","__turboModuleProxy","PluginEngagementReactNative","require","default","AmplitudeEngagement","constructor","apiKey","id","newInstance","boot","user_id","device_id","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,EAAE;IAC1B;IACA,IAAI,CAACC,EAAE,GAAGN,2BAA2B,CAACO,WAAW,CAACF,MAAM,CAAC;EAC3D;EAEAG,IAAIA,CAACC,OAAgB,EAAEC,SAAkB,EAAQ;IAC/CV,2BAA2B,CAACQ,IAAI,CAAC,IAAI,CAACF,EAAE,EAAEG,OAAO,EAAEC,SAAS,CAAC;EAC/D;EAEAC,YAAYA,CAACC,SAAoB,EAAQ;IACvC,OAAOZ,2BAA2B,CAACW,YAAY,CAAC,IAAI,CAACL,EAAE,EAAEM,SAAS,CAAC;EACrE;EAEAC,KAAKA,CAACC,GAAW,EAAEC,SAAiB,EAAQ;IAC1C,OAAOf,2BAA2B,CAACa,KAAK,CAAC,IAAI,CAACP,EAAE,EAAEQ,GAAG,EAAEC,SAAS,CAAC;EACnE;EAEAC,IAAIA,CAAA,EAAoB;IACtB,OAAOhB,2BAA2B,CAACgB,IAAI,CAAC,IAAI,CAACV,EAAE,CAAC;EAClD;EAEAW,IAAIA,CAACH,GAAW,EAAEC,SAAiB,EAAQ;IACzC,OAAOf,2BAA2B,CAACiB,IAAI,CAAC,IAAI,CAACX,EAAE,EAAEQ,GAAG,EAAEC,SAAS,CAAC;EAClE;EAEAG,MAAMA,CAACC,UAAkB,EAAQ;IAC/B,OAAOnB,2BAA2B,CAACkB,MAAM,CAAC,IAAI,CAACZ,EAAE,EAAEa,UAAU,CAAC;EAChE;EAEAC,QAAQA,CAAA,EAAS;IACf,OAAOpB,2BAA2B,CAACoB,QAAQ,CAAC,IAAI,CAACd,EAAE,CAAC;EACtD;EAEAe,YAAYA,CAACC,KAAgB,EAAQ;IACnC,OAAOtB,2BAA2B,CAACqB,YAAY,CAAC,IAAI,CAACf,EAAE,EAAEgB,KAAK,CAAC;EACjE;EAEAC,WAAWA,CAACT,GAAW,EAAEU,IAAgB,EAAc;IACrDxB,2BAA2B,CAACuB,WAAW,CAAC,IAAI,CAACjB,EAAE,EAAEQ,GAAG,CAAC;IAErD,MAAMW,OAAO,GAAGzB,2BAA2B,CAAC0B,gBAAgB,CACzDC,UAAU,IAAK;MACd,IAAIA,UAAU,CAACrB,EAAE,KAAK,IAAI,CAACA,EAAE,IAAIqB,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,OAAO9B,2BAA2B,CAAC6B,SAAS,CAAC,IAAI,CAACvB,EAAE,EAAEwB,GAAG,CAAC;EAC5D;AACF","ignoreList":[]}
@@ -3,8 +3,7 @@
3
3
  import { forwardEvent, init, screen, boot } from "./index.js";
4
4
  import NativePluginEngagementReactNative from "./NativePluginEngagementReactNative.js";
5
5
  import { Logger } from "./logger.js";
6
- // @ts-ignore - importing version from package.json
7
- import { version } from '../package.json';
6
+ import { version } from './build-version.json';
8
7
  export class AmplitudeEngagementPlugin {
9
8
  name = 'AmplitudeEngagementPlugin';
10
9
  type = 'enrichment';
@@ -1 +1 @@
1
- {"version":3,"names":["forwardEvent","init","screen","boot","NativePluginEngagementReactNative","Logger","version","AmplitudeEngagementPlugin","name","type","logger","SDK_LIBRARY","SDK_VERSION","trackEventSubscription","setup","config","client","log","apiKey","error","user_id","device_id","remove","onTrackEvent","event","eventProperties","event_properties","track","event_type","execute","context","JSON","stringify","screenName"],"sourceRoot":"../../src","sources":["AmplitudeEngagementPlugin.ts"],"mappings":";;AAMA,SAASA,YAAY,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,QAAQ,YAAG;AACpD,OAAOC,iCAAiC,MAAM,wCAAqC;AAEnF,SAASC,MAAM,QAA8B,aAAU;AAEvD;AACA,SAASC,OAAO,QAAQ,iBAAiB;AAEzC,OAAO,MAAMC,yBAAyB,CAA6B;EACjEC,IAAI,GAAG,2BAA2B;EAClCC,IAAI,GAAG,YAAY;EASnBC,MAAM,GAAoB,IAAIL,MAAM,CAAC,2BAA2B,CAAC;;EAEjE;EACA,OAAwBM,WAAW,GAAG,mCAAmC;EACzE,OAAwBC,WAAW,GAAGN,OAAO;EAE7CO,sBAAsB,GAA6B,IAAI;EAEvD,MAAMC,KAAKA,CAACC,MAAc,EAAEC,MAAkB,EAAiB;IAC7D,IAAI;MACF,IAAI,CAACN,MAAM,CAACO,GAAG,CAAC,0BAA0B,EAAEF,MAAM,CAACG,MAAM,CAAC;MAC1DjB,IAAI,CAACc,MAAM,CAACG,MAAM,CAAC;MACnB,IAAI,CAACF,MAAM,GAAGA,MAAM;MACpB;MACA;MACA;IACF,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd,IAAI,CAACT,MAAM,CAACS,KAAK,CACf,sDAAsD,EACtDA,KACF,CAAC;IACH;EACF;;EAEA;EACA;EACA;EACAhB,IAAIA,CAACiB,OAAgB,EAAEC,SAAkB,EAAQ;IAC/ClB,IAAI,CAACiB,OAAO,EAAEC,SAAS,CAAC;IACxB,IAAI,IAAI,CAACR,sBAAsB,EAAE;MAC/B,IAAI,CAACA,sBAAsB,CAACS,MAAM,CAAC,CAAC;IACtC;IAEA,IAAI,CAACT,sBAAsB,GACzBT,iCAAiC,CAACmB,YAAY,CAAEC,KAAK,IAAK;MACxD,IAAI,CAAC,IAAI,CAACR,MAAM,EAAE;QAChB,IAAI,CAACN,MAAM,CAACS,KAAK,CACf,uEACF,CAAC;QACD;MACF;MACA;MACA,MAAMM,eAAe,GAAG;QACtB,GAAGD,KAAK,CAACE,gBAAgB;QACzB,0BAA0B,EAAE,GAAGnB,yBAAyB,CAACI,WAAW,IAAIJ,yBAAyB,CAACK,WAAW;MAC/G,CAAC;MACD,IAAI,CAACI,MAAM,EAAEW,KAAK,CAACH,KAAK,CAACI,UAAU,EAAEH,eAAe,CAAC;IACvD,CAAC,CAAC;EACN;EAEA,MAAMI,OAAOA,CAACC,OAAc,EAAyB;IACnD,IAAI,CAACpB,MAAM,CAACO,GAAG,CACb,qCAAqCc,IAAI,CAACC,SAAS,CAACF,OAAO,CAAC,EAC9D,CAAC;IAED,IACEA,OAAO,CAACF,UAAU,KAAK,2BAA2B,IAClD,OAAOE,OAAO,CAACJ,gBAAgB,GAAG,yBAAyB,CAAC,KAAK,QAAQ,EACzE;MACA,MAAMO,UAAU,GAAGH,OAAO,CAACJ,gBAAgB,CACzC,yBAAyB,CAChB;MACXxB,MAAM,CAAC+B,UAAU,CAAC;IACpB;IAEAjC,YAAY,CAAC8B,OAAO,CAAC;IAErB,OAAOA,OAAO;EAChB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["forwardEvent","init","screen","boot","NativePluginEngagementReactNative","Logger","version","AmplitudeEngagementPlugin","name","type","logger","SDK_LIBRARY","SDK_VERSION","trackEventSubscription","setup","config","client","log","apiKey","error","user_id","device_id","remove","onTrackEvent","event","eventProperties","event_properties","track","event_type","execute","context","JSON","stringify","screenName"],"sourceRoot":"../../src","sources":["AmplitudeEngagementPlugin.ts"],"mappings":";;AAMA,SAASA,YAAY,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,QAAQ,YAAG;AACpD,OAAOC,iCAAiC,MAAM,wCAAqC;AAEnF,SAASC,MAAM,QAA8B,aAAU;AAEvD,SAASC,OAAO,QAAQ,sBAAsB;AAE9C,OAAO,MAAMC,yBAAyB,CAA6B;EACjEC,IAAI,GAAG,2BAA2B;EAClCC,IAAI,GAAG,YAAY;EASnBC,MAAM,GAAoB,IAAIL,MAAM,CAAC,2BAA2B,CAAC;;EAEjE;EACA,OAAwBM,WAAW,GAAG,mCAAmC;EACzE,OAAwBC,WAAW,GAAGN,OAAO;EAE7CO,sBAAsB,GAA6B,IAAI;EAEvD,MAAMC,KAAKA,CAACC,MAAc,EAAEC,MAAkB,EAAiB;IAC7D,IAAI;MACF,IAAI,CAACN,MAAM,CAACO,GAAG,CAAC,0BAA0B,EAAEF,MAAM,CAACG,MAAM,CAAC;MAC1DjB,IAAI,CAACc,MAAM,CAACG,MAAM,CAAC;MACnB,IAAI,CAACF,MAAM,GAAGA,MAAM;MACpB;MACA;MACA;IACF,CAAC,CAAC,OAAOG,KAAK,EAAE;MACd,IAAI,CAACT,MAAM,CAACS,KAAK,CACf,sDAAsD,EACtDA,KACF,CAAC;IACH;EACF;;EAEA;EACA;EACA;EACAhB,IAAIA,CAACiB,OAAgB,EAAEC,SAAkB,EAAQ;IAC/ClB,IAAI,CAACiB,OAAO,EAAEC,SAAS,CAAC;IACxB,IAAI,IAAI,CAACR,sBAAsB,EAAE;MAC/B,IAAI,CAACA,sBAAsB,CAACS,MAAM,CAAC,CAAC;IACtC;IAEA,IAAI,CAACT,sBAAsB,GACzBT,iCAAiC,CAACmB,YAAY,CAAEC,KAAK,IAAK;MACxD,IAAI,CAAC,IAAI,CAACR,MAAM,EAAE;QAChB,IAAI,CAACN,MAAM,CAACS,KAAK,CACf,uEACF,CAAC;QACD;MACF;MACA;MACA,MAAMM,eAAe,GAAG;QACtB,GAAGD,KAAK,CAACE,gBAAgB;QACzB,0BAA0B,EAAE,GAAGnB,yBAAyB,CAACI,WAAW,IAAIJ,yBAAyB,CAACK,WAAW;MAC/G,CAAC;MACD,IAAI,CAACI,MAAM,EAAEW,KAAK,CAACH,KAAK,CAACI,UAAU,EAAEH,eAAe,CAAC;IACvD,CAAC,CAAC;EACN;EAEA,MAAMI,OAAOA,CAACC,OAAc,EAAyB;IACnD,IAAI,CAACpB,MAAM,CAACO,GAAG,CACb,qCAAqCc,IAAI,CAACC,SAAS,CAACF,OAAO,CAAC,EAC9D,CAAC;IAED,IACEA,OAAO,CAACF,UAAU,KAAK,2BAA2B,IAClD,OAAOE,OAAO,CAACJ,gBAAgB,GAAG,yBAAyB,CAAC,KAAK,QAAQ,EACzE;MACA,MAAMO,UAAU,GAAGH,OAAO,CAACJ,gBAAgB,CACzC,yBAAyB,CAChB;MACXxB,MAAM,CAAC+B,UAAU,CAAC;IACpB;IAEAjC,YAAY,CAAC8B,OAAO,CAAC;IAErB,OAAOA,OAAO;EAChB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativePluginEngagementReactNative.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AA+BlD,eAAeA,mBAAmB,CAACC,YAAY,CAC7C,6BACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativePluginEngagementReactNative.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAsClD,eAAeA,mBAAmB,CAACC,YAAY,CAC7C,6BACF,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":"1.0.0-beta.2"}
@@ -50,9 +50,13 @@ export async function forwardEvent(event) {
50
50
  const e = await getGlobalEngagement();
51
51
  return e.forwardEvent(event);
52
52
  }
53
- export async function addCallback(key, func) {
54
- const e = await getGlobalEngagement();
55
- return e.addCallback(key, func);
53
+ export function addCallback(key, func) {
54
+ const removePromise = getGlobalEngagement().then(engagement => {
55
+ return engagement.addCallback(key, func);
56
+ });
57
+ return () => {
58
+ removePromise.then(r => r());
59
+ };
56
60
  }
57
61
  export async function handleURL(url) {
58
62
  const e = await getGlobalEngagement();
@@ -1 +1 @@
1
- {"version":3,"names":["AmplitudeEngagement","AmplitudeEngagementPlugin","globalEngagement","toNotify","getGlobalEngagement","Promise","resolve","_reject","push","engagement","init","apiKey","Error","forEach","callback","boot","user_id","device_id","e","list","show","key","stepIndex","screen","screenName","closeAll","forwardEvent","event","addCallback","func","handleURL","url","plugin","getPlugin"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,yBAAyB,QAAQ,gCAA6B;AAIvE,IAAIC,gBAAqC,GAAG,IAAW;AACvD,IAAIC,QAAuD,GAAG,EAAE;AAEhE,eAAeC,mBAAmBA,CAAA,EAAiC;EACjE,IAAIF,gBAAgB,EAAE;IACpB,OAAOA,gBAAgB;EACzB,CAAC,MAAM;IACL,OAAO,MAAM,IAAIG,OAAO,CAAC,CAACC,OAAO,EAAEC,OAAO,KAAK;MAC7CJ,QAAQ,CAACK,IAAI,CAAEC,UAAU,IAAK;QAC5BH,OAAO,CAACG,UAAU,CAAC;MACrB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;AACF;AAEA,OAAO,SAASC,IAAIA,CAACC,MAAc,EAAQ;EACzC;EACA,IAAIT,gBAAgB,EAAE;IACpB,MAAM,IAAIU,KAAK,CAAC,yCAAyC,CAAC;EAC5D;EACAV,gBAAgB,GAAG,IAAIF,mBAAmB,CAACW,MAAM,CAAC;EAClDR,QAAQ,CAACU,OAAO,CAAEC,QAAQ,IAAK;IAC7BA,QAAQ,CAACZ,gBAAgB,CAAC;EAC5B,CAAC,CAAC;EACFC,QAAQ,GAAG,EAAE;AACf;AAEA,OAAO,eAAeY,IAAIA,CACxBC,OAAgB,EAChBC,SAAkB,EACH;EACf,MAAMC,CAAC,GAAG,MAAMd,mBAAmB,CAAC,CAAC;EACrC,OAAOc,CAAC,CAACH,IAAI,CAACC,OAAO,EAAEC,SAAS,CAAC;AACnC;AAEA,OAAO,eAAeE,IAAIA,CAAA,EAA6B;EACrD,MAAMD,CAAC,GAAG,MAAMd,mBAAmB,CAAC,CAAC;EACrC,OAAOc,CAAC,CAACC,IAAI,CAAC,CAAC;AACjB;AAEA,OAAO,eAAeC,IAAIA,CAACC,GAAW,EAAEC,SAAiB,EAAiB;EACxE,MAAMJ,CAAC,GAAG,MAAMd,mBAAmB,CAAC,CAAC;EACrC,OAAOc,CAAC,CAACE,IAAI,CAACC,GAAG,EAAEC,SAAS,CAAC;AAC/B;AAEA,OAAO,eAAeC,MAAMA,CAACC,UAAkB,EAAiB;EAC9D,MAAMN,CAAC,GAAG,MAAMd,mBAAmB,CAAC,CAAC;EACrC,OAAOc,CAAC,CAACK,MAAM,CAACC,UAAU,CAAC;AAC7B;AAEA,OAAO,eAAeC,QAAQA,CAAA,EAAkB;EAC9C,MAAMP,CAAC,GAAG,MAAMd,mBAAmB,CAAC,CAAC;EACrC,OAAOc,CAAC,CAACO,QAAQ,CAAC,CAAC;AACrB;AAEA,OAAO,eAAeC,YAAYA,CAACC,KAAgB,EAAiB;EAClE,MAAMT,CAAC,GAAG,MAAMd,mBAAmB,CAAC,CAAC;EACrC,OAAOc,CAAC,CAACQ,YAAY,CAACC,KAAK,CAAC;AAC9B;AAEA,OAAO,eAAeC,WAAWA,CAC/BP,GAAW,EACXQ,IAAgB,EACD;EACf,MAAMX,CAAC,GAAG,MAAMd,mBAAmB,CAAC,CAAC;EACrC,OAAOc,CAAC,CAACU,WAAW,CAACP,GAAG,EAAEQ,IAAI,CAAC;AACjC;AAEA,OAAO,eAAeC,SAASA,CAACC,GAAW,EAAoB;EAC7D,MAAMb,CAAC,GAAG,MAAMd,mBAAmB,CAAC,CAAC;EACrC,OAAOc,CAAC,CAACY,SAAS,CAACC,GAAG,CAAC;AACzB;AAEA,IAAIC,MAAwC,GAAG,IAAI;AACnD,OAAO,SAASC,SAASA,CAAA,EAA8B;EACrD,IAAI,CAACD,MAAM,EAAE;IACXA,MAAM,GAAG,IAAI/B,yBAAyB,CAAC,CAAC;EAC1C;EAEA,OAAO+B,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"names":["AmplitudeEngagement","AmplitudeEngagementPlugin","globalEngagement","toNotify","getGlobalEngagement","Promise","resolve","_reject","push","engagement","init","apiKey","Error","forEach","callback","boot","user_id","device_id","e","list","show","key","stepIndex","screen","screenName","closeAll","forwardEvent","event","addCallback","func","removePromise","then","r","handleURL","url","plugin","getPlugin"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -11,7 +11,7 @@ export declare class AmplitudeEngagement {
11
11
  screen(screenName: string): void;
12
12
  closeAll(): void;
13
13
  forwardEvent(event: BaseEvent): void;
14
- addCallback(key: string, func: () => void): void;
14
+ addCallback(key: string, func: () => void): () => void;
15
15
  handleURL(url: string): boolean;
16
16
  }
17
17
  //# sourceMappingURL=AmplitudeEngagement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AmplitudeEngagement.d.ts","sourceRoot":"","sources":["../../../src/AmplitudeEngagement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAW3D,qBAAa,mBAAmB;IAC9B,EAAE,EAAE,MAAM,CAAC;gBAEC,MAAM,EAAE,MAAM;IAK1B,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAIhD,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,IAAI;IAIhD,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,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAW3D,qBAAa,mBAAmB;IAC9B,EAAE,EAAE,MAAM,CAAC;gBAEC,MAAM,EAAE,MAAM;IAK1B,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAIhD,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 +1 @@
1
- {"version":3,"file":"AmplitudeEngagementPlugin.d.ts","sourceRoot":"","sources":["../../../src/AmplitudeEngagementPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,KAAK,EACN,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAU,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAItD,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,IAAI,SAA+B;IACnC,IAAI,EAAG,YAAY,CAAU;IAE7B,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB,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;IAElD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9D,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAuB1C,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;CAmBrD"}
1
+ {"version":3,"file":"AmplitudeEngagementPlugin.d.ts","sourceRoot":"","sources":["../../../src/AmplitudeEngagementPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,KAAK,EACN,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAU,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,IAAI,SAA+B;IACnC,IAAI,EAAG,YAAY,CAAU;IAE7B,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB,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;IAElD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9D,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAuB1C,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;CAmBrD"}
@@ -5,6 +5,10 @@ export type AnalyticsEvent = {
5
5
  event_type: string;
6
6
  event_properties: Object;
7
7
  };
8
+ export type CallbackInvocation = {
9
+ id: number;
10
+ key: string;
11
+ };
8
12
  export interface Spec extends TurboModule {
9
13
  newInstance(apiKey: string): number;
10
14
  boot(id: number, user_id?: string, device_id?: string): void;
@@ -15,9 +19,10 @@ export interface Spec extends TurboModule {
15
19
  screen(id: number, screenName: string): void;
16
20
  closeAll(id: number): void;
17
21
  forwardEvent(id: number, event: Object): void;
18
- addCallback(id: number, key: string, func: () => void): void;
22
+ addCallback(id: number, key: string): void;
19
23
  handleURL(id: number, url: string): boolean;
20
24
  readonly onTrackEvent: EventEmitter<AnalyticsEvent>;
25
+ readonly onInvokeCallback: EventEmitter<CallbackInvocation>;
21
26
  }
22
27
  declare const _default: Spec;
23
28
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"NativePluginEngagementReactNative.d.ts","sourceRoot":"","sources":["../../../src/NativePluginEngagementReactNative.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AACF,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAEpC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7D,YAAY,CACV,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,GAC7C,IAAI,CAAC;IACR,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAExD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;IAElC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAmB,IAAI,CAAC;IAC9D,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAE7D,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;CACrD;;AAED,wBAEE"}
1
+ {"version":3,"file":"NativePluginEngagementReactNative.d.ts","sourceRoot":"","sources":["../../../src/NativePluginEngagementReactNative.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAEpC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7D,YAAY,CACV,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,GAC7C,IAAI,CAAC;IACR,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAExD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;IAElC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAmB,IAAI,CAAC;IAC9D,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IACpD,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;CAC7D;;AAED,wBAEE"}
@@ -8,7 +8,7 @@ export declare function show(key: string, stepIndex: number): Promise<void>;
8
8
  export declare function screen(screenName: string): Promise<void>;
9
9
  export declare function closeAll(): Promise<void>;
10
10
  export declare function forwardEvent(event: BaseEvent): Promise<void>;
11
- export declare function addCallback(key: string, func: () => void): Promise<void>;
11
+ export declare function addCallback(key: string, func: () => void): () => void;
12
12
  export declare function handleURL(url: string): Promise<boolean>;
13
13
  export declare function getPlugin(): AmplitudeEngagementPlugin;
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAiB3D,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAUzC;AAED,wBAAsB,IAAI,CACxB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAGrD;AAED,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxE;AAED,wBAAsB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAG9C;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlE;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,IAAI,GACf,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG7D;AAGD,wBAAgB,SAAS,IAAI,yBAAyB,CAMrD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAiB3D,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAUzC;AAED,wBAAsB,IAAI,CACxB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAGrD;AAED,wBAAsB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGxE;AAED,wBAAsB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAG9C;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAQrE;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG7D;AAGD,wBAAgB,SAAS,IAAI,yBAAyB,CAMrD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amplitude/plugin-engagement-react-native",
3
- "version": "1.0.0-beta.1",
3
+ "version": "1.0.0-beta.2",
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",
@@ -37,7 +37,7 @@
37
37
  "typecheck": "tsc",
38
38
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
39
39
  "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
40
- "prepare": "bob build",
40
+ "prepare": "bob build && tsx scripts/inject-package-version.ts",
41
41
  "release": "npm version prerelease --preid beta && npm publish",
42
42
  "_release": "release-it --only-version"
43
43
  },
@@ -81,6 +81,7 @@
81
81
  "react-native": "0.79.2",
82
82
  "react-native-builder-bob": "^0.40.11",
83
83
  "release-it": "^17.10.0",
84
+ "tsx": "^4.20.3",
84
85
  "turbo": "^1.10.7",
85
86
  "typescript": "^5.8.3"
86
87
  },
@@ -52,8 +52,18 @@ export class AmplitudeEngagement {
52
52
  return PluginEngagementReactNative.forwardEvent(this.id, event);
53
53
  }
54
54
 
55
- addCallback(key: string, func: () => void): void {
56
- return PluginEngagementReactNative.addCallback(this.id, key, func);
55
+ addCallback(key: string, func: () => void): () => void {
56
+ PluginEngagementReactNative.addCallback(this.id, key);
57
+
58
+ const handler = PluginEngagementReactNative.onInvokeCallback(
59
+ (invocation) => {
60
+ if (invocation.id === this.id && invocation.key === key) {
61
+ func();
62
+ }
63
+ }
64
+ );
65
+
66
+ return () => handler.remove();
57
67
  }
58
68
 
59
69
  handleURL(url: string): boolean {
@@ -9,8 +9,7 @@ import NativePluginEngagementReactNative from './NativePluginEngagementReactNati
9
9
 
10
10
  import { Logger, type AmplitudeLogger } from './logger';
11
11
  import type { EventSubscription } from 'react-native';
12
- // @ts-ignore - importing version from package.json
13
- import { version } from '../package.json';
12
+ import { version } from './build-version.json';
14
13
 
15
14
  export class AmplitudeEngagementPlugin implements EnrichmentPlugin {
16
15
  name = 'AmplitudeEngagementPlugin';
@@ -7,6 +7,12 @@ export type AnalyticsEvent = {
7
7
  event_type: string;
8
8
  event_properties: Object;
9
9
  };
10
+
11
+ export type CallbackInvocation = {
12
+ id: number;
13
+ key: string;
14
+ };
15
+
10
16
  export interface Spec extends TurboModule {
11
17
  newInstance(apiKey: string): number;
12
18
 
@@ -23,11 +29,12 @@ export interface Spec extends TurboModule {
23
29
  screen(id: number, screenName: string): void;
24
30
  closeAll(id: number): void;
25
31
  forwardEvent(id: number, event: Object /* BaseEvent */): void;
26
- addCallback(id: number, key: string, func: () => void): void;
32
+ addCallback(id: number, key: string): void;
27
33
 
28
34
  handleURL(id: number, url: string): boolean;
29
35
 
30
36
  readonly onTrackEvent: EventEmitter<AnalyticsEvent>;
37
+ readonly onInvokeCallback: EventEmitter<CallbackInvocation>;
31
38
  }
32
39
 
33
40
  export default TurboModuleRegistry.getEnforcing<Spec>(
@@ -0,0 +1,3 @@
1
+ {
2
+ "version": "0.0.0-development"
3
+ }
package/src/index.tsx CHANGED
@@ -63,12 +63,14 @@ export async function forwardEvent(event: BaseEvent): Promise<void> {
63
63
  return e.forwardEvent(event);
64
64
  }
65
65
 
66
- export async function addCallback(
67
- key: string,
68
- func: () => void
69
- ): Promise<void> {
70
- const e = await getGlobalEngagement();
71
- return e.addCallback(key, func);
66
+ export function addCallback(key: string, func: () => void): () => void {
67
+ const removePromise = getGlobalEngagement().then((engagement) => {
68
+ return engagement.addCallback(key, func);
69
+ });
70
+
71
+ return () => {
72
+ removePromise.then((r) => r());
73
+ };
72
74
  }
73
75
 
74
76
  export async function handleURL(url: string): Promise<boolean> {