@amplitude/plugin-engagement-react-native 3.4.0 → 3.6.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/src/main/java/com/amplitude/pluginengagementreactnative/PluginEngagementReactNativeModule.kt +260 -200
- package/android/src/main/java/com/amplitude/pluginengagementreactnative/PluginEngagementReactNativePackage.kt +27 -19
- package/android/src/main/java/com/amplitude/pluginengagementreactnative/Util.kt +35 -36
- package/ios/AmplitudeEngagementAdapter.swift +7 -0
- package/lib/module/AmplitudeEngagement.js +3 -0
- package/lib/module/AmplitudeEngagement.js.map +1 -1
- package/lib/module/NativePluginEngagementReactNative.js.map +1 -1
- package/lib/module/build-version-android.json +1 -1
- package/lib/module/build-version-ios.json +1 -1
- package/lib/module/build-version.json +1 -3
- package/lib/module/index.js +4 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/AmplitudeEngagement.d.ts +1 -0
- package/lib/typescript/src/AmplitudeEngagement.d.ts.map +1 -1
- package/lib/typescript/src/NativePluginEngagementReactNative.d.ts +1 -0
- package/lib/typescript/src/NativePluginEngagementReactNative.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/AmplitudeEngagement.ts +4 -0
- package/src/NativePluginEngagementReactNative.ts +1 -0
- package/src/build-version-android.json +1 -1
- package/src/build-version-ios.json +1 -1
- package/src/index.tsx +5 -0
|
@@ -33,7 +33,7 @@ Pod::Spec.new do |s|
|
|
|
33
33
|
'ios/Frameworks/AmplitudeEngagementSwift.xcframework',
|
|
34
34
|
'ios/Frameworks/CQuickJS.xcframework',
|
|
35
35
|
]
|
|
36
|
-
s.dependency 'AmplitudeCore', '>=1.0
|
|
36
|
+
s.dependency 'AmplitudeCore', '>=1.3.0', '<2.0.0'
|
|
37
37
|
else
|
|
38
38
|
s.dependency "AmplitudeEngagementSwift", engagement_version
|
|
39
39
|
end
|
|
@@ -23,240 +23,300 @@ import com.amplitude.android.engagement.AmplitudeLogLevel
|
|
|
23
23
|
|
|
24
24
|
@ReactModule(name = PluginEngagementReactNativeModule.NAME)
|
|
25
25
|
class PluginEngagementReactNativeModule(val reactContext: ReactApplicationContext) :
|
|
26
|
-
|
|
26
|
+
NativePluginEngagementReactNativeSpec(reactContext) {
|
|
27
|
+
private data class InstanceInfo(val apiKey: String, val instance: AmplitudeEngagement)
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
private var instances = ConcurrentHashMap<Double, InstanceInfo>()
|
|
30
|
+
private var nextId: Double = 0.0
|
|
29
31
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
override fun getName(): String {
|
|
34
|
-
return NAME
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
override fun newInstance(apiKey: String, options: ReadableMap?): Double {
|
|
38
|
-
// --- remove this comment ---
|
|
39
|
-
val existingId = instances.entries.firstOrNull { it.value.apiKey == apiKey }?.key
|
|
40
|
-
if (existingId != null) {
|
|
41
|
-
return existingId
|
|
32
|
+
override fun getName(): String {
|
|
33
|
+
return NAME
|
|
42
34
|
}
|
|
43
35
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
} ?: AmplitudeLogLevel.WARN
|
|
53
|
-
|
|
54
|
-
val locale = if (options?.hasKey("locale") == true) options.getString("locale") else null
|
|
55
|
-
val ignoreAnalyticsAutomaticScreenTracking = if (options?.hasKey("ignoreAnalyticsAutomaticScreenTracking") == true) options.getBoolean("ignoreAnalyticsAutomaticScreenTracking") else null
|
|
56
|
-
|
|
57
|
-
val serverUrl = if (options?.hasKey("serverUrl") == true) options.getString("serverUrl") else null
|
|
58
|
-
val cdnUrl = if (options?.hasKey("cdnUrl") == true) options.getString("cdnUrl") else null
|
|
59
|
-
val mediaUrl = if (options?.hasKey("mediaUrl") == true) options.getString("mediaUrl") else null
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
var initOptions = AmplitudeInitOptions(
|
|
63
|
-
serverZone = serverZone,
|
|
64
|
-
serverUrl = serverUrl,
|
|
65
|
-
cdnUrl = cdnUrl,
|
|
66
|
-
mediaUrl = mediaUrl,
|
|
67
|
-
logLevel = logLevel
|
|
68
|
-
)
|
|
69
|
-
|
|
70
|
-
if(locale != null) {
|
|
71
|
-
// this way, we get the default value for `locale` from AmplitudeInitOptions
|
|
72
|
-
// UNLESS a locale is specified
|
|
73
|
-
initOptions = initOptions.copy(locale = locale)
|
|
36
|
+
override fun newInstance(
|
|
37
|
+
apiKey: String,
|
|
38
|
+
options: ReadableMap?,
|
|
39
|
+
): Double {
|
|
40
|
+
// --- remove this comment ---
|
|
41
|
+
val existingId = instances.entries.firstOrNull { it.value.apiKey == apiKey }?.key
|
|
42
|
+
if (existingId != null) {
|
|
43
|
+
return existingId
|
|
74
44
|
}
|
|
75
45
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
46
|
+
return synchronized(this) {
|
|
47
|
+
runBlocking(Dispatchers.Main) {
|
|
48
|
+
val serverZone =
|
|
49
|
+
options?.getString("serverZone")?.let {
|
|
50
|
+
runCatching { AmplitudeServerZone.valueOf(it) }.getOrNull()
|
|
51
|
+
} ?: AmplitudeServerZone.US
|
|
52
|
+
|
|
53
|
+
val logLevel =
|
|
54
|
+
options?.getString("logLevel")?.let { level ->
|
|
55
|
+
runCatching { AmplitudeLogLevel.valueOf(level.uppercase()) }.getOrNull()
|
|
56
|
+
} ?: AmplitudeLogLevel.WARN
|
|
57
|
+
|
|
58
|
+
val locale = if (options?.hasKey("locale") == true) options.getString("locale") else null
|
|
59
|
+
val ignoreAnalyticsAutomaticScreenTracking =
|
|
60
|
+
if (options?.hasKey("ignoreAnalyticsAutomaticScreenTracking") == true) {
|
|
61
|
+
options.getBoolean(
|
|
62
|
+
"ignoreAnalyticsAutomaticScreenTracking",
|
|
63
|
+
)
|
|
64
|
+
} else {
|
|
65
|
+
null
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
val serverUrl = if (options?.hasKey("serverUrl") == true) options.getString("serverUrl") else null
|
|
69
|
+
val cdnUrl = if (options?.hasKey("cdnUrl") == true) options.getString("cdnUrl") else null
|
|
70
|
+
val mediaUrl = if (options?.hasKey("mediaUrl") == true) options.getString("mediaUrl") else null
|
|
71
|
+
|
|
72
|
+
var initOptions =
|
|
73
|
+
AmplitudeInitOptions(
|
|
74
|
+
serverZone = serverZone,
|
|
75
|
+
serverUrl = serverUrl,
|
|
76
|
+
cdnUrl = cdnUrl,
|
|
77
|
+
mediaUrl = mediaUrl,
|
|
78
|
+
logLevel = logLevel,
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
if (locale != null) {
|
|
82
|
+
// this way, we get the default value for `locale` from AmplitudeInitOptions
|
|
83
|
+
// UNLESS a locale is specified
|
|
84
|
+
initOptions = initOptions.copy(locale = locale)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (ignoreAnalyticsAutomaticScreenTracking != null) {
|
|
88
|
+
// this way, we get the default value for `ignoreAnalyticsAutomaticScreenTracking`
|
|
89
|
+
// from AmplitudeInitOptions UNLESS a value is specified
|
|
90
|
+
initOptions = initOptions.copy(ignoreAnalyticsAutomaticScreenTracking = ignoreAnalyticsAutomaticScreenTracking)
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
val platformVersion = options?.getString("platformVersion") ?: ""
|
|
94
|
+
|
|
95
|
+
Log.d("PluginEngagementReactNativeModule", "newInstance apiKey=$apiKey, options=$options, initOptions=$initOptions")
|
|
96
|
+
val amplitudeEngagement = __ReactNative__AESDK(reactContext, apiKey, initOptions, platformVersion = platformVersion)
|
|
97
|
+
|
|
98
|
+
// The React Native environment seems to have a different activity management lifecycle;
|
|
99
|
+
// so we need to register our own listener to get the current activity.
|
|
100
|
+
amplitudeEngagement.setCurrentActivity(reactContext.currentActivity)
|
|
101
|
+
val lifecycleEventListener: LifecycleEventListener =
|
|
102
|
+
object : LifecycleEventListener {
|
|
103
|
+
override fun onHostResume() {
|
|
104
|
+
amplitudeEngagement.setCurrentActivity(reactContext.currentActivity)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
override fun onHostPause() {
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
override fun onHostDestroy() {
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
reactContext.addLifecycleEventListener(lifecycleEventListener)
|
|
115
|
+
|
|
116
|
+
nextId++
|
|
117
|
+
val id = nextId
|
|
118
|
+
Log.d("PluginEngagementReactNativeModule", "newInstance id=$id")
|
|
119
|
+
instances[id] =
|
|
120
|
+
InstanceInfo(
|
|
121
|
+
apiKey,
|
|
122
|
+
amplitudeEngagement,
|
|
123
|
+
)
|
|
124
|
+
|
|
125
|
+
id
|
|
126
|
+
}
|
|
80
127
|
}
|
|
128
|
+
}
|
|
81
129
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
130
|
+
override fun boot(
|
|
131
|
+
id: Double,
|
|
132
|
+
userId: String?,
|
|
133
|
+
deviceId: String?,
|
|
134
|
+
userProperties: ReadableMap?,
|
|
135
|
+
) {
|
|
136
|
+
val instance = instances[id]?.instance ?: return
|
|
137
|
+
val self = this
|
|
138
|
+
runBlocking(Dispatchers.Main) {
|
|
139
|
+
Log.d("PluginEngagementReactNativeModule", "boot: $userId, $deviceId, $userProperties")
|
|
140
|
+
val options =
|
|
141
|
+
AmplitudeBootOptions(
|
|
142
|
+
userId = userId,
|
|
143
|
+
deviceId = deviceId,
|
|
144
|
+
userProperties = userProperties?.toHashMap() ?: emptyMap(),
|
|
145
|
+
integrations =
|
|
146
|
+
arrayOf(
|
|
147
|
+
{ event: BaseEvent ->
|
|
148
|
+
try {
|
|
149
|
+
val serializedEvent =
|
|
150
|
+
mapOf(
|
|
151
|
+
"event_type" to event.eventType,
|
|
152
|
+
"event_properties" to event.eventProperties,
|
|
153
|
+
).toWritableMap()
|
|
154
|
+
self.emitOnTrackEvent(serializedEvent)
|
|
155
|
+
} catch (e: Exception) {
|
|
156
|
+
Log.e("PluginEngagementReactNativeModule", "Error tracking Event", e)
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
),
|
|
160
|
+
)
|
|
161
|
+
instance.boot(options)
|
|
162
|
+
}
|
|
163
|
+
}
|
|
94
164
|
|
|
95
|
-
|
|
96
|
-
|
|
165
|
+
override fun enable(id: Double) {
|
|
166
|
+
val instance = instances[id]?.instance ?: return
|
|
167
|
+
runBlocking(Dispatchers.Main) {
|
|
168
|
+
instance.enable()
|
|
169
|
+
}
|
|
170
|
+
}
|
|
97
171
|
|
|
98
|
-
|
|
99
|
-
|
|
172
|
+
override fun disable(id: Double) {
|
|
173
|
+
val instance = instances[id]?.instance ?: return
|
|
174
|
+
runBlocking(Dispatchers.Main) {
|
|
175
|
+
instance.disable()
|
|
100
176
|
}
|
|
177
|
+
}
|
|
101
178
|
|
|
102
|
-
|
|
179
|
+
override fun shutdown(id: Double) {
|
|
180
|
+
val instance = instances[id]?.instance ?: return
|
|
181
|
+
runBlocking(Dispatchers.Main) {
|
|
182
|
+
instance.shutdown()
|
|
183
|
+
}
|
|
184
|
+
}
|
|
103
185
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
amplitudeEngagement
|
|
110
|
-
)
|
|
186
|
+
override fun setThemeMode(
|
|
187
|
+
id: Double,
|
|
188
|
+
themeMode: String?,
|
|
189
|
+
) {
|
|
190
|
+
val instance = instances[id]?.instance ?: return
|
|
111
191
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
override fun boot(id: Double, userId: String?, deviceId: String?, userProperties: ReadableMap?) {
|
|
118
|
-
val instance = instances[id]?.instance ?: return
|
|
119
|
-
val self = this
|
|
120
|
-
runBlocking(Dispatchers.Main) {
|
|
121
|
-
Log.d("PluginEngagementReactNativeModule", "boot: $userId, $deviceId, $userProperties")
|
|
122
|
-
val options = AmplitudeBootOptions(userId = userId, deviceId = deviceId, userProperties = userProperties?.toHashMap() ?: emptyMap(), integrations = arrayOf(
|
|
123
|
-
{ event: BaseEvent ->
|
|
124
|
-
try {
|
|
125
|
-
val serializedEvent = mapOf(
|
|
126
|
-
"event_type" to event.eventType,
|
|
127
|
-
"event_properties" to event.eventProperties
|
|
128
|
-
).toWritableMap()
|
|
129
|
-
self.emitOnTrackEvent(serializedEvent)
|
|
130
|
-
} catch (e: Exception) {
|
|
131
|
-
Log.e("PluginEngagementReactNativeModule", "Error tracking Event", e)
|
|
132
|
-
}
|
|
192
|
+
runBlocking(Dispatchers.Main) {
|
|
193
|
+
if (themeMode != null) {
|
|
194
|
+
instance.setThemeMode(ThemeMode.valueOf(themeMode))
|
|
195
|
+
}
|
|
133
196
|
}
|
|
134
|
-
))
|
|
135
|
-
instance.boot(options)
|
|
136
197
|
}
|
|
137
|
-
}
|
|
138
198
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
199
|
+
override fun reset(
|
|
200
|
+
id: Double,
|
|
201
|
+
key: String,
|
|
202
|
+
stepIndex: Double,
|
|
203
|
+
) {
|
|
204
|
+
val instance = instances[id]?.instance ?: return
|
|
205
|
+
runBlocking(Dispatchers.Main) {
|
|
206
|
+
instance.reset(key, stepIndex.toInt())
|
|
207
|
+
}
|
|
143
208
|
}
|
|
144
|
-
}
|
|
145
209
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
210
|
+
override fun list(id: Double): WritableArray {
|
|
211
|
+
val writableArray = Arguments.createArray()
|
|
212
|
+
val instance = instances[id]?.instance ?: return writableArray
|
|
213
|
+
runBlocking(Dispatchers.Main) {
|
|
214
|
+
val guidesAndSurveysList = instance.list()
|
|
215
|
+
guidesAndSurveysList.forEach { guide ->
|
|
216
|
+
Log.d("PluginEngagementReactNativeModule", "list: $guide")
|
|
217
|
+
val map = Arguments.createMap()
|
|
218
|
+
map.putInt("id", guide.id)
|
|
219
|
+
map.putString("title", guide.title)
|
|
220
|
+
map.putString("status", guide.status)
|
|
221
|
+
map.putInt("step", guide.step)
|
|
222
|
+
writableArray.pushMap(map)
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
return writableArray
|
|
156
226
|
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
override fun setThemeMode(id: Double, themeMode: String?) {
|
|
160
|
-
val instance = instances[id]?.instance ?: return
|
|
161
227
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
228
|
+
override fun show(
|
|
229
|
+
id: Double,
|
|
230
|
+
key: String,
|
|
231
|
+
stepIndex: Double,
|
|
232
|
+
) {
|
|
233
|
+
val instance = instances[id]?.instance ?: return
|
|
234
|
+
runBlocking(Dispatchers.Main) {
|
|
235
|
+
instance.show(key, stepIndex.toInt())
|
|
236
|
+
}
|
|
166
237
|
}
|
|
167
|
-
}
|
|
168
238
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
val writableArray = Arguments.createArray()
|
|
178
|
-
val instance = instances[id]?.instance ?: return writableArray
|
|
179
|
-
runBlocking(Dispatchers.Main) {
|
|
180
|
-
val guidesAndSurveysList = instance.list()
|
|
181
|
-
guidesAndSurveysList.forEach { guide ->
|
|
182
|
-
Log.d("PluginEngagementReactNativeModule", "list: $guide")
|
|
183
|
-
val map = Arguments.createMap();
|
|
184
|
-
map.putInt("id", guide.id);
|
|
185
|
-
map.putString("title", guide.title);
|
|
186
|
-
map.putString("status", guide.status);
|
|
187
|
-
map.putInt("step", guide.step);
|
|
188
|
-
writableArray.pushMap(map);
|
|
189
|
-
}
|
|
239
|
+
override fun screen(
|
|
240
|
+
id: Double,
|
|
241
|
+
screenName: String,
|
|
242
|
+
) {
|
|
243
|
+
val instance = instances[id]?.instance ?: return
|
|
244
|
+
runBlocking(Dispatchers.Main) {
|
|
245
|
+
instance.screen(screenName)
|
|
246
|
+
}
|
|
190
247
|
}
|
|
191
|
-
return writableArray
|
|
192
|
-
}
|
|
193
248
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
249
|
+
override fun closeAll(id: Double) {
|
|
250
|
+
val instance = instances[id]?.instance ?: return
|
|
251
|
+
runBlocking(Dispatchers.Main) {
|
|
252
|
+
instance.closeAll()
|
|
253
|
+
}
|
|
198
254
|
}
|
|
199
|
-
}
|
|
200
255
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
256
|
+
override fun forwardEvent(
|
|
257
|
+
id: Double,
|
|
258
|
+
event: ReadableMap,
|
|
259
|
+
) {
|
|
260
|
+
val instance = instances[id]?.instance ?: return
|
|
261
|
+
val baseEvent = BaseEvent()
|
|
262
|
+
baseEvent.eventType = event.getString("event_type") ?: return
|
|
263
|
+
baseEvent.eventId = event.getDouble("event_id").toLong()
|
|
264
|
+
baseEvent.platform = event.getString("platform")
|
|
265
|
+
baseEvent.osName = event.getString("os_name")
|
|
266
|
+
baseEvent.osVersion = event.getString("os_version")
|
|
267
|
+
baseEvent.eventProperties = event.getMap("event_properties")?.toHashMap()?.toMutableMap()
|
|
268
|
+
baseEvent.groupProperties = event.getMap("group_properties")?.toHashMap()?.toMutableMap()
|
|
269
|
+
baseEvent.groups = event.getMap("groups")?.toHashMap()?.toMutableMap()
|
|
270
|
+
baseEvent.userProperties = event.getMap("user_properties")?.toHashMap()?.toMutableMap()
|
|
271
|
+
Log.d("PluginEngagementReactNativeModule", "forwardEvent: $baseEvent")
|
|
272
|
+
runBlocking(Dispatchers.Main) {
|
|
273
|
+
instance.forwardEvent(baseEvent)
|
|
274
|
+
}
|
|
205
275
|
}
|
|
206
|
-
}
|
|
207
276
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
baseEvent.groupProperties = event.getMap("group_properties")?.toHashMap()?.toMutableMap()
|
|
225
|
-
baseEvent.groups = event.getMap("groups")?.toHashMap()?.toMutableMap()
|
|
226
|
-
baseEvent.userProperties = event.getMap("user_properties")?.toHashMap()?.toMutableMap()
|
|
227
|
-
Log.d("PluginEngagementReactNativeModule", "forwardEvent: $baseEvent")
|
|
228
|
-
runBlocking(Dispatchers.Main) {
|
|
229
|
-
instance.forwardEvent(baseEvent)
|
|
277
|
+
override fun addCallback(
|
|
278
|
+
id: Double,
|
|
279
|
+
key: String,
|
|
280
|
+
) {
|
|
281
|
+
val instance = instances[id]?.instance ?: return
|
|
282
|
+
val self = this
|
|
283
|
+
runBlocking(Dispatchers.Main) {
|
|
284
|
+
instance.addCallback(key) {
|
|
285
|
+
val serializedEvent =
|
|
286
|
+
mapOf(
|
|
287
|
+
"id" to id,
|
|
288
|
+
"key" to key,
|
|
289
|
+
).toWritableMap()
|
|
290
|
+
self.emitOnInvokeCallback(serializedEvent)
|
|
291
|
+
}
|
|
292
|
+
}
|
|
230
293
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
"key" to key
|
|
241
|
-
).toWritableMap()
|
|
242
|
-
self.emitOnInvokeCallback(serializedEvent)
|
|
243
|
-
}
|
|
294
|
+
|
|
295
|
+
override fun updateLanguage(
|
|
296
|
+
id: Double,
|
|
297
|
+
locale: String,
|
|
298
|
+
) {
|
|
299
|
+
val instance = instances[id]?.instance ?: return
|
|
300
|
+
runBlocking(Dispatchers.Main) {
|
|
301
|
+
instance.updateLanguage(locale)
|
|
302
|
+
}
|
|
244
303
|
}
|
|
245
|
-
}
|
|
246
304
|
|
|
247
|
-
|
|
248
|
-
|
|
305
|
+
override fun handleURL(
|
|
306
|
+
id: Double,
|
|
307
|
+
url: String,
|
|
308
|
+
): Boolean {
|
|
309
|
+
val instance = instances[id]?.instance ?: return false
|
|
249
310
|
|
|
250
|
-
|
|
251
|
-
|
|
311
|
+
val uri = url.toUri()
|
|
312
|
+
val intent = Intent(Intent.ACTION_VIEW, uri)
|
|
252
313
|
|
|
253
|
-
|
|
254
|
-
|
|
314
|
+
return runBlocking(Dispatchers.Main) {
|
|
315
|
+
instance.handlePreviewLinkIntent(intent)
|
|
316
|
+
}
|
|
255
317
|
}
|
|
256
|
-
}
|
|
257
318
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
}
|
|
319
|
+
companion object {
|
|
320
|
+
const val NAME = "PluginEngagementReactNative"
|
|
321
|
+
}
|
|
262
322
|
}
|
|
@@ -8,26 +8,34 @@ import com.facebook.react.module.model.ReactModuleInfoProvider
|
|
|
8
8
|
import java.util.HashMap
|
|
9
9
|
|
|
10
10
|
class PluginEngagementReactNativePackage : BaseReactPackage() {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
override fun getModule(
|
|
12
|
+
name: String,
|
|
13
|
+
reactContext: ReactApplicationContext,
|
|
14
|
+
): NativeModule? {
|
|
15
|
+
return if (name == PluginEngagementReactNativeModule.NAME) {
|
|
16
|
+
PluginEngagementReactNativeModule(reactContext)
|
|
17
|
+
} else {
|
|
18
|
+
null
|
|
19
|
+
}
|
|
16
20
|
}
|
|
17
|
-
}
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
|
|
23
|
+
return ReactModuleInfoProvider {
|
|
24
|
+
val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
|
|
25
|
+
moduleInfos[PluginEngagementReactNativeModule.NAME] =
|
|
26
|
+
ReactModuleInfo(
|
|
27
|
+
PluginEngagementReactNativeModule.NAME,
|
|
28
|
+
PluginEngagementReactNativeModule.NAME,
|
|
29
|
+
// canOverrideExistingModule
|
|
30
|
+
false,
|
|
31
|
+
// needsEagerInit
|
|
32
|
+
false,
|
|
33
|
+
// isCxxModule
|
|
34
|
+
false,
|
|
35
|
+
// isTurboModule
|
|
36
|
+
true,
|
|
37
|
+
)
|
|
38
|
+
moduleInfos
|
|
39
|
+
}
|
|
31
40
|
}
|
|
32
|
-
}
|
|
33
41
|
}
|
|
@@ -5,47 +5,46 @@ import com.facebook.react.bridge.WritableArray
|
|
|
5
5
|
import com.facebook.react.bridge.WritableMap
|
|
6
6
|
|
|
7
7
|
fun Iterable<*>.toWritableArray(): WritableArray {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
8
|
+
val iter = this.iterator()
|
|
9
|
+
|
|
10
|
+
val writableArray: WritableArray = Arguments.createArray()
|
|
11
|
+
|
|
12
|
+
while (iter.hasNext()) {
|
|
13
|
+
val value = iter.next()
|
|
14
|
+
|
|
15
|
+
when (value) {
|
|
16
|
+
null -> writableArray.pushNull()
|
|
17
|
+
is Boolean -> writableArray.pushBoolean(value)
|
|
18
|
+
is Double -> writableArray.pushDouble(value)
|
|
19
|
+
is Int -> writableArray.pushInt(value)
|
|
20
|
+
is String -> writableArray.pushString(value)
|
|
21
|
+
is Map<*, *> -> writableArray.pushMap((value as Map<String, Any?>).toWritableMap())
|
|
22
|
+
else -> throw IllegalArgumentException("Cannot convert value of type ${value.javaClass.simpleName}")
|
|
23
|
+
}
|
|
23
24
|
}
|
|
24
|
-
}
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
return writableArray
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
|
|
30
29
|
fun Map<String, *>.toWritableMap(): WritableMap {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
30
|
+
val writableMap: WritableMap = Arguments.createMap()
|
|
31
|
+
val iterator = entries.iterator()
|
|
32
|
+
|
|
33
|
+
while (iterator.hasNext()) {
|
|
34
|
+
val pair = iterator.next()
|
|
35
|
+
val value = pair.value
|
|
36
|
+
|
|
37
|
+
when {
|
|
38
|
+
value == null -> writableMap.putNull(pair.key)
|
|
39
|
+
value is Boolean -> writableMap.putBoolean(pair.key, value)
|
|
40
|
+
value is Double -> writableMap.putDouble(pair.key, value)
|
|
41
|
+
value is Int -> writableMap.putInt(pair.key, value)
|
|
42
|
+
value is String -> writableMap.putString(pair.key, value)
|
|
43
|
+
value is Map<*, *> -> writableMap.putMap(pair.key, (value as Map<String, *>).toWritableMap())
|
|
44
|
+
value is Iterable<*> -> writableMap.putArray(pair.key, value.toWritableArray())
|
|
45
|
+
else -> throw IllegalArgumentException("Cannot convert value of type ${value.javaClass.simpleName}")
|
|
46
|
+
}
|
|
47
47
|
}
|
|
48
|
-
}
|
|
49
48
|
|
|
50
|
-
|
|
49
|
+
return writableMap
|
|
51
50
|
}
|
|
@@ -56,5 +56,8 @@ export class AmplitudeEngagement {
|
|
|
56
56
|
handleURL(url) {
|
|
57
57
|
return PluginEngagementReactNative.handleURL(this.id, url);
|
|
58
58
|
}
|
|
59
|
+
updateLanguage(locale) {
|
|
60
|
+
return PluginEngagementReactNative.updateLanguage(this.id, locale);
|
|
61
|
+
}
|
|
59
62
|
}
|
|
60
63
|
//# sourceMappingURL=AmplitudeEngagement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","SDK_VERSION","isTurboModuleEnabled","global","__turboModuleProxy","PluginEngagementReactNative","require","default","AmplitudeEngagement","constructor","apiKey","options","id","newInstance","platformVersion","boot","user_id","device_id","user_properties","enable","disable","shutdown","setThemeMode","themeMode","reset","key","stepIndex","list","show","screen","screenName","closeAll","forwardEvent","event","addCallback","func","handler","onInvokeCallback","invocation","remove","handleURL","url"],"sourceRoot":"../../src","sources":["AmplitudeEngagement.ts"],"mappings":";;AACA,SAASA,aAAa,QAAQ,cAAc;AAG5C,SAASC,WAAW,QAAQ,gBAAa;AAIzC,MAAMC,oBAAoB,GAAIC,MAAM,CAASC,kBAAkB,IAAI,IAAI;AAEvE,MAAMC,2BAA4D,GAChEH,oBAAoB,GAChBI,OAAO,CAAC,qCAAqC,CAAC,CAACC,OAAO,GACtDP,aAAa,CAACK,2BAA2B;AAE/C,OAAO,MAAMG,mBAAmB,CAAC;EAG/BC,WAAWA,CAACC,MAAc,EAAEC,OAA8B,EAAE;IAC1D,IAAI,CAACC,EAAE,GAAGP,2BAA2B,CAACQ,WAAW,CAACH,MAAM,EAAE;MACxD,GAAGC,OAAO;MACVG,eAAe,EAAEb;IACnB,CAAC,CAAC;EACJ;EAEAc,IAAIA,CAACC,OAAgB,EAAEC,SAAkB,EAAEC,eAAwB,EAAQ;IACzEb,2BAA2B,CAACU,IAAI,CAC9B,IAAI,CAACH,EAAE,EACPI,OAAO,EACPC,SAAS,EACTC,eACF,CAAC;EACH;EAEAC,MAAMA,CAAA,EAAS;IACbd,2BAA2B,CAACc,MAAM,CAAC,IAAI,CAACP,EAAE,CAAC;EAC7C;EAEAQ,OAAOA,CAAA,EAAS;IACdf,2BAA2B,CAACe,OAAO,CAAC,IAAI,CAACR,EAAE,CAAC;EAC9C;EAEAS,QAAQA,CAAA,EAAS;IACfhB,2BAA2B,CAACgB,QAAQ,CAAC,IAAI,CAACT,EAAE,CAAC;EAC/C;EAEAU,YAAYA,CAACC,SAAoB,EAAQ;IACvC,OAAOlB,2BAA2B,CAACiB,YAAY,CAAC,IAAI,CAACV,EAAE,EAAEW,SAAS,CAAC;EACrE;EAEAC,KAAKA,CAACC,GAAW,EAAEC,SAAiB,EAAQ;IAC1C,OAAOrB,2BAA2B,CAACmB,KAAK,CAAC,IAAI,CAACZ,EAAE,EAAEa,GAAG,EAAEC,SAAS,CAAC;EACnE;EAEAC,IAAIA,CAAA,EAAoB;IACtB,OAAOtB,2BAA2B,CAACsB,IAAI,CAAC,IAAI,CAACf,EAAE,CAAC;EAClD;EAEAgB,IAAIA,CAACH,GAAW,EAAEC,SAAiB,EAAQ;IACzC,OAAOrB,2BAA2B,CAACuB,IAAI,CAAC,IAAI,CAAChB,EAAE,EAAEa,GAAG,EAAEC,SAAS,CAAC;EAClE;EAEAG,MAAMA,CAACC,UAAkB,EAAQ;IAC/B,OAAOzB,2BAA2B,CAACwB,MAAM,CAAC,IAAI,CAACjB,EAAE,EAAEkB,UAAU,CAAC;EAChE;EAEAC,QAAQA,CAAA,EAAS;IACf,OAAO1B,2BAA2B,CAAC0B,QAAQ,CAAC,IAAI,CAACnB,EAAE,CAAC;EACtD;EAEAoB,YAAYA,CAACC,KAAgB,EAAQ;IACnC,OAAO5B,2BAA2B,CAAC2B,YAAY,CAAC,IAAI,CAACpB,EAAE,EAAEqB,KAAK,CAAC;EACjE;EAEAC,WAAWA,CAACT,GAAW,EAAEU,IAAgB,EAAc;IACrD9B,2BAA2B,CAAC6B,WAAW,CAAC,IAAI,CAACtB,EAAE,EAAEa,GAAG,CAAC;IAErD,MAAMW,OAAO,GAAG/B,2BAA2B,CAACgC,gBAAgB,CACzDC,UAAU,IAAK;MACd,IAAIA,UAAU,CAAC1B,EAAE,KAAK,IAAI,CAACA,EAAE,IAAI0B,UAAU,CAACb,GAAG,KAAKA,GAAG,EAAE;QACvDU,IAAI,CAAC,CAAC;MACR;IACF,CACF,CAAC;IAED,OAAO,MAAMC,OAAO,CAACG,MAAM,CAAC,CAAC;EAC/B;EAEAC,SAASA,CAACC,GAAW,EAAW;IAC9B,OAAOpC,2BAA2B,CAACmC,SAAS,CAAC,IAAI,CAAC5B,EAAE,EAAE6B,GAAG,CAAC;EAC5D;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NativeModules","SDK_VERSION","isTurboModuleEnabled","global","__turboModuleProxy","PluginEngagementReactNative","require","default","AmplitudeEngagement","constructor","apiKey","options","id","newInstance","platformVersion","boot","user_id","device_id","user_properties","enable","disable","shutdown","setThemeMode","themeMode","reset","key","stepIndex","list","show","screen","screenName","closeAll","forwardEvent","event","addCallback","func","handler","onInvokeCallback","invocation","remove","handleURL","url","updateLanguage","locale"],"sourceRoot":"../../src","sources":["AmplitudeEngagement.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;AA+ClD,eAAeA,mBAAmB,CAACC,YAAY,CAC7C,6BACF,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -58,6 +58,10 @@ export async function closeAll() {
|
|
|
58
58
|
const e = await getGlobalEngagement();
|
|
59
59
|
return e.closeAll();
|
|
60
60
|
}
|
|
61
|
+
export async function updateLanguage(locale) {
|
|
62
|
+
const e = await getGlobalEngagement();
|
|
63
|
+
return e.updateLanguage(locale);
|
|
64
|
+
}
|
|
61
65
|
export async function forwardEvent(event) {
|
|
62
66
|
const e = await getGlobalEngagement();
|
|
63
67
|
return e.forwardEvent(event);
|
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","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,
|
|
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","updateLanguage","locale","forwardEvent","event","addCallback","func","removePromise","then","r","handleURL","url","plugin","getPlugin","initOptions"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,5 +16,6 @@ export declare class AmplitudeEngagement {
|
|
|
16
16
|
forwardEvent(event: BaseEvent): void;
|
|
17
17
|
addCallback(key: string, func: () => void): () => void;
|
|
18
18
|
handleURL(url: string): boolean;
|
|
19
|
+
updateLanguage(locale: string): void;
|
|
19
20
|
}
|
|
20
21
|
//# 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,oBAAoB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAY3D,qBAAa,mBAAmB;IAC9B,EAAE,EAAE,MAAM,CAAC;gBAEC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAO1D,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI;IAS1E,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;IAIf,QAAQ,IAAI,IAAI;IAIhB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI3C,IAAI,IAAI,aAAa,EAAE;IAIvB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI1C,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIhC,QAAQ,IAAI,IAAI;IAIhB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIpC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IActD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"AmplitudeEngagement.d.ts","sourceRoot":"","sources":["../../../src/AmplitudeEngagement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAY3D,qBAAa,mBAAmB;IAC9B,EAAE,EAAE,MAAM,CAAC;gBAEC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAO1D,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI;IAS1E,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;IAIf,QAAQ,IAAI,IAAI;IAIhB,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIxC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI3C,IAAI,IAAI,aAAa,EAAE;IAIvB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAI1C,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIhC,QAAQ,IAAI,IAAI;IAIhB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIpC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IActD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI/B,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGrC"}
|
|
@@ -24,6 +24,7 @@ export interface Spec extends TurboModule {
|
|
|
24
24
|
forwardEvent(id: number, event: Object): void;
|
|
25
25
|
addCallback(id: number, key: string): void;
|
|
26
26
|
handleURL(id: number, url: string): boolean;
|
|
27
|
+
updateLanguage(id: number, locale: string): void;
|
|
27
28
|
readonly onTrackEvent: EventEmitter<AnalyticsEvent>;
|
|
28
29
|
readonly onInvokeCallback: EventEmitter<CallbackInvocation>;
|
|
29
30
|
}
|
|
@@ -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,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;
|
|
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;IAC5C,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IACpD,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;CAC7D;;AAED,wBAEE"}
|
|
@@ -10,6 +10,7 @@ export declare function list(): Promise<GuideOrSurvey[]>;
|
|
|
10
10
|
export declare function show(key: string, stepIndex: number): Promise<void>;
|
|
11
11
|
export declare function screen(screenName: string): Promise<void>;
|
|
12
12
|
export declare function closeAll(): Promise<void>;
|
|
13
|
+
export declare function updateLanguage(locale: string): Promise<void>;
|
|
13
14
|
export declare function forwardEvent(event: BaseEvent): Promise<void>;
|
|
14
15
|
export declare function addCallback(key: string, func: () => void): () => void;
|
|
15
16
|
export declare function handleURL(url: string): Promise<boolean>;
|
|
@@ -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,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"}
|
|
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,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlE;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.6.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",
|
|
@@ -38,9 +38,10 @@
|
|
|
38
38
|
"e2e:android": "scripts/prepare-e2e-tests.sh && cd testproject && yarn e2e:android",
|
|
39
39
|
"e2e:android:headless": "scripts/prepare-e2e-tests.sh && cd testproject && yarn e2e:android:headless",
|
|
40
40
|
"typecheck": "tsc",
|
|
41
|
-
"lint": "eslint \"
|
|
41
|
+
"lint": "eslint \"src/**/*.{js,ts,tsx}\"",
|
|
42
|
+
"lint:fix": "eslint --fix \"src/**/*.{js,ts,tsx}\"",
|
|
42
43
|
"clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
|
|
43
|
-
"prepare": "bob build",
|
|
44
|
+
"prepare": "bob build && tsx scripts/inject-package-version.ts",
|
|
44
45
|
"release": "npm publish --tag latest --ddd"
|
|
45
46
|
},
|
|
46
47
|
"keywords": [
|
|
@@ -89,4 +89,8 @@ export class AmplitudeEngagement {
|
|
|
89
89
|
handleURL(url: string): boolean {
|
|
90
90
|
return PluginEngagementReactNative.handleURL(this.id, url);
|
|
91
91
|
}
|
|
92
|
+
|
|
93
|
+
updateLanguage(locale: string): void {
|
|
94
|
+
return PluginEngagementReactNative.updateLanguage(this.id, locale);
|
|
95
|
+
}
|
|
92
96
|
}
|
|
@@ -40,6 +40,7 @@ export interface Spec extends TurboModule {
|
|
|
40
40
|
addCallback(id: number, key: string): void;
|
|
41
41
|
|
|
42
42
|
handleURL(id: number, url: string): boolean;
|
|
43
|
+
updateLanguage(id: number, locale: string): void;
|
|
43
44
|
|
|
44
45
|
readonly onTrackEvent: EventEmitter<AnalyticsEvent>;
|
|
45
46
|
readonly onInvokeCallback: EventEmitter<CallbackInvocation>;
|
package/src/index.tsx
CHANGED
|
@@ -74,6 +74,11 @@ export async function closeAll(): Promise<void> {
|
|
|
74
74
|
return e.closeAll();
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
+
export async function updateLanguage(locale: string): Promise<void> {
|
|
78
|
+
const e = await getGlobalEngagement();
|
|
79
|
+
return e.updateLanguage(locale);
|
|
80
|
+
}
|
|
81
|
+
|
|
77
82
|
export async function forwardEvent(event: BaseEvent): Promise<void> {
|
|
78
83
|
const e = await getGlobalEngagement();
|
|
79
84
|
return e.forwardEvent(event);
|