@digia-engage/core 1.1.0 → 2.0.0-rc.1
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/README.md +147 -177
- package/android/build.gradle +2 -2
- package/android/src/main/java/com/digia/engage/rn/DigiaModule.kt +52 -8
- package/android/src/main/java/com/digia/engage/rn/DigiaSlotViewManager.kt +6 -2
- package/android/src/main/java/com/digia/engage/rn/DigiaViewManager.kt +1 -0
- package/ios/DigiaEngageModule.m +7 -1
- package/ios/DigiaHostViewManager.swift +20 -20
- package/ios/DigiaModule.swift +8 -4
- package/lib/commonjs/Digia.js +301 -3
- package/lib/commonjs/Digia.js.map +1 -1
- package/lib/commonjs/DigiaGuideController.js +59 -0
- package/lib/commonjs/DigiaGuideController.js.map +1 -0
- package/lib/commonjs/DigiaHealthReporter.js +45 -0
- package/lib/commonjs/DigiaHealthReporter.js.map +1 -0
- package/lib/commonjs/DigiaProvider.js +1079 -0
- package/lib/commonjs/DigiaProvider.js.map +1 -0
- package/lib/commonjs/DigiaSlotView.js +18 -3
- package/lib/commonjs/DigiaSlotView.js.map +1 -1
- package/lib/commonjs/NativeDigiaEngage.js +14 -8
- package/lib/commonjs/NativeDigiaEngage.js.map +1 -1
- package/lib/commonjs/actionHandler.js +316 -0
- package/lib/commonjs/actionHandler.js.map +1 -0
- package/lib/commonjs/defaultInAppBrowser.js +31 -0
- package/lib/commonjs/defaultInAppBrowser.js.map +1 -0
- package/lib/commonjs/digiaAnchorRegistry.js +32 -0
- package/lib/commonjs/digiaAnchorRegistry.js.map +1 -0
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/templateTypes.js +2 -0
- package/lib/commonjs/templateTypes.js.map +1 -0
- package/lib/module/Digia.js +301 -3
- package/lib/module/Digia.js.map +1 -1
- package/lib/module/DigiaGuideController.js +53 -0
- package/lib/module/DigiaGuideController.js.map +1 -0
- package/lib/module/DigiaHealthReporter.js +38 -0
- package/lib/module/DigiaHealthReporter.js.map +1 -0
- package/lib/module/DigiaProvider.js +1072 -0
- package/lib/module/DigiaProvider.js.map +1 -0
- package/lib/module/DigiaSlotView.js +20 -5
- package/lib/module/DigiaSlotView.js.map +1 -1
- package/lib/module/NativeDigiaEngage.js +14 -8
- package/lib/module/NativeDigiaEngage.js.map +1 -1
- package/lib/module/actionHandler.js +311 -0
- package/lib/module/actionHandler.js.map +1 -0
- package/lib/module/defaultInAppBrowser.js +25 -0
- package/lib/module/defaultInAppBrowser.js.map +1 -0
- package/lib/module/digiaAnchorRegistry.js +26 -0
- package/lib/module/digiaAnchorRegistry.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/templateTypes.js +2 -0
- package/lib/module/templateTypes.js.map +1 -0
- package/lib/typescript/Digia.d.ts +29 -2
- package/lib/typescript/Digia.d.ts.map +1 -1
- package/lib/typescript/DigiaGuideController.d.ts +30 -0
- package/lib/typescript/DigiaGuideController.d.ts.map +1 -0
- package/lib/typescript/DigiaHealthReporter.d.ts +24 -0
- package/lib/typescript/DigiaHealthReporter.d.ts.map +1 -0
- package/lib/typescript/DigiaProvider.d.ts +3 -0
- package/lib/typescript/DigiaProvider.d.ts.map +1 -0
- package/lib/typescript/DigiaSlotView.d.ts.map +1 -1
- package/lib/typescript/NativeDigiaEngage.d.ts +10 -6
- package/lib/typescript/NativeDigiaEngage.d.ts.map +1 -1
- package/lib/typescript/actionHandler.d.ts +20 -0
- package/lib/typescript/actionHandler.d.ts.map +1 -0
- package/lib/typescript/defaultInAppBrowser.d.ts +3 -0
- package/lib/typescript/defaultInAppBrowser.d.ts.map +1 -0
- package/lib/typescript/digiaAnchorRegistry.d.ts +15 -0
- package/lib/typescript/digiaAnchorRegistry.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/templateTypes.d.ts +140 -0
- package/lib/typescript/templateTypes.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +140 -3
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +12 -3
- package/react-native.config.js +23 -0
- package/src/Digia.ts +340 -3
- package/src/DigiaGuideController.ts +61 -0
- package/src/DigiaHealthReporter.ts +43 -0
- package/src/DigiaProvider.tsx +776 -0
- package/src/DigiaSlotView.tsx +26 -6
- package/src/NativeDigiaEngage.ts +28 -13
- package/src/actionHandler.ts +311 -0
- package/src/defaultInAppBrowser.ts +31 -0
- package/src/digiaAnchorRegistry.ts +27 -0
- package/src/index.ts +1 -0
- package/src/templateTypes.ts +121 -0
- package/src/types.ts +102 -5
package/ios/DigiaModule.swift
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* React Native NativeModule that bridges the Digia Engage iOS SDK.
|
|
5
5
|
*
|
|
6
6
|
* Exposed methods (callable from JS via NativeModules.DigiaEngageModule):
|
|
7
|
-
* initialize(
|
|
7
|
+
* initialize(projectId, environment, logLevel): Promise<void>
|
|
8
8
|
* registerBridge(): void
|
|
9
9
|
* setCurrentScreen(name): void
|
|
10
10
|
* triggerCampaign(id, content, cepContext): void
|
|
@@ -61,9 +61,11 @@ final class DigiaModule: RCTEventEmitter {
|
|
|
61
61
|
|
|
62
62
|
@objc
|
|
63
63
|
func initialize(
|
|
64
|
-
_
|
|
64
|
+
_ projectId: String,
|
|
65
65
|
environment: String,
|
|
66
66
|
logLevel: String,
|
|
67
|
+
baseUrl: String?,
|
|
68
|
+
fontFamily: String?,
|
|
67
69
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
68
70
|
reject: @escaping RCTPromiseRejectBlock
|
|
69
71
|
) {
|
|
@@ -76,9 +78,11 @@ final class DigiaModule: RCTEventEmitter {
|
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
let config = DigiaConfig(
|
|
79
|
-
apiKey:
|
|
81
|
+
apiKey: projectId,
|
|
80
82
|
logLevel: logLevelValue,
|
|
81
|
-
environment: envValue
|
|
83
|
+
environment: envValue,
|
|
84
|
+
developerConfig: baseUrl.flatMap { $0.isEmpty ? nil : DigiaDeveloperConfig(baseURL: $0) },
|
|
85
|
+
fontFamily: fontFamily.flatMap { $0.isEmpty ? nil : $0 }
|
|
82
86
|
)
|
|
83
87
|
|
|
84
88
|
Task { @MainActor in
|
package/lib/commonjs/Digia.js
CHANGED
|
@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.Digia = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _NativeDigiaEngage = require("./NativeDigiaEngage");
|
|
9
|
+
var _DigiaHealthReporter = require("./DigiaHealthReporter");
|
|
10
|
+
var _DigiaGuideController = require("./DigiaGuideController");
|
|
11
|
+
var _actionHandler = require("./actionHandler");
|
|
9
12
|
/**
|
|
10
13
|
* High-level Digia Engage SDK wrapper.
|
|
11
14
|
*
|
|
@@ -15,7 +18,7 @@ var _NativeDigiaEngage = require("./NativeDigiaEngage");
|
|
|
15
18
|
* import { Digia } from '@digia/engage-react-native';
|
|
16
19
|
*
|
|
17
20
|
* // In your App entry point (e.g. App.tsx):
|
|
18
|
-
* await Digia.initialize({
|
|
21
|
+
* await Digia.initialize({ projectId: 'YOUR_PROJECT_ID' });
|
|
19
22
|
*
|
|
20
23
|
* // Whenever your navigation screen changes:
|
|
21
24
|
* Digia.setCurrentScreen('Home');
|
|
@@ -23,6 +26,9 @@ var _NativeDigiaEngage = require("./NativeDigiaEngage");
|
|
|
23
26
|
* ```
|
|
24
27
|
*/
|
|
25
28
|
|
|
29
|
+
const PRODUCTION_API_ROOT = 'https://app.digia.tech';
|
|
30
|
+
const SANDBOX_API_ROOT = 'https://dev.digia.tech';
|
|
31
|
+
const DIGIA_SDK_VERSION = '1.0.0';
|
|
26
32
|
class DigiaClass {
|
|
27
33
|
_plugins = new Map();
|
|
28
34
|
// Tracks whether the native bridge plugin (RNEventBridgePlugin) has been
|
|
@@ -32,6 +38,12 @@ class DigiaClass {
|
|
|
32
38
|
// the full InAppPayload when overlay lifecycle events arrive from native.
|
|
33
39
|
_activePayloads = new Map();
|
|
34
40
|
_engageSubscription = null;
|
|
41
|
+
_projectId = '';
|
|
42
|
+
_apiBaseUrl = '';
|
|
43
|
+
_logLevel = 'error';
|
|
44
|
+
_currentScreen = null;
|
|
45
|
+
_campaignsByKey = new Map();
|
|
46
|
+
_registeredAnchorKeys = new Set();
|
|
35
47
|
|
|
36
48
|
/**
|
|
37
49
|
* Initialise the Digia Engage SDK.
|
|
@@ -42,7 +54,24 @@ class DigiaClass {
|
|
|
42
54
|
async initialize(config) {
|
|
43
55
|
const environment = config.environment ?? 'production';
|
|
44
56
|
const logLevel = config.logLevel ?? 'error';
|
|
45
|
-
|
|
57
|
+
this._projectId = config.projectId;
|
|
58
|
+
this._apiBaseUrl = this._resolveApiBaseUrl(config);
|
|
59
|
+
this._logLevel = logLevel;
|
|
60
|
+
this._fontFamily = config.fontFamily?.trim() || undefined;
|
|
61
|
+
_DigiaHealthReporter.digiaHealthReporter.init(config.projectId, this._apiBaseUrl);
|
|
62
|
+
_actionHandler.digiaActionHandler.configure({
|
|
63
|
+
onAction: config.onAction,
|
|
64
|
+
routeViaSystemLinking: config.linking?.routeViaSystemLinking ?? true,
|
|
65
|
+
inAppBrowser: config.linking?.inAppBrowser
|
|
66
|
+
});
|
|
67
|
+
try {
|
|
68
|
+
await _NativeDigiaEngage.nativeDigiaModule.initialize(config.projectId, environment, logLevel, config.baseUrl, config.fontFamily);
|
|
69
|
+
} catch (e) {
|
|
70
|
+
// TODO: TO BE PICKED LATER @aditya-digia — health event reporting being removed
|
|
71
|
+
// digiaHealthReporter.report(HealthEventType.fetch_failed, { error_code: 0, platform: 'react_native' });
|
|
72
|
+
throw e;
|
|
73
|
+
}
|
|
74
|
+
await this._refreshCampaignStore();
|
|
46
75
|
}
|
|
47
76
|
|
|
48
77
|
/**
|
|
@@ -56,7 +85,7 @@ class DigiaClass {
|
|
|
56
85
|
* ```ts
|
|
57
86
|
* import { DigiaMoEngagePlugin } from '@digia/moengage-plugin';
|
|
58
87
|
*
|
|
59
|
-
* await Digia.initialize({
|
|
88
|
+
* await Digia.initialize({ projectId: 'YOUR_PROJECT_ID' });
|
|
60
89
|
* Digia.register(new DigiaMoEngagePlugin({ moEngage: MoEngage }));
|
|
61
90
|
* ```
|
|
62
91
|
*/
|
|
@@ -72,6 +101,7 @@ class DigiaClass {
|
|
|
72
101
|
this._nativeBridgeWired = true;
|
|
73
102
|
}
|
|
74
103
|
plugin.setup(this);
|
|
104
|
+
plugin.reportHealth?.(_DigiaHealthReporter.digiaHealthReporter);
|
|
75
105
|
this._plugins.set(plugin.identifier, plugin);
|
|
76
106
|
}
|
|
77
107
|
|
|
@@ -93,20 +123,94 @@ class DigiaClass {
|
|
|
93
123
|
* All registered plugins will have forwardScreen() called automatically.
|
|
94
124
|
*/
|
|
95
125
|
setCurrentScreen(name) {
|
|
126
|
+
this._currentScreen = name;
|
|
96
127
|
_NativeDigiaEngage.nativeDigiaModule.setCurrentScreen(name);
|
|
97
128
|
this._plugins.forEach(plugin => plugin.forwardScreen(name));
|
|
98
129
|
}
|
|
130
|
+
registerAnchor(anchorKey, _screenName) {
|
|
131
|
+
const cleanAnchorKey = anchorKey.trim();
|
|
132
|
+
if (!cleanAnchorKey) return;
|
|
133
|
+
this._registeredAnchorKeys.add(cleanAnchorKey);
|
|
134
|
+
}
|
|
135
|
+
unregisterAnchor(anchorKey) {
|
|
136
|
+
this._registeredAnchorKeys.delete(anchorKey);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Global font family configured via {@link initialize}, or `undefined` when
|
|
141
|
+
* none was set. Used by the JS-rendered guide overlays (tooltip/spotlight)
|
|
142
|
+
* so their text matches native-rendered campaigns.
|
|
143
|
+
*/
|
|
144
|
+
get fontFamily() {
|
|
145
|
+
return this._fontFamily;
|
|
146
|
+
}
|
|
99
147
|
|
|
100
148
|
// ── DigiaDelegate ────────────────────────────────────────────────────────
|
|
101
149
|
// Mirrors DigiaCEPDelegate on Android.
|
|
102
150
|
// Forwards to the native DigiaCEPDelegate via the bridge.
|
|
103
151
|
|
|
104
152
|
onCampaignTriggered(payload) {
|
|
153
|
+
if (!this._nativeBridgeWired) {
|
|
154
|
+
_DigiaHealthReporter.digiaHealthReporter.report(_DigiaHealthReporter.HealthEventType.plugin_not_registered, {
|
|
155
|
+
campaign_key: payload.id
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
const campaignKey = this._extractCampaignKey(payload);
|
|
159
|
+
this._log(`onCampaignTriggered payloadId=${payload.id} extractedKey=${campaignKey} knownKeys=[${[...this._campaignsByKey.keys()].join(', ')}]`);
|
|
160
|
+
if (campaignKey) {
|
|
161
|
+
const campaign = this._campaignsByKey.get(campaignKey);
|
|
162
|
+
if (campaign?.campaign_type === 'inline' || campaign?.campaign_type === 'survey') {
|
|
163
|
+
this._log(`${campaign.campaign_type} campaign triggered campaign_key=${campaignKey}, forwarding to native`);
|
|
164
|
+
this._activePayloads.set(payload.id, payload);
|
|
165
|
+
if (campaign.campaign_type === 'inline') {
|
|
166
|
+
this._emitSlotWidth(campaign);
|
|
167
|
+
}
|
|
168
|
+
_NativeDigiaEngage.nativeDigiaModule.triggerCampaign(payload.id, payload.content, payload.cepContext);
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
if (campaign?.campaign_type === 'guide') {
|
|
172
|
+
const config = this._parseTemplateConfig(campaign);
|
|
173
|
+
if (!config || config.templateType !== 'tooltip' && config.templateType !== 'spotlight' || config.steps.length === 0) {
|
|
174
|
+
_DigiaHealthReporter.digiaHealthReporter.report(_DigiaHealthReporter.HealthEventType.anchor_not_on_screen, {
|
|
175
|
+
campaign_key: campaignKey,
|
|
176
|
+
reason: 'guide_campaign_has_no_steps'
|
|
177
|
+
});
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
this._activePayloads.set(payload.id, payload);
|
|
181
|
+
const digiaId = campaign._id ?? campaign.id ?? campaignKey;
|
|
182
|
+
const mounted = _DigiaGuideController.digiaGuideController.start({
|
|
183
|
+
payloadId: payload.id,
|
|
184
|
+
campaignKey,
|
|
185
|
+
campaignId: digiaId,
|
|
186
|
+
config,
|
|
187
|
+
onExperienceEvent: event => this._onGuideLifecycleEvent(event, payload.id, campaignKey, digiaId)
|
|
188
|
+
});
|
|
189
|
+
this._log(`guide trigger campaign_key=${campaignKey} mounted=${mounted}`);
|
|
190
|
+
if (!mounted) {
|
|
191
|
+
_DigiaHealthReporter.digiaHealthReporter.report(_DigiaHealthReporter.HealthEventType.host_not_mounted, {
|
|
192
|
+
campaign_key: campaignKey,
|
|
193
|
+
payload_id: payload.id
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
if (!campaign) {
|
|
199
|
+
this._log(`campaign_key_mismatch: no campaign found for key="${campaignKey}"`);
|
|
200
|
+
_DigiaHealthReporter.digiaHealthReporter.report(_DigiaHealthReporter.HealthEventType.campaign_key_mismatch, {
|
|
201
|
+
campaign_key: campaignKey,
|
|
202
|
+
payload_id: payload.id,
|
|
203
|
+
available_campaign_keys: [...this._campaignsByKey.keys()]
|
|
204
|
+
});
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
105
208
|
this._activePayloads.set(payload.id, payload);
|
|
106
209
|
_NativeDigiaEngage.nativeDigiaModule.triggerCampaign(payload.id, payload.content, payload.cepContext);
|
|
107
210
|
}
|
|
108
211
|
onCampaignInvalidated(campaignId) {
|
|
109
212
|
this._activePayloads.delete(campaignId);
|
|
213
|
+
_DigiaGuideController.digiaGuideController.cancel(campaignId);
|
|
110
214
|
_NativeDigiaEngage.nativeDigiaModule.invalidateCampaign(campaignId);
|
|
111
215
|
}
|
|
112
216
|
|
|
@@ -151,6 +255,200 @@ class DigiaClass {
|
|
|
151
255
|
}
|
|
152
256
|
this._plugins.forEach(plugin => plugin.notifyEvent(event, payload));
|
|
153
257
|
}
|
|
258
|
+
_onGuideLifecycleEvent(event, payloadId, campaignKey, campaignId) {
|
|
259
|
+
const eventName = this._guideEventName(event.type);
|
|
260
|
+
const properties = this._buildGuideProperties(event, campaignId, campaignKey);
|
|
261
|
+
this._plugins.forEach(p => p.track?.(eventName, properties));
|
|
262
|
+
|
|
263
|
+
// Notify plugins of CEP lifecycle termination (template cleanup) on exit events.
|
|
264
|
+
if (event.type === 'dismissed' || event.type === 'completed') {
|
|
265
|
+
const storedPayload = this._activePayloads.get(payloadId);
|
|
266
|
+
if (storedPayload) {
|
|
267
|
+
this._plugins.forEach(p => p.notifyEvent({
|
|
268
|
+
type: 'dismissed'
|
|
269
|
+
}, storedPayload));
|
|
270
|
+
this._activePayloads.delete(payloadId);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
_guideEventName(type) {
|
|
275
|
+
switch (type) {
|
|
276
|
+
case 'viewed':
|
|
277
|
+
return 'Digia Experience Viewed';
|
|
278
|
+
case 'step_viewed':
|
|
279
|
+
return 'Digia Step Viewed';
|
|
280
|
+
case 'clicked':
|
|
281
|
+
return 'Digia Experience Clicked';
|
|
282
|
+
case 'step_clicked':
|
|
283
|
+
return 'Digia Step Clicked';
|
|
284
|
+
case 'dismissed':
|
|
285
|
+
return 'Digia Experience Dismissed';
|
|
286
|
+
case 'step_dismissed':
|
|
287
|
+
return 'Digia Step Dismissed';
|
|
288
|
+
case 'completed':
|
|
289
|
+
return 'Digia Experience Completed';
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
_buildGuideProperties(event, campaignId, campaignKey) {
|
|
293
|
+
const base = {
|
|
294
|
+
campaign_id: campaignId,
|
|
295
|
+
campaign_key: campaignKey,
|
|
296
|
+
campaign_type: 'guide',
|
|
297
|
+
display_style: event.displayStyle,
|
|
298
|
+
step_index: event.stepIndex + 1,
|
|
299
|
+
step_total: event.stepTotal,
|
|
300
|
+
anchor_key: event.anchorKey,
|
|
301
|
+
slot_key: null,
|
|
302
|
+
element_id: null,
|
|
303
|
+
cta_label: null,
|
|
304
|
+
action_type: null,
|
|
305
|
+
action_url: null,
|
|
306
|
+
dismiss_reason: null,
|
|
307
|
+
abandoned_at_step: null,
|
|
308
|
+
digia_sdk_version: DIGIA_SDK_VERSION,
|
|
309
|
+
digia_platform: 'react_native'
|
|
310
|
+
};
|
|
311
|
+
if (event.type === 'clicked' || event.type === 'step_clicked') {
|
|
312
|
+
base.element_id = event.elementId ?? null;
|
|
313
|
+
base.cta_label = event.ctaLabel;
|
|
314
|
+
base.action_type = event.actionType;
|
|
315
|
+
base.action_url = event.actionUrl ?? null;
|
|
316
|
+
} else if (event.type === 'dismissed' || event.type === 'step_dismissed') {
|
|
317
|
+
base.dismiss_reason = event.dismissReason;
|
|
318
|
+
base.abandoned_at_step = event.stepIndex + 1;
|
|
319
|
+
}
|
|
320
|
+
return base;
|
|
321
|
+
}
|
|
322
|
+
_resolveApiBaseUrl(config) {
|
|
323
|
+
const root = (config.baseUrl ?? (config.environment === 'sandbox' ? SANDBOX_API_ROOT : PRODUCTION_API_ROOT)).trim();
|
|
324
|
+
const cleanRoot = root.replace(/\/+$/, '');
|
|
325
|
+
return cleanRoot.endsWith('/api/v1') ? cleanRoot : `${cleanRoot}/api/v1`;
|
|
326
|
+
}
|
|
327
|
+
async _refreshCampaignStore() {
|
|
328
|
+
try {
|
|
329
|
+
this._log(`fetching campaigns from ${this._apiBaseUrl}/engage/sdk/getCampaigns`);
|
|
330
|
+
const campaigns = await this._sdkPost('getCampaigns');
|
|
331
|
+
this._campaignsByKey.clear();
|
|
332
|
+
if (campaigns.length > 0) {
|
|
333
|
+
this._log(`campaign[0] raw keys: ${JSON.stringify(Object.keys(campaigns[0]))}`);
|
|
334
|
+
}
|
|
335
|
+
campaigns.forEach(campaign => {
|
|
336
|
+
const raw = campaign;
|
|
337
|
+
const key = typeof raw.campaign_key === 'string' && raw.campaign_key || typeof raw.campaignKey === 'string' && raw.campaignKey || null;
|
|
338
|
+
const type = typeof raw.campaign_type === 'string' && raw.campaign_type || typeof raw.campaignType === 'string' && raw.campaignType || '';
|
|
339
|
+
if (key) {
|
|
340
|
+
this._campaignsByKey.set(key, {
|
|
341
|
+
...campaign,
|
|
342
|
+
campaign_key: key,
|
|
343
|
+
campaign_type: type
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
});
|
|
347
|
+
this._log(`loaded ${campaigns.length} campaign(s): [${[...this._campaignsByKey.keys()].join(', ')}]`);
|
|
348
|
+
} catch (e) {
|
|
349
|
+
const reason = e instanceof Error ? e.message : String(e);
|
|
350
|
+
this._log(`getCampaigns FAILED: ${reason}`);
|
|
351
|
+
_DigiaHealthReporter.digiaHealthReporter.report(_DigiaHealthReporter.HealthEventType.fetch_failed, {
|
|
352
|
+
error_code: 0,
|
|
353
|
+
platform: 'react_native',
|
|
354
|
+
reason
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
async _sdkPost(path, body = {}) {
|
|
359
|
+
const res = await fetch(`${this._apiBaseUrl}/engage/sdk/${path}`, {
|
|
360
|
+
method: 'POST',
|
|
361
|
+
headers: {
|
|
362
|
+
'Content-Type': 'application/json',
|
|
363
|
+
'x-digia-project-id': this._projectId
|
|
364
|
+
},
|
|
365
|
+
body: JSON.stringify(body)
|
|
366
|
+
});
|
|
367
|
+
if (!res.ok) {
|
|
368
|
+
throw new Error(`${path} failed: HTTP ${res.status}`);
|
|
369
|
+
}
|
|
370
|
+
const json = await res.json();
|
|
371
|
+
return this._extractApiResponse(json);
|
|
372
|
+
}
|
|
373
|
+
_extractApiResponse(json) {
|
|
374
|
+
if (Array.isArray(json)) return json;
|
|
375
|
+
if (json && typeof json === 'object') {
|
|
376
|
+
const obj = json;
|
|
377
|
+
const data = obj.data;
|
|
378
|
+
if (data && typeof data === 'object' && 'response' in data) {
|
|
379
|
+
const value = data.response;
|
|
380
|
+
if (value == null) throw new Error('SDK response.data.response is null');
|
|
381
|
+
return value;
|
|
382
|
+
}
|
|
383
|
+
if ('response' in obj) {
|
|
384
|
+
const value = obj.response;
|
|
385
|
+
if (value == null) throw new Error('SDK response.response is null');
|
|
386
|
+
return value;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
throw new Error('SDK response missing data.response');
|
|
390
|
+
}
|
|
391
|
+
_emitSlotWidth(campaign) {
|
|
392
|
+
const raw = campaign;
|
|
393
|
+
const config = raw.templateConfig;
|
|
394
|
+
if (!config) {
|
|
395
|
+
this._log(`_emitSlotWidth: no templateConfig for campaign ${campaign.campaign_key}`);
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
398
|
+
const slotKey = typeof config.slotKey === 'string' ? config.slotKey : null;
|
|
399
|
+
const width = typeof config.width === 'number' && config.width > 0 ? config.width : null;
|
|
400
|
+
this._log(`_emitSlotWidth slotKey=${slotKey} width=${width} campaign=${campaign.campaign_key}`);
|
|
401
|
+
if (slotKey) {
|
|
402
|
+
_reactNative.DeviceEventEmitter.emit('digiaSlotWidth', {
|
|
403
|
+
slotKey,
|
|
404
|
+
width
|
|
405
|
+
});
|
|
406
|
+
} else {
|
|
407
|
+
this._log(`_emitSlotWidth: no slotKey in templateConfig ${JSON.stringify(config)}`);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
_extractCampaignKey(payload) {
|
|
411
|
+
const fromContent = this._extractString(payload.content, 'digiaKey', 'campaign_key', 'campaignKey');
|
|
412
|
+
if (fromContent) return fromContent;
|
|
413
|
+
const args = payload.content.args;
|
|
414
|
+
if (args && typeof args === 'object' && !Array.isArray(args)) {
|
|
415
|
+
const fromArgs = this._extractString(args, 'digiaKey', 'campaign_key', 'campaignKey');
|
|
416
|
+
if (fromArgs) return fromArgs;
|
|
417
|
+
}
|
|
418
|
+
if (this._campaignsByKey.has(payload.id)) return payload.id;
|
|
419
|
+
return null;
|
|
420
|
+
}
|
|
421
|
+
_extractString(data, ...keys) {
|
|
422
|
+
for (const key of keys) {
|
|
423
|
+
const value = data[key];
|
|
424
|
+
if (typeof value === 'string' && value.trim()) return value.trim();
|
|
425
|
+
}
|
|
426
|
+
return null;
|
|
427
|
+
}
|
|
428
|
+
_parseTemplateConfig(campaign) {
|
|
429
|
+
const c = campaign;
|
|
430
|
+
const raw = c.templateConfig;
|
|
431
|
+
if (!raw || typeof raw !== 'object') return null;
|
|
432
|
+
const type = raw.templateType;
|
|
433
|
+
if (type !== 'tooltip' && type !== 'spotlight' && type !== 'carousel') {
|
|
434
|
+
this._log(`unknown templateType="${type}" for campaign_key=${campaign.campaign_key}`);
|
|
435
|
+
return null;
|
|
436
|
+
}
|
|
437
|
+
if (type === 'carousel') {
|
|
438
|
+
return raw;
|
|
439
|
+
}
|
|
440
|
+
const steps = Array.isArray(raw.steps) ? raw.steps : [];
|
|
441
|
+
return {
|
|
442
|
+
...raw,
|
|
443
|
+
templateType: type,
|
|
444
|
+
steps
|
|
445
|
+
};
|
|
446
|
+
}
|
|
447
|
+
_log(message) {
|
|
448
|
+
if (this._logLevel !== 'verbose') return;
|
|
449
|
+
// eslint-disable-next-line no-console
|
|
450
|
+
console.log(`[Digia] ${message}`);
|
|
451
|
+
}
|
|
154
452
|
}
|
|
155
453
|
const Digia = exports.Digia = new DigiaClass();
|
|
156
454
|
//# sourceMappingURL=Digia.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_NativeDigiaEngage","DigiaClass","_plugins","Map","_nativeBridgeWired","_activePayloads","_engageSubscription","initialize","config","environment","logLevel","nativeDigiaModule","apiKey","register","plugin","has","identifier","get","teardown","registerBridge","_startEngageListener","setup","set","unregister","pluginOrId","id","delete","setCurrentScreen","name","forEach","forwardScreen","onCampaignTriggered","payload","triggerCampaign","content","cepContext","onCampaignInvalidated","campaignId","invalidateCampaign","DeviceEventEmitter","addListener","data","_forwardExperienceEvent","event","type","elementId","notifyEvent","Digia","exports"],"sourceRoot":"../../src","sources":["Digia.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_NativeDigiaEngage","_DigiaHealthReporter","_DigiaGuideController","_actionHandler","PRODUCTION_API_ROOT","SANDBOX_API_ROOT","DIGIA_SDK_VERSION","DigiaClass","_plugins","Map","_nativeBridgeWired","_activePayloads","_engageSubscription","_projectId","_apiBaseUrl","_logLevel","_currentScreen","_campaignsByKey","_registeredAnchorKeys","Set","initialize","config","environment","logLevel","projectId","_resolveApiBaseUrl","_fontFamily","fontFamily","trim","undefined","digiaHealthReporter","init","digiaActionHandler","configure","onAction","routeViaSystemLinking","linking","inAppBrowser","nativeDigiaModule","baseUrl","e","_refreshCampaignStore","register","plugin","has","identifier","get","teardown","registerBridge","_startEngageListener","setup","reportHealth","set","unregister","pluginOrId","id","delete","setCurrentScreen","name","forEach","forwardScreen","registerAnchor","anchorKey","_screenName","cleanAnchorKey","add","unregisterAnchor","onCampaignTriggered","payload","report","HealthEventType","plugin_not_registered","campaign_key","campaignKey","_extractCampaignKey","_log","keys","join","campaign","campaign_type","_emitSlotWidth","triggerCampaign","content","cepContext","_parseTemplateConfig","templateType","steps","length","anchor_not_on_screen","reason","digiaId","_id","mounted","digiaGuideController","start","payloadId","campaignId","onExperienceEvent","event","_onGuideLifecycleEvent","host_not_mounted","payload_id","campaign_key_mismatch","available_campaign_keys","onCampaignInvalidated","cancel","invalidateCampaign","DeviceEventEmitter","addListener","data","_forwardExperienceEvent","type","elementId","notifyEvent","eventName","_guideEventName","properties","_buildGuideProperties","p","track","storedPayload","base","campaign_id","display_style","displayStyle","step_index","stepIndex","step_total","stepTotal","anchor_key","slot_key","element_id","cta_label","action_type","action_url","dismiss_reason","abandoned_at_step","digia_sdk_version","digia_platform","ctaLabel","actionType","actionUrl","dismissReason","root","cleanRoot","replace","endsWith","campaigns","_sdkPost","clear","JSON","stringify","Object","raw","key","campaignType","Error","message","String","fetch_failed","error_code","platform","path","body","res","fetch","method","headers","ok","status","json","_extractApiResponse","Array","isArray","obj","value","response","templateConfig","slotKey","width","emit","fromContent","_extractString","args","fromArgs","c","console","log","Digia","exports"],"sourceRoot":"../../src","sources":["Digia.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.digiaGuideController = void 0;
|
|
7
|
+
class DigiaGuideController {
|
|
8
|
+
_listener = null;
|
|
9
|
+
_queue = [];
|
|
10
|
+
_activeRequest = null;
|
|
11
|
+
subscribe(listener) {
|
|
12
|
+
this._listener = listener;
|
|
13
|
+
if (this._queue.length > 0) {
|
|
14
|
+
const request = this._queue.shift();
|
|
15
|
+
this._activeRequest = request;
|
|
16
|
+
listener({
|
|
17
|
+
type: 'start',
|
|
18
|
+
request
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return () => {
|
|
22
|
+
if (this._listener === listener) this._listener = null;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
start(request) {
|
|
26
|
+
if (!this._listener) {
|
|
27
|
+
this._queue.push(request);
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
this._activeRequest = request;
|
|
31
|
+
this._listener({
|
|
32
|
+
type: 'start',
|
|
33
|
+
request
|
|
34
|
+
});
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
cancel(payloadId) {
|
|
38
|
+
this._queue = this._queue.filter(r => r.payloadId !== payloadId);
|
|
39
|
+
if (this._activeRequest?.payloadId === payloadId) {
|
|
40
|
+
this._listener?.({
|
|
41
|
+
type: 'cancel',
|
|
42
|
+
payloadId
|
|
43
|
+
});
|
|
44
|
+
this._activeRequest = null;
|
|
45
|
+
this._dispatchNext();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
_dispatchNext() {
|
|
49
|
+
if (this._queue.length === 0 || !this._listener) return;
|
|
50
|
+
const request = this._queue.shift();
|
|
51
|
+
this._activeRequest = request;
|
|
52
|
+
this._listener({
|
|
53
|
+
type: 'start',
|
|
54
|
+
request
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const digiaGuideController = exports.digiaGuideController = new DigiaGuideController();
|
|
59
|
+
//# sourceMappingURL=DigiaGuideController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DigiaGuideController","_listener","_queue","_activeRequest","subscribe","listener","length","request","shift","type","start","push","cancel","payloadId","filter","r","_dispatchNext","digiaGuideController","exports"],"sourceRoot":"../../src","sources":["DigiaGuideController.ts"],"mappings":";;;;;;AAkBA,MAAMA,oBAAoB,CAAC;EACfC,SAAS,GAA8B,IAAI;EAC3CC,MAAM,GAAwB,EAAE;EAChCC,cAAc,GAA6B,IAAI;EAEvDC,SAASA,CAACC,QAA4B,EAAc;IAChD,IAAI,CAACJ,SAAS,GAAGI,QAAQ;IACzB,IAAI,IAAI,CAACH,MAAM,CAACI,MAAM,GAAG,CAAC,EAAE;MACxB,MAAMC,OAAO,GAAG,IAAI,CAACL,MAAM,CAACM,KAAK,CAAC,CAAE;MACpC,IAAI,CAACL,cAAc,GAAGI,OAAO;MAC7BF,QAAQ,CAAC;QAAEI,IAAI,EAAE,OAAO;QAAEF;MAAQ,CAAC,CAAC;IACxC;IACA,OAAO,MAAM;MAAE,IAAI,IAAI,CAACN,SAAS,KAAKI,QAAQ,EAAE,IAAI,CAACJ,SAAS,GAAG,IAAI;IAAE,CAAC;EAC5E;EAEAS,KAAKA,CAACH,OAA0B,EAAW;IACvC,IAAI,CAAC,IAAI,CAACN,SAAS,EAAE;MACjB,IAAI,CAACC,MAAM,CAACS,IAAI,CAACJ,OAAO,CAAC;MACzB,OAAO,KAAK;IAChB;IACA,IAAI,CAACJ,cAAc,GAAGI,OAAO;IAC7B,IAAI,CAACN,SAAS,CAAC;MAAEQ,IAAI,EAAE,OAAO;MAAEF;IAAQ,CAAC,CAAC;IAC1C,OAAO,IAAI;EACf;EAEAK,MAAMA,CAACC,SAAiB,EAAQ;IAC5B,IAAI,CAACX,MAAM,GAAG,IAAI,CAACA,MAAM,CAACY,MAAM,CAACC,CAAC,IAAIA,CAAC,CAACF,SAAS,KAAKA,SAAS,CAAC;IAChE,IAAI,IAAI,CAACV,cAAc,EAAEU,SAAS,KAAKA,SAAS,EAAE;MAC9C,IAAI,CAACZ,SAAS,GAAG;QAAEQ,IAAI,EAAE,QAAQ;QAAEI;MAAU,CAAC,CAAC;MAC/C,IAAI,CAACV,cAAc,GAAG,IAAI;MAC1B,IAAI,CAACa,aAAa,CAAC,CAAC;IACxB;EACJ;EAEQA,aAAaA,CAAA,EAAS;IAC1B,IAAI,IAAI,CAACd,MAAM,CAACI,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAACL,SAAS,EAAE;IACjD,MAAMM,OAAO,GAAG,IAAI,CAACL,MAAM,CAACM,KAAK,CAAC,CAAE;IACpC,IAAI,CAACL,cAAc,GAAGI,OAAO;IAC7B,IAAI,CAACN,SAAS,CAAC;MAAEQ,IAAI,EAAE,OAAO;MAAEF;IAAQ,CAAC,CAAC;EAC9C;AACJ;AAEO,MAAMU,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,IAAIjB,oBAAoB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.digiaHealthReporter = exports.HealthEventType = exports.DigiaHealthReporter = void 0;
|
|
7
|
+
const HealthEventType = exports.HealthEventType = {
|
|
8
|
+
campaign_key_mismatch: 'campaign_key_mismatch',
|
|
9
|
+
component_orphaned: 'component_orphaned',
|
|
10
|
+
anchor_not_on_screen: 'anchor_not_on_screen',
|
|
11
|
+
host_not_mounted: 'host_not_mounted',
|
|
12
|
+
plugin_not_registered: 'plugin_not_registered',
|
|
13
|
+
fetch_failed: 'fetch_failed',
|
|
14
|
+
action_handler_threw: 'action_handler_threw',
|
|
15
|
+
action_handler_timeout: 'action_handler_timeout',
|
|
16
|
+
deep_link_no_handler: 'deep_link_no_handler',
|
|
17
|
+
invalid_action_url: 'invalid_action_url',
|
|
18
|
+
inapp_browser_unavailable: 'inapp_browser_unavailable',
|
|
19
|
+
invalid_action_context: 'invalid_action_context',
|
|
20
|
+
cold_start_queue_overflow: 'cold_start_queue_overflow'
|
|
21
|
+
};
|
|
22
|
+
class DigiaHealthReporter {
|
|
23
|
+
_projectId = '';
|
|
24
|
+
_baseUrl = '';
|
|
25
|
+
init(projectId, baseUrl) {
|
|
26
|
+
this._projectId = projectId;
|
|
27
|
+
this._baseUrl = baseUrl;
|
|
28
|
+
}
|
|
29
|
+
report(eventType, detail) {
|
|
30
|
+
if (!this._projectId) return;
|
|
31
|
+
// TODO: TO BE PICKED LATER @aditya-digia — health event backend endpoint being removed
|
|
32
|
+
// fetch(`${this._baseUrl}/engage/sdk/recordHealthEvent`, {
|
|
33
|
+
// method: 'POST',
|
|
34
|
+
// headers: {
|
|
35
|
+
// 'Content-Type': 'application/json',
|
|
36
|
+
// 'x-digia-project-id': this._projectId,
|
|
37
|
+
// },
|
|
38
|
+
// body: JSON.stringify({ event_type: eventType, detail }),
|
|
39
|
+
// }).catch(() => { /* swallow */ });
|
|
40
|
+
if (__DEV__) console.log('[DigiaHealth]', eventType, detail);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.DigiaHealthReporter = DigiaHealthReporter;
|
|
44
|
+
const digiaHealthReporter = exports.digiaHealthReporter = new DigiaHealthReporter();
|
|
45
|
+
//# sourceMappingURL=DigiaHealthReporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HealthEventType","exports","campaign_key_mismatch","component_orphaned","anchor_not_on_screen","host_not_mounted","plugin_not_registered","fetch_failed","action_handler_threw","action_handler_timeout","deep_link_no_handler","invalid_action_url","inapp_browser_unavailable","invalid_action_context","cold_start_queue_overflow","DigiaHealthReporter","_projectId","_baseUrl","init","projectId","baseUrl","report","eventType","detail","__DEV__","console","log","digiaHealthReporter"],"sourceRoot":"../../src","sources":["DigiaHealthReporter.ts"],"mappings":";;;;;;AAAO,MAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC7BE,qBAAqB,EAAE,uBAAuB;EAC9CC,kBAAkB,EAAE,oBAAoB;EACxCC,oBAAoB,EAAE,sBAAsB;EAC5CC,gBAAgB,EAAE,kBAAkB;EACpCC,qBAAqB,EAAE,uBAAuB;EAC9CC,YAAY,EAAE,cAAc;EAC5BC,oBAAoB,EAAE,sBAAsB;EAC5CC,sBAAsB,EAAE,wBAAwB;EAChDC,oBAAoB,EAAE,sBAAsB;EAC5CC,kBAAkB,EAAE,oBAAoB;EACxCC,yBAAyB,EAAE,2BAA2B;EACtDC,sBAAsB,EAAE,wBAAwB;EAChDC,yBAAyB,EAAE;AAC7B,CAAU;AAIH,MAAMC,mBAAmB,CAAC;EACrBC,UAAU,GAAG,EAAE;EACfC,QAAQ,GAAG,EAAE;EAErBC,IAAIA,CAACC,SAAiB,EAAEC,OAAe,EAAQ;IAC3C,IAAI,CAACJ,UAAU,GAAGG,SAAS;IAC3B,IAAI,CAACF,QAAQ,GAAGG,OAAO;EAC3B;EAEAC,MAAMA,CAACC,SAA0B,EAAEC,MAA+B,EAAQ;IACtE,IAAI,CAAC,IAAI,CAACP,UAAU,EAAE;IACtB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAIQ,OAAO,EAAEC,OAAO,CAACC,GAAG,CAAC,eAAe,EAAEJ,SAAS,EAAEC,MAAM,CAAC;EAChE;AACJ;AAACtB,OAAA,CAAAc,mBAAA,GAAAA,mBAAA;AAEM,MAAMY,mBAAmB,GAAA1B,OAAA,CAAA0B,mBAAA,GAAG,IAAIZ,mBAAmB,CAAC,CAAC","ignoreList":[]}
|