@amplitude/plugin-engagement-react-native 3.1.1 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PluginEngagementReactNative.podspec +1 -1
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/amplitude/pluginengagementreactnative/PluginEngagementReactNativeModule.kt +3 -3
- package/ios/AmplitudeEngagementAdapter.swift +25 -36
- package/ios/PluginEngagementReactNative.mm +2 -2
- package/lib/module/AmplitudeEngagement.js +2 -2
- package/lib/module/AmplitudeEngagement.js.map +1 -1
- package/lib/module/AmplitudeEngagementPlugin.js +16 -15
- package/lib/module/AmplitudeEngagementPlugin.js.map +1 -1
- package/lib/module/NativePluginEngagementReactNative.js.map +1 -1
- package/lib/module/build-version.json +1 -1
- package/lib/module/index.js +2 -2
- 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 +1 -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 +2 -2
- package/src/AmplitudeEngagement.ts +8 -7
- package/src/AmplitudeEngagementPlugin.ts +21 -19
- package/src/NativePluginEngagementReactNative.ts +6 -1
- package/src/index.tsx +3 -2
package/android/build.gradle
CHANGED
|
@@ -86,7 +86,7 @@ dependencies {
|
|
|
86
86
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
87
87
|
|
|
88
88
|
// Amplitude Engagement SDK
|
|
89
|
-
implementation "com.amplitude:amplitude-engagement-android:3.
|
|
89
|
+
implementation "com.amplitude:amplitude-engagement-android:3.2.0"
|
|
90
90
|
|
|
91
91
|
// Amplitude Analytics SDK (required dependency)
|
|
92
92
|
implementation "com.amplitude:analytics-android:1.+"
|
|
@@ -112,12 +112,12 @@ class PluginEngagementReactNativeModule(val reactContext: ReactApplicationContex
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
override fun boot(id: Double, userId: String?, deviceId: String?) {
|
|
115
|
+
override fun boot(id: Double, userId: String?, deviceId: String?, userProperties: ReadableMap?) {
|
|
116
116
|
val instance = instances[id]?.instance ?: return
|
|
117
117
|
val self = this
|
|
118
118
|
runBlocking(Dispatchers.Main) {
|
|
119
|
-
Log.d("PluginEngagementReactNativeModule", "boot: $userId, $deviceId")
|
|
120
|
-
val options = AmplitudeBootOptions(userId = userId, deviceId = deviceId, integrations = arrayOf(
|
|
119
|
+
Log.d("PluginEngagementReactNativeModule", "boot: $userId, $deviceId, $userProperties")
|
|
120
|
+
val options = AmplitudeBootOptions(userId = userId, deviceId = deviceId, userProperties = userProperties?.toHashMap() ?: emptyMap(), integrations = arrayOf(
|
|
121
121
|
{ event: BaseEvent ->
|
|
122
122
|
try {
|
|
123
123
|
val serializedEvent = mapOf(
|
|
@@ -32,6 +32,16 @@ var _id = 0
|
|
|
32
32
|
subsystem: "PluginEngagementReactNative",
|
|
33
33
|
category: "AmplitudeEngagementAdapter")
|
|
34
34
|
|
|
35
|
+
private func getInstanceOrNoOpStub(_ instanceId: Int) -> AmplitudeEngagement {
|
|
36
|
+
guard let (_, instance) = instances[instanceId] else {
|
|
37
|
+
AmplitudeEngagementAdapter.logger.error(
|
|
38
|
+
"No AmplitudeEngagement instance found for id: \(instanceId). Returning no-op stub.")
|
|
39
|
+
return AmplitudeEngagementNoOpStub("")
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return instance
|
|
43
|
+
}
|
|
44
|
+
|
|
35
45
|
@objc public func newInstance(_ apiKey: String, _ options: [String: Any]?) -> Int {
|
|
36
46
|
if let existingId = instances.first(where: { $0.value.0 == apiKey })?.key {
|
|
37
47
|
return existingId
|
|
@@ -107,49 +117,46 @@ var _id = 0
|
|
|
107
117
|
|
|
108
118
|
@objc public func boot(
|
|
109
119
|
_ instanceId: Int, _ user_id: String?, device_id: String? = nil,
|
|
120
|
+
user_properties: [String: Any]? = nil,
|
|
110
121
|
integration: @escaping (_ event_type: String, _ event: [String: Any]) -> Void
|
|
111
122
|
) {
|
|
112
123
|
DispatchQueue.main.sync {
|
|
113
|
-
|
|
124
|
+
let instance = getInstanceOrNoOpStub(instanceId)
|
|
114
125
|
let options = AmplitudeBootOptions(
|
|
115
126
|
user_id: user_id, device_id: device_id,
|
|
116
127
|
integrations: [
|
|
117
128
|
{ event, props in
|
|
118
129
|
integration(event, props)
|
|
119
130
|
}
|
|
120
|
-
])
|
|
131
|
+
], user_properties: user_properties ?? [:])
|
|
121
132
|
return instance.boot(options: options)
|
|
122
133
|
}
|
|
123
134
|
}
|
|
124
135
|
|
|
125
136
|
@objc public func enable(_ instanceId: Int) {
|
|
126
137
|
DispatchQueue.main.sync {
|
|
127
|
-
|
|
138
|
+
let instance = getInstanceOrNoOpStub(instanceId)
|
|
128
139
|
instance.enable()
|
|
129
140
|
}
|
|
130
141
|
}
|
|
131
142
|
|
|
132
143
|
@objc public func disable(_ instanceId: Int) {
|
|
133
144
|
DispatchQueue.main.sync {
|
|
134
|
-
|
|
145
|
+
let instance = getInstanceOrNoOpStub(instanceId)
|
|
135
146
|
instance.disable()
|
|
136
147
|
}
|
|
137
148
|
}
|
|
138
149
|
|
|
139
150
|
@objc public func shutdown(_ instanceId: Int) {
|
|
140
151
|
DispatchQueue.main.sync {
|
|
141
|
-
|
|
142
|
-
fatalError("🚨 Runtime exception: no instance found for id “\(instanceId)”")
|
|
143
|
-
}
|
|
152
|
+
let instance = getInstanceOrNoOpStub(instanceId)
|
|
144
153
|
return instance.shutdown()
|
|
145
154
|
}
|
|
146
155
|
}
|
|
147
156
|
|
|
148
157
|
@objc public func setThemeMode(_ instanceId: Int, themeMode: String) {
|
|
149
158
|
DispatchQueue.main.sync {
|
|
150
|
-
|
|
151
|
-
fatalError("🚨 Runtime exception: no instance found for id “\(instanceId)”")
|
|
152
|
-
}
|
|
159
|
+
let instance = getInstanceOrNoOpStub(instanceId)
|
|
153
160
|
guard let themeModeParsed = ThemeMode(rawValue: themeMode) else { return }
|
|
154
161
|
|
|
155
162
|
return instance.setThemeMode(themeMode: themeModeParsed)
|
|
@@ -158,29 +165,21 @@ var _id = 0
|
|
|
158
165
|
|
|
159
166
|
@objc public func reset(_ instanceId: Int, key: String, stepIndex: Int = 0) {
|
|
160
167
|
DispatchQueue.main.sync {
|
|
161
|
-
|
|
162
|
-
fatalError("🚨 Runtime exception: no instance found for id “\(instanceId)”")
|
|
163
|
-
}
|
|
164
|
-
|
|
168
|
+
let instance = getInstanceOrNoOpStub(instanceId)
|
|
165
169
|
return instance.reset(key: key, stepIndex: stepIndex)
|
|
166
170
|
}
|
|
167
171
|
}
|
|
168
172
|
|
|
169
173
|
@objc public func list(_ instanceId: Int) -> [[String: Any]] {
|
|
170
174
|
DispatchQueue.main.sync {
|
|
171
|
-
|
|
172
|
-
fatalError("🚨 Runtime exception: no instance found for id “\(instanceId)”")
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
+
let instance = getInstanceOrNoOpStub(instanceId)
|
|
175
176
|
return instance.list().compactMap { x in try? x.toDictionary() }
|
|
176
177
|
}
|
|
177
178
|
}
|
|
178
179
|
|
|
179
180
|
@objc public func handleUrl(_ instanceId: Int, _ url: String) -> Bool {
|
|
180
181
|
DispatchQueue.main.sync {
|
|
181
|
-
|
|
182
|
-
fatalError("🚨 Runtime exception: no instance found for id “\(instanceId)”")
|
|
183
|
-
}
|
|
182
|
+
let instance = getInstanceOrNoOpStub(instanceId)
|
|
184
183
|
guard let url = URL(string: url) else { return false }
|
|
185
184
|
|
|
186
185
|
return instance.handleUrl(url)
|
|
@@ -189,36 +188,28 @@ var _id = 0
|
|
|
189
188
|
|
|
190
189
|
@objc public func show(_ instanceId: Int, key: String, stepIndex: Int = 0) {
|
|
191
190
|
DispatchQueue.main.sync {
|
|
192
|
-
|
|
193
|
-
fatalError("🚨 Runtime exception: no instance found for id “\(instanceId)”")
|
|
194
|
-
}
|
|
191
|
+
let instance = getInstanceOrNoOpStub(instanceId)
|
|
195
192
|
return instance.show(key: key, stepIndex: stepIndex)
|
|
196
193
|
}
|
|
197
194
|
}
|
|
198
195
|
|
|
199
196
|
@objc public func screen(_ instanceId: Int, _ screenName: String) {
|
|
200
197
|
DispatchQueue.main.sync {
|
|
201
|
-
|
|
202
|
-
fatalError("🚨 Runtime exception: no instance found for id “\(instanceId)”")
|
|
203
|
-
}
|
|
198
|
+
let instance = getInstanceOrNoOpStub(instanceId)
|
|
204
199
|
return instance.screen(screenName)
|
|
205
200
|
}
|
|
206
201
|
}
|
|
207
202
|
|
|
208
203
|
@objc public func closeAll(_ instanceId: Int) {
|
|
209
204
|
DispatchQueue.main.sync {
|
|
210
|
-
|
|
211
|
-
fatalError("🚨 Runtime exception: no instance found for id “\(instanceId)”")
|
|
212
|
-
}
|
|
205
|
+
let instance = getInstanceOrNoOpStub(instanceId)
|
|
213
206
|
return instance.closeAll()
|
|
214
207
|
}
|
|
215
208
|
}
|
|
216
209
|
|
|
217
210
|
@objc public func forwardEvent(_ instanceId: Int, _ event: [String: Any]) {
|
|
218
211
|
DispatchQueue.main.sync {
|
|
219
|
-
|
|
220
|
-
fatalError("🚨 Runtime exception: no instance found for id “\(instanceId)”")
|
|
221
|
-
}
|
|
212
|
+
let instance = getInstanceOrNoOpStub(instanceId)
|
|
222
213
|
return instance.forwardEvent(event)
|
|
223
214
|
}
|
|
224
215
|
}
|
|
@@ -227,9 +218,7 @@ var _id = 0
|
|
|
227
218
|
_ instanceId: Int, _ key: String, _ function: @escaping () -> Void
|
|
228
219
|
) {
|
|
229
220
|
DispatchQueue.main.sync {
|
|
230
|
-
|
|
231
|
-
fatalError("🚨 Runtime exception: no instance found for id “\(instanceId)”")
|
|
232
|
-
}
|
|
221
|
+
let instance = getInstanceOrNoOpStub(instanceId)
|
|
233
222
|
return instance.addCallback(key, function)
|
|
234
223
|
}
|
|
235
224
|
}
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
return @"PluginEngagementReactNative";
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
- (void)boot:(double)id user_id:(NSString *)user_id device_id:(NSString *)device_id {
|
|
38
|
+
- (void)boot:(double)id user_id:(NSString *)user_id device_id:(NSString *)device_id user_properties:(NSDictionary *)user_properties {
|
|
39
39
|
void (^callback)(NSString *, NSDictionary *) = ^(NSString *event_type, NSDictionary *event) {
|
|
40
40
|
[self emitOnTrackEvent:@{@"event_type": event_type, @"event_properties": event}];
|
|
41
41
|
};
|
|
42
42
|
|
|
43
|
-
[adapter boot:id :user_id device_id:device_id integration:callback];
|
|
43
|
+
[adapter boot:id :user_id device_id:device_id user_properties:user_properties integration:callback];
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
- (void)enable:(double)id {
|
|
@@ -8,8 +8,8 @@ export class AmplitudeEngagement {
|
|
|
8
8
|
// Initialize the plugin with the API key
|
|
9
9
|
this.id = PluginEngagementReactNative.newInstance(apiKey, options);
|
|
10
10
|
}
|
|
11
|
-
boot(user_id, device_id) {
|
|
12
|
-
PluginEngagementReactNative.boot(this.id, user_id, device_id);
|
|
11
|
+
boot(user_id, device_id, user_properties) {
|
|
12
|
+
PluginEngagementReactNative.boot(this.id, user_id, device_id, user_properties);
|
|
13
13
|
}
|
|
14
14
|
enable() {
|
|
15
15
|
PluginEngagementReactNative.enable(this.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","isTurboModuleEnabled","global","__turboModuleProxy","PluginEngagementReactNative","require","default","AmplitudeEngagement","constructor","apiKey","options","id","newInstance","boot","user_id","device_id","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;
|
|
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":[]}
|
|
@@ -29,6 +29,22 @@ export class AmplitudeEngagementPlugin {
|
|
|
29
29
|
...this.initOptions
|
|
30
30
|
});
|
|
31
31
|
this.client = client;
|
|
32
|
+
if (this.trackEventSubscription) {
|
|
33
|
+
this.trackEventSubscription.remove();
|
|
34
|
+
}
|
|
35
|
+
this.trackEventSubscription = NativePluginEngagementReactNative.onTrackEvent(event => {
|
|
36
|
+
if (!this.client) {
|
|
37
|
+
this.logger.error('AmplitudeEngagementPlugin#onIdentityChanged client is not initialized');
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
// Add the Guides & Surveys library version to events
|
|
41
|
+
const eventProperties = {
|
|
42
|
+
...event.event_properties,
|
|
43
|
+
'[Guides-Surveys] Library': `${AmplitudeEngagementPlugin.SDK_LIBRARY}/${AmplitudeEngagementPlugin.SDK_VERSION}`
|
|
44
|
+
};
|
|
45
|
+
this.client?.track(event.event_type, eventProperties);
|
|
46
|
+
});
|
|
47
|
+
|
|
32
48
|
// TODO: grab identity from client when available -- need to wait until it's added.
|
|
33
49
|
// Need to wait until https://amplitude.atlassian.net/browse/AMP-133461 is resolved
|
|
34
50
|
// then; follow the same pattern as in the `AmplitudeEngagementPlugin` in the Swift/iOS code
|
|
@@ -42,21 +58,6 @@ export class AmplitudeEngagementPlugin {
|
|
|
42
58
|
// we can call `boot()` automatically in `setup` and `onIdentityChanged`
|
|
43
59
|
boot(user_id, device_id) {
|
|
44
60
|
boot(user_id, device_id);
|
|
45
|
-
if (this.trackEventSubscription) {
|
|
46
|
-
this.trackEventSubscription.remove();
|
|
47
|
-
}
|
|
48
|
-
this.trackEventSubscription = NativePluginEngagementReactNative.onTrackEvent(event => {
|
|
49
|
-
if (!this.client) {
|
|
50
|
-
this.logger.error('AmplitudeEngagementPlugin#onIdentityChanged client is not initialized');
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
// Add the Guides & Surveys library version to events
|
|
54
|
-
const eventProperties = {
|
|
55
|
-
...event.event_properties,
|
|
56
|
-
'[Guides-Surveys] Library': `${AmplitudeEngagementPlugin.SDK_LIBRARY}/${AmplitudeEngagementPlugin.SDK_VERSION}`
|
|
57
|
-
};
|
|
58
|
-
this.client?.track(event.event_type, eventProperties);
|
|
59
|
-
});
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
/** Re-enable the SDK after it has been disabled using disable(). */
|
|
@@ -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","
|
|
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 +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;AA8ClD,eAAeA,mBAAmB,CAACC,YAAY,CAC7C,6BACF,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"3.
|
|
1
|
+
{"version":"3.2.0"}
|
package/lib/module/index.js
CHANGED
|
@@ -26,9 +26,9 @@ export function init(apiKey, options) {
|
|
|
26
26
|
});
|
|
27
27
|
toNotify = [];
|
|
28
28
|
}
|
|
29
|
-
export async function boot(user_id, device_id) {
|
|
29
|
+
export async function boot(user_id, device_id, user_properties) {
|
|
30
30
|
const e = await getGlobalEngagement();
|
|
31
|
-
return e.boot(user_id, device_id);
|
|
31
|
+
return e.boot(user_id, device_id, user_properties);
|
|
32
32
|
}
|
|
33
33
|
export async function enable() {
|
|
34
34
|
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","options","Error","forEach","callback","boot","user_id","device_id","e","enable","disable","shutdown","list","show","key","stepIndex","screen","screenName","closeAll","forwardEvent","event","addCallback","func","removePromise","then","r","handleURL","url","plugin","getPlugin","initOptions"],"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,EAAEC,OAA8B,EAAQ;EACzE;EACA,IAAIV,gBAAgB,EAAE;IACpB,MAAM,IAAIW,KAAK,CAAC,yCAAyC,CAAC;EAC5D;EACAX,gBAAgB,GAAG,IAAIF,mBAAmB,CAACW,MAAM,EAAEC,OAAO,CAAC;EAC3DT,QAAQ,CAACW,OAAO,CAAEC,QAAQ,IAAK;IAC7BA,QAAQ,CAACb,gBAAgB,CAAC;EAC5B,CAAC,CAAC;EACFC,QAAQ,GAAG,EAAE;AACf;AAEA,OAAO,eAAea,IAAIA,CACxBC,OAAgB,EAChBC,SAAkB,
|
|
1
|
+
{"version":3,"names":["AmplitudeEngagement","AmplitudeEngagementPlugin","globalEngagement","toNotify","getGlobalEngagement","Promise","resolve","_reject","push","engagement","init","apiKey","options","Error","forEach","callback","boot","user_id","device_id","user_properties","e","enable","disable","shutdown","list","show","key","stepIndex","screen","screenName","closeAll","forwardEvent","event","addCallback","func","removePromise","then","r","handleURL","url","plugin","getPlugin","initOptions"],"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,EAAEC,OAA8B,EAAQ;EACzE;EACA,IAAIV,gBAAgB,EAAE;IACpB,MAAM,IAAIW,KAAK,CAAC,yCAAyC,CAAC;EAC5D;EACAX,gBAAgB,GAAG,IAAIF,mBAAmB,CAACW,MAAM,EAAEC,OAAO,CAAC;EAC3DT,QAAQ,CAACW,OAAO,CAAEC,QAAQ,IAAK;IAC7BA,QAAQ,CAACb,gBAAgB,CAAC;EAC5B,CAAC,CAAC;EACFC,QAAQ,GAAG,EAAE;AACf;AAEA,OAAO,eAAea,IAAIA,CACxBC,OAAgB,EAChBC,SAAkB,EAClBC,eAAwB,EACT;EACf,MAAMC,CAAC,GAAG,MAAMhB,mBAAmB,CAAC,CAAC;EACrC,OAAOgB,CAAC,CAACJ,IAAI,CAACC,OAAO,EAAEC,SAAS,EAAEC,eAAe,CAAC;AACpD;AAEA,OAAO,eAAeE,MAAMA,CAAA,EAAkB;EAC5C,MAAMD,CAAC,GAAG,MAAMhB,mBAAmB,CAAC,CAAC;EACrC,OAAOgB,CAAC,CAACC,MAAM,CAAC,CAAC;AACnB;AAEA,OAAO,eAAeC,OAAOA,CAAA,EAAkB;EAC7C,MAAMF,CAAC,GAAG,MAAMhB,mBAAmB,CAAC,CAAC;EACrC,OAAOgB,CAAC,CAACE,OAAO,CAAC,CAAC;AACpB;AAEA,OAAO,eAAeC,QAAQA,CAAA,EAAkB;EAC9C,MAAMH,CAAC,GAAG,MAAMhB,mBAAmB,CAAC,CAAC;EACrC,OAAOgB,CAAC,CAACG,QAAQ,CAAC,CAAC;AACrB;AAEA,OAAO,eAAeC,IAAIA,CAAA,EAA6B;EACrD,MAAMJ,CAAC,GAAG,MAAMhB,mBAAmB,CAAC,CAAC;EACrC,OAAOgB,CAAC,CAACI,IAAI,CAAC,CAAC;AACjB;AAEA,OAAO,eAAeC,IAAIA,CAACC,GAAW,EAAEC,SAAiB,EAAiB;EACxE,MAAMP,CAAC,GAAG,MAAMhB,mBAAmB,CAAC,CAAC;EACrC,OAAOgB,CAAC,CAACK,IAAI,CAACC,GAAG,EAAEC,SAAS,CAAC;AAC/B;AAEA,OAAO,eAAeC,MAAMA,CAACC,UAAkB,EAAiB;EAC9D,MAAMT,CAAC,GAAG,MAAMhB,mBAAmB,CAAC,CAAC;EACrC,OAAOgB,CAAC,CAACQ,MAAM,CAACC,UAAU,CAAC;AAC7B;AAEA,OAAO,eAAeC,QAAQA,CAAA,EAAkB;EAC9C,MAAMV,CAAC,GAAG,MAAMhB,mBAAmB,CAAC,CAAC;EACrC,OAAOgB,CAAC,CAACU,QAAQ,CAAC,CAAC;AACrB;AAEA,OAAO,eAAeC,YAAYA,CAACC,KAAgB,EAAiB;EAClE,MAAMZ,CAAC,GAAG,MAAMhB,mBAAmB,CAAC,CAAC;EACrC,OAAOgB,CAAC,CAACW,YAAY,CAACC,KAAK,CAAC;AAC9B;AAEA,OAAO,SAASC,WAAWA,CAACP,GAAW,EAAEQ,IAAgB,EAAc;EACrE,MAAMC,aAAa,GAAG/B,mBAAmB,CAAC,CAAC,CAACgC,IAAI,CAAE3B,UAAU,IAAK;IAC/D,OAAOA,UAAU,CAACwB,WAAW,CAACP,GAAG,EAAEQ,IAAI,CAAC;EAC1C,CAAC,CAAC;EAEF,OAAO,MAAM;IACXC,aAAa,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;EAChC,CAAC;AACH;AAEA,OAAO,eAAeC,SAASA,CAACC,GAAW,EAAoB;EAC7D,MAAMnB,CAAC,GAAG,MAAMhB,mBAAmB,CAAC,CAAC;EACrC,OAAOgB,CAAC,CAACkB,SAAS,CAACC,GAAG,CAAC;AACzB;AAEA,IAAIC,MAAwC,GAAG,IAAI;AACnD,OAAO,SAASC,SAASA,CACvBC,WAAkC,EACP;EAC3B,IAAI,CAACF,MAAM,EAAE;IACXA,MAAM,GAAG,IAAIvC,yBAAyB,CAACyC,WAAW,CAAC;EACrD;EAEA,OAAOF,MAAM;AACf","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@ import type { BaseEvent } from '@amplitude/analytics-core';
|
|
|
3
3
|
export declare class AmplitudeEngagement {
|
|
4
4
|
id: number;
|
|
5
5
|
constructor(apiKey: string, options?: AmplitudeInitOptions);
|
|
6
|
-
boot(user_id?: string, device_id?: string): void;
|
|
6
|
+
boot(user_id?: string, device_id?: string, user_properties?: Object): void;
|
|
7
7
|
enable(): void;
|
|
8
8
|
disable(): void;
|
|
9
9
|
shutdown(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmplitudeEngagement.d.ts","sourceRoot":"","sources":["../../../src/AmplitudeEngagement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
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 +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;
|
|
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"}
|
|
@@ -11,7 +11,7 @@ export type CallbackInvocation = {
|
|
|
11
11
|
};
|
|
12
12
|
export interface Spec extends TurboModule {
|
|
13
13
|
newInstance(apiKey: string, options?: Object): number;
|
|
14
|
-
boot(id: number, user_id?: string, device_id?: string): void;
|
|
14
|
+
boot(id: number, user_id?: string, device_id?: string, user_properties?: Object): void;
|
|
15
15
|
enable(id: number): void;
|
|
16
16
|
disable(id: number): void;
|
|
17
17
|
shutdown(id: number): void;
|
|
@@ -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;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,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtD,IAAI,
|
|
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,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtD,IAAI,CACF,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,GACvB,IAAI,CAAC;IAER,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAmB,IAAI,CAAC;IAClE,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"}
|
|
@@ -2,7 +2,7 @@ import { AmplitudeEngagementPlugin } from './AmplitudeEngagementPlugin';
|
|
|
2
2
|
import type { AmplitudeInitOptions, GuideOrSurvey } from './types';
|
|
3
3
|
import type { BaseEvent } from '@amplitude/analytics-core';
|
|
4
4
|
export declare function init(apiKey: string, options?: AmplitudeInitOptions): void;
|
|
5
|
-
export declare function boot(user_id?: string, device_id?: string): Promise<void>;
|
|
5
|
+
export declare function boot(user_id?: string, device_id?: string, user_properties?: Object): Promise<void>;
|
|
6
6
|
export declare function enable(): Promise<void>;
|
|
7
7
|
export declare function disable(): Promise<void>;
|
|
8
8
|
export declare function shutdown(): Promise<void>;
|
|
@@ -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,oBAAoB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAiB3D,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAUzE;AAED,wBAAsB,IAAI,CACxB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,
|
|
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,oBAAoB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAiB3D,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAUzE;AAED,wBAAsB,IAAI,CACxB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAG5C;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAG7C;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAG9C;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,CACvB,WAAW,CAAC,EAAE,oBAAoB,GACjC,yBAAyB,CAM3B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amplitude/plugin-engagement-react-native",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.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",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"workspaces": [
|
|
90
90
|
"example"
|
|
91
91
|
],
|
|
92
|
-
"packageManager": "yarn@
|
|
92
|
+
"packageManager": "yarn@4.12.0",
|
|
93
93
|
"jest": {
|
|
94
94
|
"preset": "react-native",
|
|
95
95
|
"modulePathIgnorePatterns": [
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import type { Spec } from './NativePluginEngagementReactNative';
|
|
2
2
|
import { NativeModules } from 'react-native';
|
|
3
|
-
import type {
|
|
4
|
-
AmplitudeInitOptions,
|
|
5
|
-
GuideOrSurvey,
|
|
6
|
-
ThemeMode,
|
|
7
|
-
} from './types';
|
|
3
|
+
import type { AmplitudeInitOptions, GuideOrSurvey, ThemeMode } from './types';
|
|
8
4
|
import type { BaseEvent } from '@amplitude/analytics-core';
|
|
9
5
|
|
|
10
6
|
type PluginEngagementReactNativeType = Exclude<Spec, 'getConstants'>;
|
|
@@ -24,8 +20,13 @@ export class AmplitudeEngagement {
|
|
|
24
20
|
this.id = PluginEngagementReactNative.newInstance(apiKey, options);
|
|
25
21
|
}
|
|
26
22
|
|
|
27
|
-
boot(user_id?: string, device_id?: string): void {
|
|
28
|
-
PluginEngagementReactNative.boot(
|
|
23
|
+
boot(user_id?: string, device_id?: string, user_properties?: Object): void {
|
|
24
|
+
PluginEngagementReactNative.boot(
|
|
25
|
+
this.id,
|
|
26
|
+
user_id,
|
|
27
|
+
device_id,
|
|
28
|
+
user_properties
|
|
29
|
+
);
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
enable(): void {
|
|
@@ -54,6 +54,27 @@ export class AmplitudeEngagementPlugin
|
|
|
54
54
|
...this.initOptions,
|
|
55
55
|
});
|
|
56
56
|
this.client = client;
|
|
57
|
+
|
|
58
|
+
if (this.trackEventSubscription) {
|
|
59
|
+
this.trackEventSubscription.remove();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
this.trackEventSubscription =
|
|
63
|
+
NativePluginEngagementReactNative.onTrackEvent((event) => {
|
|
64
|
+
if (!this.client) {
|
|
65
|
+
this.logger.error(
|
|
66
|
+
'AmplitudeEngagementPlugin#onIdentityChanged client is not initialized'
|
|
67
|
+
);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
// Add the Guides & Surveys library version to events
|
|
71
|
+
const eventProperties = {
|
|
72
|
+
...event.event_properties,
|
|
73
|
+
'[Guides-Surveys] Library': `${AmplitudeEngagementPlugin.SDK_LIBRARY}/${AmplitudeEngagementPlugin.SDK_VERSION}`,
|
|
74
|
+
};
|
|
75
|
+
this.client?.track(event.event_type, eventProperties);
|
|
76
|
+
});
|
|
77
|
+
|
|
57
78
|
// TODO: grab identity from client when available -- need to wait until it's added.
|
|
58
79
|
// Need to wait until https://amplitude.atlassian.net/browse/AMP-133461 is resolved
|
|
59
80
|
// then; follow the same pattern as in the `AmplitudeEngagementPlugin` in the Swift/iOS code
|
|
@@ -70,25 +91,6 @@ export class AmplitudeEngagementPlugin
|
|
|
70
91
|
// we can call `boot()` automatically in `setup` and `onIdentityChanged`
|
|
71
92
|
boot(user_id?: string, device_id?: string): void {
|
|
72
93
|
boot(user_id, device_id);
|
|
73
|
-
if (this.trackEventSubscription) {
|
|
74
|
-
this.trackEventSubscription.remove();
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
this.trackEventSubscription =
|
|
78
|
-
NativePluginEngagementReactNative.onTrackEvent((event) => {
|
|
79
|
-
if (!this.client) {
|
|
80
|
-
this.logger.error(
|
|
81
|
-
'AmplitudeEngagementPlugin#onIdentityChanged client is not initialized'
|
|
82
|
-
);
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
// Add the Guides & Surveys library version to events
|
|
86
|
-
const eventProperties = {
|
|
87
|
-
...event.event_properties,
|
|
88
|
-
'[Guides-Surveys] Library': `${AmplitudeEngagementPlugin.SDK_LIBRARY}/${AmplitudeEngagementPlugin.SDK_VERSION}`,
|
|
89
|
-
};
|
|
90
|
-
this.client?.track(event.event_type, eventProperties);
|
|
91
|
-
});
|
|
92
94
|
}
|
|
93
95
|
|
|
94
96
|
/** Re-enable the SDK after it has been disabled using disable(). */
|
|
@@ -16,7 +16,12 @@ export type CallbackInvocation = {
|
|
|
16
16
|
export interface Spec extends TurboModule {
|
|
17
17
|
newInstance(apiKey: string, options?: Object): number;
|
|
18
18
|
|
|
19
|
-
boot(
|
|
19
|
+
boot(
|
|
20
|
+
id: number,
|
|
21
|
+
user_id?: string,
|
|
22
|
+
device_id?: string,
|
|
23
|
+
user_properties?: Object
|
|
24
|
+
): void;
|
|
20
25
|
|
|
21
26
|
enable(id: number): void;
|
|
22
27
|
disable(id: number): void;
|
package/src/index.tsx
CHANGED
|
@@ -32,10 +32,11 @@ export function init(apiKey: string, options?: AmplitudeInitOptions): void {
|
|
|
32
32
|
|
|
33
33
|
export async function boot(
|
|
34
34
|
user_id?: string,
|
|
35
|
-
device_id?: string
|
|
35
|
+
device_id?: string,
|
|
36
|
+
user_properties?: Object
|
|
36
37
|
): Promise<void> {
|
|
37
38
|
const e = await getGlobalEngagement();
|
|
38
|
-
return e.boot(user_id, device_id);
|
|
39
|
+
return e.boot(user_id, device_id, user_properties);
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
export async function enable(): Promise<void> {
|