@digia-engage/core 1.1.1 → 2.0.0-rc.2
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 +134 -51
- package/android/build.gradle +3 -3
- 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 +390 -4
- package/lib/commonjs/Digia.js.map +1 -1
- package/lib/commonjs/DigiaAnchorView.js +35 -3
- package/lib/commonjs/DigiaAnchorView.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 +1081 -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/frequencyEvaluator.js +70 -0
- package/lib/commonjs/frequencyEvaluator.js.map +1 -0
- package/lib/commonjs/frequencyStore.js +70 -0
- package/lib/commonjs/frequencyStore.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 +389 -4
- package/lib/module/Digia.js.map +1 -1
- package/lib/module/DigiaAnchorView.js +33 -1
- package/lib/module/DigiaAnchorView.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 +1074 -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/frequencyEvaluator.js +61 -0
- package/lib/module/frequencyEvaluator.js.map +1 -0
- package/lib/module/frequencyStore.js +64 -0
- package/lib/module/frequencyStore.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 +35 -3
- package/lib/typescript/Digia.d.ts.map +1 -1
- package/lib/typescript/DigiaAnchorView.d.ts +5 -1
- package/lib/typescript/DigiaAnchorView.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/frequencyEvaluator.d.ts +14 -0
- package/lib/typescript/frequencyEvaluator.d.ts.map +1 -0
- package/lib/typescript/frequencyStore.d.ts +7 -0
- package/lib/typescript/frequencyStore.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 +163 -4
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +15 -3
- package/src/Digia.ts +439 -4
- package/src/DigiaAnchorView.tsx +30 -2
- package/src/DigiaGuideController.ts +61 -0
- package/src/DigiaHealthReporter.ts +43 -0
- package/src/DigiaProvider.tsx +778 -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/frequencyEvaluator.ts +57 -0
- package/src/frequencyStore.ts +79 -0
- package/src/index.ts +1 -0
- package/src/templateTypes.ts +121 -0
- package/src/types.ts +132 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateTypes.d.ts","sourceRoot":"","sources":["../../src/templateTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export interface InAppPayload {
|
|
|
11
11
|
/** CEP-platform metadata, e.g. { campaignId, campaignName }. */
|
|
12
12
|
cepContext: Record<string, unknown>;
|
|
13
13
|
}
|
|
14
|
+
export type CampaignType = 'nudge' | 'guide' | 'inline' | 'survey';
|
|
14
15
|
/** The experience became visible to the user. */
|
|
15
16
|
export interface ExperienceImpressed {
|
|
16
17
|
readonly type: 'impressed';
|
|
@@ -24,8 +25,71 @@ export interface ExperienceClicked {
|
|
|
24
25
|
export interface ExperienceDismissed {
|
|
25
26
|
readonly type: 'dismissed';
|
|
26
27
|
}
|
|
28
|
+
/** The user completed the experience (advanced past the final step). */
|
|
29
|
+
export interface ExperienceCompleted {
|
|
30
|
+
readonly type: 'completed';
|
|
31
|
+
}
|
|
27
32
|
/** Discriminated union of all experience event types. */
|
|
28
|
-
export type DigiaExperienceEvent = ExperienceImpressed | ExperienceClicked | ExperienceDismissed;
|
|
33
|
+
export type DigiaExperienceEvent = ExperienceImpressed | ExperienceClicked | ExperienceDismissed | ExperienceCompleted;
|
|
34
|
+
export type DismissReason = 'user_close' | 'scrim_tap' | 'back_gesture' | 'auto_timeout';
|
|
35
|
+
/**
|
|
36
|
+
* Rich internal event emitted by guide overlays.
|
|
37
|
+
* Carries all context needed to build the CEP analytics property schema.
|
|
38
|
+
* Not part of the public plugin API — converted to track() calls in Digia.ts.
|
|
39
|
+
*/
|
|
40
|
+
export type GuideLifecycleEvent = {
|
|
41
|
+
type: 'viewed';
|
|
42
|
+
stepIndex: number;
|
|
43
|
+
stepTotal: number;
|
|
44
|
+
anchorKey: string;
|
|
45
|
+
displayStyle: 'tooltip' | 'spotlight';
|
|
46
|
+
} | {
|
|
47
|
+
type: 'step_viewed';
|
|
48
|
+
stepIndex: number;
|
|
49
|
+
stepTotal: number;
|
|
50
|
+
anchorKey: string;
|
|
51
|
+
displayStyle: 'tooltip' | 'spotlight';
|
|
52
|
+
} | {
|
|
53
|
+
type: 'clicked';
|
|
54
|
+
stepIndex: number;
|
|
55
|
+
stepTotal: number;
|
|
56
|
+
anchorKey: string;
|
|
57
|
+
displayStyle: 'tooltip' | 'spotlight';
|
|
58
|
+
ctaLabel: string;
|
|
59
|
+
actionType: string;
|
|
60
|
+
actionUrl?: string;
|
|
61
|
+
elementId?: string;
|
|
62
|
+
} | {
|
|
63
|
+
type: 'step_clicked';
|
|
64
|
+
stepIndex: number;
|
|
65
|
+
stepTotal: number;
|
|
66
|
+
anchorKey: string;
|
|
67
|
+
displayStyle: 'tooltip' | 'spotlight';
|
|
68
|
+
ctaLabel: string;
|
|
69
|
+
actionType: string;
|
|
70
|
+
actionUrl?: string;
|
|
71
|
+
elementId?: string;
|
|
72
|
+
} | {
|
|
73
|
+
type: 'dismissed';
|
|
74
|
+
stepIndex: number;
|
|
75
|
+
stepTotal: number;
|
|
76
|
+
anchorKey: string;
|
|
77
|
+
displayStyle: 'tooltip' | 'spotlight';
|
|
78
|
+
dismissReason: DismissReason;
|
|
79
|
+
} | {
|
|
80
|
+
type: 'step_dismissed';
|
|
81
|
+
stepIndex: number;
|
|
82
|
+
stepTotal: number;
|
|
83
|
+
anchorKey: string;
|
|
84
|
+
displayStyle: 'tooltip' | 'spotlight';
|
|
85
|
+
dismissReason: DismissReason;
|
|
86
|
+
} | {
|
|
87
|
+
type: 'completed';
|
|
88
|
+
stepIndex: number;
|
|
89
|
+
stepTotal: number;
|
|
90
|
+
anchorKey: string;
|
|
91
|
+
displayStyle: 'tooltip' | 'spotlight';
|
|
92
|
+
};
|
|
29
93
|
/**
|
|
30
94
|
* Delegate passed by the Digia SDK to each registered plugin via setup().
|
|
31
95
|
*
|
|
@@ -34,7 +98,7 @@ export type DigiaExperienceEvent = ExperienceImpressed | ExperienceClicked | Exp
|
|
|
34
98
|
*/
|
|
35
99
|
export interface DigiaDelegate {
|
|
36
100
|
/** Deliver a campaign payload into the Digia rendering engine. */
|
|
37
|
-
onCampaignTriggered(payload: InAppPayload): void
|
|
101
|
+
onCampaignTriggered(payload: InAppPayload): void | Promise<void>;
|
|
38
102
|
/** Invalidate / dismiss a campaign by its ID. */
|
|
39
103
|
onCampaignInvalidated(campaignId: string): void;
|
|
40
104
|
}
|
|
@@ -54,17 +118,85 @@ export interface DigiaPlugin {
|
|
|
54
118
|
* analytics back to their CEP platform.
|
|
55
119
|
*/
|
|
56
120
|
notifyEvent(event: DigiaExperienceEvent, payload: InAppPayload): void;
|
|
121
|
+
/**
|
|
122
|
+
* Called by the Digia SDK to record a named analytics event with properties.
|
|
123
|
+
* Implement this to forward Digia lifecycle events (e.g. "Digia Experience Viewed")
|
|
124
|
+
* to the CEP platform's custom event API.
|
|
125
|
+
*/
|
|
126
|
+
track?(eventName: string, properties: Record<string, unknown>): void;
|
|
57
127
|
/** Called by Digia.setCurrentScreen() — do not call manually. */
|
|
58
128
|
forwardScreen(name: string): void;
|
|
59
129
|
/** Called by Digia.unregister() or when tearing down the app. */
|
|
60
130
|
teardown(): void;
|
|
61
131
|
}
|
|
132
|
+
export type DigiaAction = {
|
|
133
|
+
type: 'deep_link';
|
|
134
|
+
url: string;
|
|
135
|
+
fallback_url?: string;
|
|
136
|
+
} | {
|
|
137
|
+
type: 'open_url';
|
|
138
|
+
url: string;
|
|
139
|
+
presentation: 'external' | 'in_app';
|
|
140
|
+
} | {
|
|
141
|
+
type: 'dismiss';
|
|
142
|
+
scope?: 'self' | 'all';
|
|
143
|
+
} | {
|
|
144
|
+
type: 'next';
|
|
145
|
+
} | {
|
|
146
|
+
type: 'back';
|
|
147
|
+
};
|
|
148
|
+
export type ActionContext = {
|
|
149
|
+
campaign_id: string;
|
|
150
|
+
campaign_key: string;
|
|
151
|
+
campaign_type: 'nudge' | 'guide' | 'inline' | 'survey';
|
|
152
|
+
source: {
|
|
153
|
+
kind: 'button' | 'card_tap' | 'pip_small_view' | 'auto_dismiss';
|
|
154
|
+
element_id?: string;
|
|
155
|
+
button_label?: string;
|
|
156
|
+
};
|
|
157
|
+
step_index?: number;
|
|
158
|
+
step_total?: number;
|
|
159
|
+
source_node?: unknown;
|
|
160
|
+
};
|
|
161
|
+
export type ActionResult = boolean | Promise<boolean> | void;
|
|
162
|
+
export type OnAction = (action: DigiaAction, context: ActionContext) => ActionResult;
|
|
163
|
+
export type InAppBrowserAdapter = {
|
|
164
|
+
open: (url: string) => Promise<void>;
|
|
165
|
+
};
|
|
166
|
+
export interface FrequencyWindow {
|
|
167
|
+
count: number;
|
|
168
|
+
window: 'session' | 'day' | 'week' | 'month';
|
|
169
|
+
}
|
|
170
|
+
export interface FrequencyPolicy {
|
|
171
|
+
max_total: number | null;
|
|
172
|
+
max_per_window: FrequencyWindow | null;
|
|
173
|
+
stop_on: 'click' | 'dismiss' | 'any_action' | null;
|
|
174
|
+
min_gap_ms?: number | null;
|
|
175
|
+
}
|
|
176
|
+
export interface FrequencyState {
|
|
177
|
+
shown_count: number;
|
|
178
|
+
first_shown_at: number | null;
|
|
179
|
+
last_shown_at: number | null;
|
|
180
|
+
stopped_at: number | null;
|
|
181
|
+
stopped_reason: string | null;
|
|
182
|
+
}
|
|
183
|
+
export type FrequencySkipReason = 'max_total' | 'window' | 'stopped';
|
|
184
|
+
export interface FrequencyEvalResult {
|
|
185
|
+
allow: boolean;
|
|
186
|
+
reason: FrequencySkipReason | null;
|
|
187
|
+
}
|
|
62
188
|
/**
|
|
63
189
|
* Configuration for initialising the Digia Engage SDK.
|
|
64
190
|
*/
|
|
65
191
|
export interface DigiaConfig {
|
|
66
|
-
/** The
|
|
67
|
-
|
|
192
|
+
/** The Engage project ID — sent as x-digia-project-id on all SDK requests. */
|
|
193
|
+
projectId: string;
|
|
194
|
+
/**
|
|
195
|
+
* Base URL for the Digia API.
|
|
196
|
+
* Defaults to the production API root, or the Engage sandbox root when
|
|
197
|
+
* `environment` is "sandbox".
|
|
198
|
+
*/
|
|
199
|
+
baseUrl?: string;
|
|
68
200
|
/**
|
|
69
201
|
* The target environment.
|
|
70
202
|
* @default 'production'
|
|
@@ -75,5 +207,32 @@ export interface DigiaConfig {
|
|
|
75
207
|
* @default 'error'
|
|
76
208
|
*/
|
|
77
209
|
logLevel?: 'none' | 'error' | 'verbose';
|
|
210
|
+
/**
|
|
211
|
+
* Optional global font family applied to all Digia-rendered text.
|
|
212
|
+
* Must match a font available to the native app — an Android system/registered
|
|
213
|
+
* family name, or an iOS bundled font's PostScript name.
|
|
214
|
+
*/
|
|
215
|
+
fontFamily?: string;
|
|
216
|
+
/**
|
|
217
|
+
* Optional override hook called for every action before the SDK runs its
|
|
218
|
+
* default behavior. Return true to suppress the default; false/void lets
|
|
219
|
+
* the SDK handle it.
|
|
220
|
+
*/
|
|
221
|
+
onAction?: OnAction;
|
|
222
|
+
/**
|
|
223
|
+
* URL / linking configuration.
|
|
224
|
+
*/
|
|
225
|
+
linking?: {
|
|
226
|
+
/**
|
|
227
|
+
* When true (default) the SDK calls Linking.openURL for URL-bearing actions.
|
|
228
|
+
* @default true
|
|
229
|
+
*/
|
|
230
|
+
routeViaSystemLinking?: boolean;
|
|
231
|
+
/**
|
|
232
|
+
* Required if any campaign uses open_url with presentation: 'in_app'.
|
|
233
|
+
* Falls back to Linking.openURL + emits inapp_browser_unavailable if absent.
|
|
234
|
+
*/
|
|
235
|
+
inAppBrowser?: InAppBrowserAdapter;
|
|
236
|
+
};
|
|
78
237
|
}
|
|
79
238
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,YAAY;IACzB,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digia-engage/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-rc.2",
|
|
4
4
|
"description": "React Native bridge for Digia Engage – renders native Android Compose UI inside React Native apps",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"module": "src/index.ts",
|
|
@@ -44,8 +44,18 @@
|
|
|
44
44
|
},
|
|
45
45
|
"author": "Digia Technology Private Limited",
|
|
46
46
|
"license": "MIT",
|
|
47
|
-
"
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@react-native-async-storage/async-storage": "^2.1.2",
|
|
49
|
+
"react-native-uuid": "^2.0.3"
|
|
50
|
+
},
|
|
51
|
+
"peerDependencies": {
|
|
52
|
+
"@floating-ui/core": "^1.0.0",
|
|
53
|
+
"react-native-reanimated": ">=3.0.0",
|
|
54
|
+
"react-native-svg": ">=13.0.0"
|
|
55
|
+
},
|
|
48
56
|
"devDependencies": {
|
|
57
|
+
"@edwardloopez/react-native-coachmark": "^0.5.3",
|
|
58
|
+
"@floating-ui/core": "^1.7.5",
|
|
49
59
|
"@react-native/eslint-config": "^0.73.0",
|
|
50
60
|
"@types/react": "^18.2.0",
|
|
51
61
|
"@types/react-native": "^0.73.0",
|
|
@@ -53,6 +63,8 @@
|
|
|
53
63
|
"react": "18.2.0",
|
|
54
64
|
"react-native": "0.73.0",
|
|
55
65
|
"react-native-builder-bob": "^0.23.0",
|
|
66
|
+
"react-native-reanimated": "^3.19.3",
|
|
67
|
+
"react-native-svg": "^15.15.1",
|
|
56
68
|
"typescript": "^5.2.0"
|
|
57
69
|
},
|
|
58
70
|
"react-native-builder-bob": {
|
|
@@ -77,4 +89,4 @@
|
|
|
77
89
|
"javaPackageName": "com.digia.engage.rn"
|
|
78
90
|
}
|
|
79
91
|
}
|
|
80
|
-
}
|
|
92
|
+
}
|