react-native-acoustic-connect-beta 18.0.14 → 18.0.16
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/Examples/SampleUI/.detoxrc.js +83 -0
- package/Examples/SampleUI/ConnectConfig.json +2 -2
- package/Examples/SampleUI/android/app/build.gradle +3 -0
- package/Examples/SampleUI/android/app/src/main/java/com/sampleui/MainActivity.kt +0 -35
- package/Examples/SampleUI/android/settings.gradle +1 -1
- package/Examples/SampleUI/package.json +8 -6
- package/Examples/SampleUI/scripts/integration-test-android.sh +292 -0
- package/Examples/SampleUI/src/Examples/DialogExample.tsx +88 -2
- package/Examples/SampleUI/src/Examples/Dialogs/DialogTrackingTest.tsx +307 -0
- package/Examples/SampleUI/src/Examples/Dialogs/index.tsx +37 -0
- package/Examples/SampleUI/src/index.native.tsx +4 -5
- package/android/build.gradle +2 -2
- package/android/src/main/assets/ConnectAdvancedConfig.json +1 -1
- package/android/src/main/java/com/acousticconnectrn/HybridAcousticConnectRN.kt +787 -490
- package/ios/HybridAcousticConnectRN.swift +75 -0
- package/lib/commonjs/TLTRN.js +69 -0
- package/lib/commonjs/TLTRN.js.map +1 -1
- package/lib/commonjs/components/Connect.js +5 -1
- package/lib/commonjs/components/Connect.js.map +1 -1
- package/lib/commonjs/docs/DialogTracking.md +252 -0
- package/lib/commonjs/docs/NativeImplementation.md +176 -0
- package/lib/commonjs/examples/DialogTrackingExample.js +175 -0
- package/lib/commonjs/examples/DialogTrackingExample.js.map +1 -0
- package/lib/commonjs/examples/HOCDialogExample.js +296 -0
- package/lib/commonjs/examples/HOCDialogExample.js.map +1 -0
- package/lib/commonjs/index.js +28 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/DialogDebugger.js +216 -0
- package/lib/commonjs/utils/DialogDebugger.js.map +1 -0
- package/lib/commonjs/utils/DialogListener.js +203 -0
- package/lib/commonjs/utils/DialogListener.js.map +1 -0
- package/lib/commonjs/utils/useDialogTracking.js +107 -0
- package/lib/commonjs/utils/useDialogTracking.js.map +1 -0
- package/lib/commonjs/utils/withAcousticAutoDialog.js +282 -0
- package/lib/commonjs/utils/withAcousticAutoDialog.js.map +1 -0
- package/lib/module/TLTRN.js +69 -0
- package/lib/module/TLTRN.js.map +1 -1
- package/lib/module/components/Connect.js +5 -1
- package/lib/module/components/Connect.js.map +1 -1
- package/lib/module/docs/DialogTracking.md +252 -0
- package/lib/module/docs/NativeImplementation.md +176 -0
- package/lib/module/examples/DialogTrackingExample.js +172 -0
- package/lib/module/examples/DialogTrackingExample.js.map +1 -0
- package/lib/module/examples/HOCDialogExample.js +292 -0
- package/lib/module/examples/HOCDialogExample.js.map +1 -0
- package/lib/module/index.js +5 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/DialogDebugger.js +211 -0
- package/lib/module/utils/DialogDebugger.js.map +1 -0
- package/lib/module/utils/DialogListener.js +199 -0
- package/lib/module/utils/DialogListener.js.map +1 -0
- package/lib/module/utils/useDialogTracking.js +102 -0
- package/lib/module/utils/useDialogTracking.js.map +1 -0
- package/lib/module/utils/withAcousticAutoDialog.js +275 -0
- package/lib/module/utils/withAcousticAutoDialog.js.map +1 -0
- package/lib/typescript/src/TLTRN.d.ts +7 -0
- package/lib/typescript/src/TLTRN.d.ts.map +1 -1
- package/lib/typescript/src/components/Connect.d.ts +1 -0
- package/lib/typescript/src/components/Connect.d.ts.map +1 -1
- package/lib/typescript/src/examples/DialogTrackingExample.d.ts +17 -0
- package/lib/typescript/src/examples/DialogTrackingExample.d.ts.map +1 -0
- package/lib/typescript/src/examples/HOCDialogExample.d.ts +21 -0
- package/lib/typescript/src/examples/HOCDialogExample.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +5 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/react-native-acoustic-connect.nitro.d.ts +4 -0
- package/lib/typescript/src/specs/react-native-acoustic-connect.nitro.d.ts.map +1 -1
- package/lib/typescript/src/utils/DialogDebugger.d.ts +58 -0
- package/lib/typescript/src/utils/DialogDebugger.d.ts.map +1 -0
- package/lib/typescript/src/utils/DialogListener.d.ts +85 -0
- package/lib/typescript/src/utils/DialogListener.d.ts.map +1 -0
- package/lib/typescript/src/utils/useDialogTracking.d.ts +25 -0
- package/lib/typescript/src/utils/useDialogTracking.d.ts.map +1 -0
- package/lib/typescript/src/utils/withAcousticAutoDialog.d.ts +37 -0
- package/lib/typescript/src/utils/withAcousticAutoDialog.d.ts.map +1 -0
- package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.cpp +26 -0
- package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.hpp +4 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/acousticconnectrn/HybridAcousticConnectRNSpec.kt +16 -0
- package/nitrogen/generated/ios/c++/HybridAcousticConnectRNSpecSwift.hpp +32 -0
- package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec.swift +4 -0
- package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec_cxx.swift +71 -0
- package/nitrogen/generated/shared/c++/HybridAcousticConnectRNSpec.cpp +4 -0
- package/nitrogen/generated/shared/c++/HybridAcousticConnectRNSpec.hpp +4 -0
- package/package.json +1 -1
- package/scripts/ConnectConfig.json +1 -1
- package/src/TLTRN.ts +75 -0
- package/src/components/Connect.tsx +6 -1
- package/src/docs/DialogTracking.md +252 -0
- package/src/docs/NativeImplementation.md +176 -0
- package/src/examples/DialogTrackingExample.tsx +163 -0
- package/src/examples/HOCDialogExample.tsx +253 -0
- package/src/index.ts +5 -1
- package/src/specs/react-native-acoustic-connect.nitro.ts +5 -0
- package/src/utils/DialogDebugger.ts +224 -0
- package/src/utils/DialogListener.ts +238 -0
- package/src/utils/useDialogTracking.ts +102 -0
- package/src/utils/withAcousticAutoDialog.tsx +312 -0
|
@@ -324,6 +324,81 @@ class HybridAcousticConnectRN: HybridAcousticConnectRNSpec {
|
|
|
324
324
|
return result
|
|
325
325
|
}
|
|
326
326
|
|
|
327
|
+
/// Logs a dialog show event with the specified dialog information.
|
|
328
|
+
/// - Parameters:
|
|
329
|
+
/// - dialogId: Unique identifier for the dialog.
|
|
330
|
+
/// - dialogTitle: The title of the dialog.
|
|
331
|
+
/// - dialogType: The type of dialog (alert, custom, modal).
|
|
332
|
+
/// - Returns: Boolean value will return whether it was able to log the dialog show event.
|
|
333
|
+
func logDialogShowEvent(dialogId: String, dialogTitle: String, dialogType: String) throws -> Bool {
|
|
334
|
+
let values: [String: Any] = [
|
|
335
|
+
"dialogId": dialogId,
|
|
336
|
+
"dialogTitle": dialogTitle,
|
|
337
|
+
"dialogType": dialogType,
|
|
338
|
+
"eventType": "dialog_show",
|
|
339
|
+
"timestamp": String(Int(Date().timeIntervalSince1970 * 1000))
|
|
340
|
+
]
|
|
341
|
+
|
|
342
|
+
return true
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/// Logs a dialog dismiss event with the specified dialog information.
|
|
346
|
+
/// - Parameters:
|
|
347
|
+
/// - dialogId: Unique identifier for the dialog.
|
|
348
|
+
/// - dismissReason: The reason for dismissing the dialog.
|
|
349
|
+
/// - Returns: Boolean value will return whether it was able to log the dialog dismiss event.
|
|
350
|
+
func logDialogDismissEvent(dialogId: String, dismissReason: String) throws -> Bool {
|
|
351
|
+
let values: [String: Any] = [
|
|
352
|
+
"dialogId": dialogId,
|
|
353
|
+
"dismissReason": dismissReason,
|
|
354
|
+
"eventType": "dialog_dismiss",
|
|
355
|
+
"timestamp": String(Int(Date().timeIntervalSince1970 * 1000))
|
|
356
|
+
]
|
|
357
|
+
|
|
358
|
+
return true
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
/// Logs a dialog button click event with the specified button information.
|
|
362
|
+
/// - Parameters:
|
|
363
|
+
/// - dialogId: Unique identifier for the dialog.
|
|
364
|
+
/// - buttonText: The text of the clicked button.
|
|
365
|
+
/// - buttonIndex: The index of the clicked button.
|
|
366
|
+
/// - Returns: Boolean value will return whether it was able to log the dialog button click event.
|
|
367
|
+
func logDialogButtonClickEvent(dialogId: String, buttonText: String, buttonIndex: Double) throws -> Bool {
|
|
368
|
+
let values: [String: Any] = [
|
|
369
|
+
"dialogId": dialogId,
|
|
370
|
+
"buttonText": buttonText,
|
|
371
|
+
"buttonIndex": String(Int(buttonIndex)),
|
|
372
|
+
"eventType": "dialog_button_click",
|
|
373
|
+
"timestamp": String(Int(Date().timeIntervalSince1970 * 1000))
|
|
374
|
+
]
|
|
375
|
+
|
|
376
|
+
return true
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
/// Logs a custom dialog event with the specified event information.
|
|
380
|
+
/// - Parameters:
|
|
381
|
+
/// - dialogId: Unique identifier for the dialog.
|
|
382
|
+
/// - eventName: The name of the custom event.
|
|
383
|
+
/// - values: A map of values associated with the event.
|
|
384
|
+
/// - Returns: Boolean value will return whether it was able to log the dialog custom event.
|
|
385
|
+
func logDialogCustomEvent(dialogId: String, eventName: String, values: Dictionary<String, Variant_String_Double_Bool>) throws -> Bool {
|
|
386
|
+
var eventValues: [String: Any] = [
|
|
387
|
+
"dialogId": dialogId,
|
|
388
|
+
"customEventName": eventName,
|
|
389
|
+
"eventType": "dialog_custom_event",
|
|
390
|
+
"timestamp": String(Int(Date().timeIntervalSince1970 * 1000))
|
|
391
|
+
]
|
|
392
|
+
|
|
393
|
+
// Add the custom values
|
|
394
|
+
let convertedValues = convertToAnyDictionary(input: values)
|
|
395
|
+
for (key, value) in convertedValues {
|
|
396
|
+
eventValues[key] = value
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
return true
|
|
400
|
+
}
|
|
401
|
+
|
|
327
402
|
func testModuleName(moduleName: String) throws -> String {
|
|
328
403
|
if (moduleName.caseInsensitiveCompare("Connect") == .orderedSame) {
|
|
329
404
|
return "TLFCoreModule"
|
package/lib/commonjs/TLTRN.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _MessageQueue = _interopRequireDefault(require("react-native/Libraries/BatchedBridge/MessageQueue.js"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _KeyboardListener = _interopRequireDefault(require("./utils/KeyboardListener"));
|
|
10
|
+
var _DialogListener = _interopRequireDefault(require("./utils/DialogListener"));
|
|
10
11
|
var _index = _interopRequireDefault(require("./index"));
|
|
11
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
13
|
/********************************************************************************************
|
|
@@ -140,6 +141,74 @@ class TLTRN {
|
|
|
140
141
|
}
|
|
141
142
|
return result;
|
|
142
143
|
};
|
|
144
|
+
|
|
145
|
+
// New dialog event logging methods
|
|
146
|
+
static logDialogShowEvent = async (dialogId, dialogTitle, dialogType) => {
|
|
147
|
+
let result = false;
|
|
148
|
+
try {
|
|
149
|
+
result = _index.default.logDialogShowEvent(dialogId, dialogTitle, dialogType);
|
|
150
|
+
} catch (error) {
|
|
151
|
+
console.log('LogDialogShowEvent error: ', error.message);
|
|
152
|
+
}
|
|
153
|
+
return result;
|
|
154
|
+
};
|
|
155
|
+
static logDialogDismissEvent = async (dialogId, dismissReason) => {
|
|
156
|
+
let result = false;
|
|
157
|
+
try {
|
|
158
|
+
result = _index.default.logDialogDismissEvent(dialogId, dismissReason);
|
|
159
|
+
} catch (error) {
|
|
160
|
+
console.log('LogDialogDismissEvent error: ', error.message);
|
|
161
|
+
}
|
|
162
|
+
return result;
|
|
163
|
+
};
|
|
164
|
+
static logDialogButtonClickEvent = async (dialogId, buttonText, buttonIndex) => {
|
|
165
|
+
let result = false;
|
|
166
|
+
try {
|
|
167
|
+
result = _index.default.logDialogButtonClickEvent(dialogId, buttonText, buttonIndex);
|
|
168
|
+
} catch (error) {
|
|
169
|
+
console.log('LogDialogButtonClickEvent error: ', error.message);
|
|
170
|
+
}
|
|
171
|
+
return result;
|
|
172
|
+
};
|
|
173
|
+
static logDialogCustomEvent = async (dialogId, eventName, values) => {
|
|
174
|
+
let result = false;
|
|
175
|
+
try {
|
|
176
|
+
result = _index.default.logDialogCustomEvent(dialogId, eventName, values);
|
|
177
|
+
} catch (error) {
|
|
178
|
+
console.log('LogDialogCustomEvent error: ', error.message);
|
|
179
|
+
}
|
|
180
|
+
return result;
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
// Dialog event interceptor methods
|
|
184
|
+
static eventListenerRegistered = false;
|
|
185
|
+
static eventListenerUnsubscribe = null;
|
|
186
|
+
static interceptDialogEvents = enable => {
|
|
187
|
+
const dialogListener = _DialogListener.default.getInstance();
|
|
188
|
+
if (enable && !TLTRN.eventListenerRegistered) {
|
|
189
|
+
dialogListener.startIntercepting();
|
|
190
|
+
TLTRN.eventListenerUnsubscribe = dialogListener.addEventListener(event => {
|
|
191
|
+
if ('buttonText' in event) {
|
|
192
|
+
// This is a button click event
|
|
193
|
+
TLTRN.logDialogButtonClickEvent(event.dialogId, event.buttonText, event.buttonIndex);
|
|
194
|
+
} else if ('dismissReason' in event) {
|
|
195
|
+
// This is a dialog dismiss event
|
|
196
|
+
TLTRN.logDialogDismissEvent(event.dialogId, event.dismissReason);
|
|
197
|
+
} else {
|
|
198
|
+
// This is a dialog show event
|
|
199
|
+
TLTRN.logDialogShowEvent(event.dialogId, event.dialogTitle, event.dialogType);
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
TLTRN.eventListenerRegistered = true;
|
|
203
|
+
} else if (!enable && TLTRN.eventListenerRegistered) {
|
|
204
|
+
dialogListener.stopIntercepting();
|
|
205
|
+
if (TLTRN.eventListenerUnsubscribe) {
|
|
206
|
+
TLTRN.eventListenerUnsubscribe();
|
|
207
|
+
TLTRN.eventListenerUnsubscribe = null;
|
|
208
|
+
}
|
|
209
|
+
TLTRN.eventListenerRegistered = false;
|
|
210
|
+
}
|
|
211
|
+
};
|
|
143
212
|
static listenToBridge = message => {
|
|
144
213
|
if (TLTRN.displayDebug) {
|
|
145
214
|
console.log("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&:isLoggingData:" + TLTRN.isLoggingData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_MessageQueue","_interopRequireDefault","require","_reactNative","_KeyboardListener","_index","e","__esModule","default","global","ErrorUtils","setGlobalHandler","_isFatal","AcousticConnectRN","logExceptionEvent","JSON","stringify","TLTRN","currentScreen","lastJSBridgeMessageTime","totalRenderTime","messageRenderTime","countMsgs","messageConsole","lastMessageConsole","isLoggingData","displayDebug","myTimer","handle","started","time","startTimer","setInterval","checkTime","stopTimer","clearInterval","init","initialCurrentScreen","showDebugConsoleMessages","undefined","currentScreenMsg","MessageQueue","spy","listenToBridge","interceptKeyboardEvents","enable","keyListener","logScreenViewPageName","name","result","setCurrentScreenName","error","console","log","message","logScreenViewContextLoad","prevName","logScreenLayout","logClickEvent","event","target","_nativeTag","events","_dispatchInstances","filter","node","memoizedProps","id","length","controlId","_targetInst","ariaLabel","accessible","accessibilityLabel","Platform","OS","logTextChangeEvent","text","_ariaLabel","logCustomEvent","eventName","values","level","now","Date","getTime","from","type","data","module","method","args","logTeal","res","dict","ReactLayoutTime","KeyboardListener","_instance","_default","exports"],"sourceRoot":"../../src","sources":["TLTRN.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_MessageQueue","_interopRequireDefault","require","_reactNative","_KeyboardListener","_DialogListener","_index","e","__esModule","default","global","ErrorUtils","setGlobalHandler","_isFatal","AcousticConnectRN","logExceptionEvent","JSON","stringify","TLTRN","currentScreen","lastJSBridgeMessageTime","totalRenderTime","messageRenderTime","countMsgs","messageConsole","lastMessageConsole","isLoggingData","displayDebug","myTimer","handle","started","time","startTimer","setInterval","checkTime","stopTimer","clearInterval","init","initialCurrentScreen","showDebugConsoleMessages","undefined","currentScreenMsg","MessageQueue","spy","listenToBridge","interceptKeyboardEvents","enable","keyListener","logScreenViewPageName","name","result","setCurrentScreenName","error","console","log","message","logScreenViewContextLoad","prevName","logScreenLayout","logClickEvent","event","target","_nativeTag","events","_dispatchInstances","filter","node","memoizedProps","id","length","controlId","_targetInst","ariaLabel","accessible","accessibilityLabel","Platform","OS","logTextChangeEvent","text","_ariaLabel","logCustomEvent","eventName","values","level","logDialogShowEvent","dialogId","dialogTitle","dialogType","logDialogDismissEvent","dismissReason","logDialogButtonClickEvent","buttonText","buttonIndex","logDialogCustomEvent","eventListenerRegistered","eventListenerUnsubscribe","interceptDialogEvents","dialogListener","DialogListener","getInstance","startIntercepting","addEventListener","stopIntercepting","now","Date","getTime","from","type","data","module","method","args","logTeal","res","dict","ReactLayoutTime","KeyboardListener","_instance","_default","exports"],"sourceRoot":"../../src","sources":["TLTRN.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,7 +24,8 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
24
24
|
|
|
25
25
|
const Connect = ({
|
|
26
26
|
children,
|
|
27
|
-
captureKeyboardEvents
|
|
27
|
+
captureKeyboardEvents,
|
|
28
|
+
captureDialogEvents = false
|
|
28
29
|
}) => {
|
|
29
30
|
const navigation = children.ref; // Type assertion for children with ref
|
|
30
31
|
const currentRoute = (0, _react.useRef)(undefined);
|
|
@@ -32,6 +33,9 @@ const Connect = ({
|
|
|
32
33
|
(0, _react.useEffect)(() => {
|
|
33
34
|
_TLTRN.default.interceptKeyboardEvents(captureKeyboardEvents);
|
|
34
35
|
}, [captureKeyboardEvents]);
|
|
36
|
+
(0, _react.useEffect)(() => {
|
|
37
|
+
_TLTRN.default.interceptDialogEvents(captureDialogEvents);
|
|
38
|
+
}, [captureDialogEvents]);
|
|
35
39
|
(0, _react.useEffect)(() => {
|
|
36
40
|
if (!navigation || typeof navigation.current.addListener !== "function" || typeof navigation.current.getCurrentRoute !== "function") {
|
|
37
41
|
console.warn("Connect: The Connect component's first child must be a NavigationContainer with a ref.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_TLTRN","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Connect","children","captureKeyboardEvents","navigation","ref","currentRoute","useRef","undefined","initial","useEffect","TLTRN","interceptKeyboardEvents","current","addListener","getCurrentRoute","console","warn","unsubscribeState","extractName","name","log","Platform","OS","logScreenViewPageName","logScreenLayout","onStartShouldSetResponderCapture","useCallback","event","logClickEvent","onLayout","nativeEvent","jsx","View","style","styles","connect_main","routeParams","params","_default","exports","StyleSheet","create","flex"],"sourceRoot":"../../../src","sources":["components/Connect.tsx"],"mappings":";;;;;;AASA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA6B,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAM,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAZ7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGuD;;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_TLTRN","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Connect","children","captureKeyboardEvents","captureDialogEvents","navigation","ref","currentRoute","useRef","undefined","initial","useEffect","TLTRN","interceptKeyboardEvents","interceptDialogEvents","current","addListener","getCurrentRoute","console","warn","unsubscribeState","extractName","name","log","Platform","OS","logScreenViewPageName","logScreenLayout","onStartShouldSetResponderCapture","useCallback","event","logClickEvent","onLayout","nativeEvent","jsx","View","style","styles","connect_main","routeParams","params","_default","exports","StyleSheet","create","flex"],"sourceRoot":"../../../src","sources":["components/Connect.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# Dialog Event Tracking
|
|
2
|
+
|
|
3
|
+
This document describes the dialog event tracking functionality added to the Acoustic Connect React Native SDK.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The dialog tracking system provides automatic and manual tracking of dialog popup events and user interactions. It supports:
|
|
8
|
+
|
|
9
|
+
- **Automatic tracking** of React Native's `Alert.alert()` calls
|
|
10
|
+
- **Manual tracking** of custom dialog components
|
|
11
|
+
- **Button click tracking** for both automatic and custom dialogs
|
|
12
|
+
- **Event logging** to the Acoustic Connect backend
|
|
13
|
+
|
|
14
|
+
## Features
|
|
15
|
+
|
|
16
|
+
### 1. Automatic Alert.alert Interception
|
|
17
|
+
|
|
18
|
+
The system automatically intercepts and tracks all `Alert.alert()` calls without requiring any code changes:
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
// This will be automatically tracked
|
|
22
|
+
Alert.alert(
|
|
23
|
+
'Confirmation',
|
|
24
|
+
'Are you sure?',
|
|
25
|
+
[
|
|
26
|
+
{ text: 'Cancel', style: 'cancel' },
|
|
27
|
+
{ text: 'OK', onPress: () => console.log('OK pressed') }
|
|
28
|
+
]
|
|
29
|
+
);
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 2. Manual Custom Dialog Tracking
|
|
33
|
+
|
|
34
|
+
For custom dialog components, you can manually track events:
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
import { useDialogTracking } from 'react-native-acoustic-connect-beta';
|
|
38
|
+
|
|
39
|
+
const MyComponent = () => {
|
|
40
|
+
const { generateDialogId, trackDialogShow, trackDialogDismiss } = useDialogTracking();
|
|
41
|
+
|
|
42
|
+
const showDialog = () => {
|
|
43
|
+
const dialogId = generateDialogId();
|
|
44
|
+
trackDialogShow(dialogId, 'My Custom Dialog', [
|
|
45
|
+
{ text: 'Cancel', style: 'cancel' },
|
|
46
|
+
{ text: 'OK' }
|
|
47
|
+
]);
|
|
48
|
+
// Show your custom dialog
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const hideDialog = () => {
|
|
52
|
+
const dialogId = generateDialogId(); // Store this in your component state
|
|
53
|
+
trackDialogDismiss(dialogId, 'user_dismiss');
|
|
54
|
+
// Hide your custom dialog
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 3. Button Click Tracking
|
|
60
|
+
|
|
61
|
+
Track button clicks in custom dialogs:
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
const { createTrackedButton } = useDialogTracking();
|
|
65
|
+
|
|
66
|
+
const showDialogWithTrackedButtons = () => {
|
|
67
|
+
const dialogId = generateDialogId();
|
|
68
|
+
const originalButtons = [
|
|
69
|
+
{ text: 'No', style: 'cancel' },
|
|
70
|
+
{ text: 'Yes', onPress: () => console.log('Yes pressed') }
|
|
71
|
+
];
|
|
72
|
+
|
|
73
|
+
// Create tracked buttons
|
|
74
|
+
const trackedButtons = originalButtons.map((button, index) =>
|
|
75
|
+
createTrackedButton(dialogId, button, index)
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
trackDialogShow(dialogId, 'Confirmation', trackedButtons);
|
|
79
|
+
};
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 4. HOC-Based Automatic Tracking
|
|
83
|
+
|
|
84
|
+
For the easiest integration, use the HOC (Higher-Order Component) approach:
|
|
85
|
+
|
|
86
|
+
```typescript
|
|
87
|
+
import { withAcousticAutoDialog } from 'react-native-acoustic-connect-beta';
|
|
88
|
+
import { Dialog } from 'react-native-paper';
|
|
89
|
+
|
|
90
|
+
// Create tracked version of your dialog component
|
|
91
|
+
const TrackedDialog = withAcousticAutoDialog(Dialog);
|
|
92
|
+
|
|
93
|
+
// Use normally - all events automatically tracked!
|
|
94
|
+
<TrackedDialog
|
|
95
|
+
visible={dialogVisible}
|
|
96
|
+
onDismiss={hideDialog}
|
|
97
|
+
title="My Dialog"
|
|
98
|
+
>
|
|
99
|
+
<Dialog.Content>
|
|
100
|
+
<Text>Dialog content</Text>
|
|
101
|
+
</Dialog.Content>
|
|
102
|
+
<Dialog.Actions>
|
|
103
|
+
<Button onPress={hideDialog}>Cancel</Button>
|
|
104
|
+
<Button onPress={confirmAction}>Confirm</Button>
|
|
105
|
+
</Dialog.Actions>
|
|
106
|
+
</TrackedDialog>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
The HOC automatically tracks:
|
|
110
|
+
- Dialog show events
|
|
111
|
+
- Dialog dismiss events
|
|
112
|
+
- Button click events within the dialog
|
|
113
|
+
- Recursively scans dialog children for buttons
|
|
114
|
+
|
|
115
|
+
## Setup
|
|
116
|
+
|
|
117
|
+
### 1. Enable Dialog Tracking in Connect Component
|
|
118
|
+
|
|
119
|
+
```typescript
|
|
120
|
+
import { Connect } from 'react-native-acoustic-connect-beta';
|
|
121
|
+
|
|
122
|
+
<Connect
|
|
123
|
+
captureKeyboardEvents={true}
|
|
124
|
+
captureDialogEvents={true} // Enable dialog tracking
|
|
125
|
+
>
|
|
126
|
+
<NavigationContainer ref={navigationRef}>
|
|
127
|
+
{/* Your app content */}
|
|
128
|
+
</NavigationContainer>
|
|
129
|
+
</Connect>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### 2. Use the useDialogTracking Hook
|
|
133
|
+
|
|
134
|
+
```typescript
|
|
135
|
+
import { useDialogTracking } from 'react-native-acoustic-connect-beta';
|
|
136
|
+
|
|
137
|
+
const MyComponent = () => {
|
|
138
|
+
const dialogTracking = useDialogTracking();
|
|
139
|
+
|
|
140
|
+
// Use dialogTracking methods...
|
|
141
|
+
};
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## API Reference
|
|
145
|
+
|
|
146
|
+
### Connect Component Props
|
|
147
|
+
|
|
148
|
+
| Prop | Type | Default | Description |
|
|
149
|
+
|------|------|---------|-------------|
|
|
150
|
+
| `captureDialogEvents` | `boolean` | `false` | Enable automatic dialog event tracking |
|
|
151
|
+
|
|
152
|
+
### useDialogTracking Hook
|
|
153
|
+
|
|
154
|
+
Returns an object with the following methods:
|
|
155
|
+
|
|
156
|
+
#### `generateDialogId(): string`
|
|
157
|
+
Generates a unique dialog identifier.
|
|
158
|
+
|
|
159
|
+
#### `trackDialogShow(dialogId: string, title: string, buttons?: AlertButton[]): void`
|
|
160
|
+
Tracks a dialog show event.
|
|
161
|
+
|
|
162
|
+
#### `trackDialogDismiss(dialogId: string, reason: string): void`
|
|
163
|
+
Tracks a dialog dismiss event.
|
|
164
|
+
|
|
165
|
+
#### `trackDialogButtonClick(dialogId: string, buttonText: string, buttonIndex: number): void`
|
|
166
|
+
Tracks a dialog button click event.
|
|
167
|
+
|
|
168
|
+
#### `trackDialogCustomEvent(dialogId: string, eventName: string, values: Record<string, string \| number \| boolean>): void`
|
|
169
|
+
Tracks a custom dialog event.
|
|
170
|
+
|
|
171
|
+
#### `createTrackedButton(dialogId: string, button: AlertButton, buttonIndex: number): AlertButton`
|
|
172
|
+
Creates a button with automatic click tracking.
|
|
173
|
+
|
|
174
|
+
#### `cleanup(): void`
|
|
175
|
+
Cleans up dialog tracking state.
|
|
176
|
+
|
|
177
|
+
### DialogListener Class
|
|
178
|
+
|
|
179
|
+
For advanced usage, you can directly use the DialogListener class:
|
|
180
|
+
|
|
181
|
+
```typescript
|
|
182
|
+
import { DialogListener } from 'react-native-acoustic-connect-beta';
|
|
183
|
+
|
|
184
|
+
const dialogListener = DialogListener.getInstance();
|
|
185
|
+
dialogListener.startIntercepting();
|
|
186
|
+
dialogListener.addEventListener((event) => {
|
|
187
|
+
console.log('Dialog event:', event);
|
|
188
|
+
});
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Event Types
|
|
192
|
+
|
|
193
|
+
### DialogEvent
|
|
194
|
+
```typescript
|
|
195
|
+
interface DialogEvent {
|
|
196
|
+
dialogId: string;
|
|
197
|
+
dialogTitle: string;
|
|
198
|
+
dialogType: 'alert' | 'custom' | 'modal';
|
|
199
|
+
timestamp: number;
|
|
200
|
+
buttons?: AlertButton[];
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### DialogButtonClickEvent
|
|
205
|
+
```typescript
|
|
206
|
+
interface DialogButtonClickEvent {
|
|
207
|
+
dialogId: string;
|
|
208
|
+
buttonText: string;
|
|
209
|
+
buttonIndex: number;
|
|
210
|
+
timestamp: number;
|
|
211
|
+
}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
## Native Interface Methods
|
|
215
|
+
|
|
216
|
+
The following methods are added to the AcousticConnectRN interface:
|
|
217
|
+
|
|
218
|
+
- `logDialogShowEvent(dialogId: string, dialogTitle: string, dialogType: string): boolean`
|
|
219
|
+
- `logDialogDismissEvent(dialogId: string, dismissReason: string): boolean`
|
|
220
|
+
- `logDialogButtonClickEvent(dialogId: string, buttonText: string, buttonIndex: number): boolean`
|
|
221
|
+
- `logDialogCustomEvent(dialogId: string, eventName: string, values: Record<string, string \| number \| boolean>): boolean`
|
|
222
|
+
|
|
223
|
+
## Best Practices
|
|
224
|
+
|
|
225
|
+
1. **Store Dialog IDs**: When manually tracking custom dialogs, store the dialog ID in your component state to properly track dismiss events.
|
|
226
|
+
|
|
227
|
+
2. **Use Consistent Naming**: Use descriptive dialog titles and button text for better analytics.
|
|
228
|
+
|
|
229
|
+
3. **Handle Errors**: Wrap dialog tracking calls in try-catch blocks to prevent app crashes.
|
|
230
|
+
|
|
231
|
+
4. **Clean Up**: Call the cleanup method when components unmount to prevent memory leaks.
|
|
232
|
+
|
|
233
|
+
## Example Implementation
|
|
234
|
+
|
|
235
|
+
See `src/examples/DialogTrackingExample.tsx` for a complete example showing all features.
|
|
236
|
+
|
|
237
|
+
## Troubleshooting
|
|
238
|
+
|
|
239
|
+
### Dialog events not being tracked
|
|
240
|
+
1. Ensure `captureDialogEvents={true}` is set on the Connect component
|
|
241
|
+
2. Check that the DialogListener is properly initialized
|
|
242
|
+
3. Verify that the native AcousticConnectRN interface is available
|
|
243
|
+
|
|
244
|
+
### Custom dialog tracking not working
|
|
245
|
+
1. Make sure you're calling `trackDialogShow` before showing the dialog
|
|
246
|
+
2. Store the dialog ID and use it consistently for dismiss events
|
|
247
|
+
3. Use `createTrackedButton` for automatic button click tracking
|
|
248
|
+
|
|
249
|
+
### Performance considerations
|
|
250
|
+
- Dialog tracking is lightweight and shouldn't impact app performance
|
|
251
|
+
- The system uses efficient event delegation and cleanup
|
|
252
|
+
- Dialog IDs are generated using a simple algorithm to avoid external dependencies
|