@amplitude/plugin-engagement-react-native 1.0.0-beta.1 → 1.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PluginEngagementReactNative.podspec +1 -1
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/amplitude/pluginengagementreactnative/PluginEngagementReactNativeModule.kt +9 -2
- package/ios/PluginEngagementReactNative.mm +4 -5
- package/lib/module/AmplitudeEngagement.js +7 -1
- package/lib/module/AmplitudeEngagement.js.map +1 -1
- package/lib/module/AmplitudeEngagementPlugin.js +1 -2
- package/lib/module/AmplitudeEngagementPlugin.js.map +1 -1
- package/lib/module/NativePluginEngagementReactNative.js.map +1 -1
- package/lib/module/build-version.json +1 -0
- package/lib/module/index.js +7 -3
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/AmplitudeEngagement.d.ts +1 -1
- package/lib/typescript/src/AmplitudeEngagement.d.ts.map +1 -1
- package/lib/typescript/src/AmplitudeEngagementPlugin.d.ts.map +1 -1
- package/lib/typescript/src/NativePluginEngagementReactNative.d.ts +6 -1
- package/lib/typescript/src/NativePluginEngagementReactNative.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/AmplitudeEngagement.ts +12 -2
- package/src/AmplitudeEngagementPlugin.ts +1 -2
- package/src/NativePluginEngagementReactNative.ts +8 -1
- package/src/build-version.json +3 -0
- package/src/index.tsx +8 -6
|
@@ -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.
|
|
19
|
+
s.dependency "AmplitudeEngagementSwift", "1.0.8"
|
|
20
20
|
|
|
21
21
|
install_modules_dependencies(s)
|
|
22
22
|
end
|
package/android/build.gradle
CHANGED
|
@@ -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.
|
|
79
|
+
implementation "com.amplitude:amplitude-engagement-android:1.0.19"
|
|
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
|
|
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) {
|
|
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
|
|
53
|
-
RCTResponseSenderBlock jsCallback = func;
|
|
52
|
+
- (void)addCallback:(double)id key:(nonnull NSString *)key {
|
|
54
53
|
void (^callback)(void) = ^{
|
|
55
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
|
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;
|
|
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.3"}
|
package/lib/module/index.js
CHANGED
|
@@ -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
|
|
54
|
-
const
|
|
55
|
-
|
|
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();
|
package/lib/module/index.js.map
CHANGED
|
@@ -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,
|
|
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;
|
|
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;
|
|
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
|
|
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;
|
|
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):
|
|
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,
|
|
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.
|
|
3
|
+
"version": "1.0.0-beta.3",
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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>(
|
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
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
)
|
|
70
|
-
|
|
71
|
-
return
|
|
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> {
|