@cxpinsight/react-native 0.4.0 → 0.7.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/CHANGELOG.md +20 -0
- package/README.md +90 -0
- package/lib/CXPinsight.d.ts +66 -3
- package/lib/CXPinsight.d.ts.map +1 -1
- package/lib/CXPinsight.js +130 -3
- package/lib/CXPinsight.js.map +1 -1
- package/lib/CXPinsightProvider.d.ts.map +1 -1
- package/lib/CXPinsightProvider.js +48 -10
- package/lib/CXPinsightProvider.js.map +1 -1
- package/lib/consent/ConsentBanner.d.ts +18 -0
- package/lib/consent/ConsentBanner.d.ts.map +1 -0
- package/lib/consent/ConsentBanner.js +90 -0
- package/lib/consent/ConsentBanner.js.map +1 -0
- package/lib/core/attribution.d.ts +54 -0
- package/lib/core/attribution.d.ts.map +1 -0
- package/lib/core/attribution.js +112 -0
- package/lib/core/attribution.js.map +1 -0
- package/lib/core/consent.d.ts +16 -1
- package/lib/core/consent.d.ts.map +1 -1
- package/lib/core/consent.js +79 -32
- package/lib/core/consent.js.map +1 -1
- package/lib/core/experiments.d.ts +59 -0
- package/lib/core/experiments.d.ts.map +1 -0
- package/lib/core/experiments.js +201 -0
- package/lib/core/experiments.js.map +1 -0
- package/lib/core/triggerEngine.d.ts +5 -3
- package/lib/core/triggerEngine.d.ts.map +1 -1
- package/lib/core/triggerEngine.js +16 -2
- package/lib/core/triggerEngine.js.map +1 -1
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/lib/survey/definitionCache.d.ts +15 -0
- package/lib/survey/definitionCache.d.ts.map +1 -0
- package/lib/survey/definitionCache.js +80 -0
- package/lib/survey/definitionCache.js.map +1 -0
- package/lib/survey/pagesFromV1.d.ts.map +1 -1
- package/lib/survey/pagesFromV1.js +30 -76
- package/lib/survey/pagesFromV1.js.map +1 -1
- package/lib/survey/validate.d.ts.map +1 -1
- package/lib/survey/validate.js +13 -163
- package/lib/survey/validate.js.map +1 -1
- package/lib/survey/voiceParsers.d.ts +12 -42
- package/lib/survey/voiceParsers.d.ts.map +1 -1
- package/lib/survey/voiceParsers.js +60 -284
- package/lib/survey/voiceParsers.js.map +1 -1
- package/lib/types.d.ts +18 -1
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js.map +1 -1
- package/package.json +3 -3
|
@@ -6,6 +6,8 @@ const react_1 = require("react");
|
|
|
6
6
|
const react_native_1 = require("react-native");
|
|
7
7
|
const CXPinsight_1 = require("./CXPinsight");
|
|
8
8
|
const network_1 = require("./core/network");
|
|
9
|
+
const ConsentBanner_1 = require("./consent/ConsentBanner");
|
|
10
|
+
const definitionCache_1 = require("./survey/definitionCache");
|
|
9
11
|
const session_1 = require("./core/session");
|
|
10
12
|
const deviceInfo_1 = require("./core/deviceInfo");
|
|
11
13
|
const mobileRecorder_1 = require("./core/mobileRecorder");
|
|
@@ -44,6 +46,10 @@ function normalizeQuestion(raw) {
|
|
|
44
46
|
* affected by the SDK.
|
|
45
47
|
*/
|
|
46
48
|
function CXPinsightProvider({ children, screenName = 'Unknown', navigationRef }) {
|
|
49
|
+
// Whether the banner is up. Seeded once init() has settled, because until
|
|
50
|
+
// then the stored decision has not been read and showing the banner would
|
|
51
|
+
// ask someone who already answered.
|
|
52
|
+
const [consentPending, setConsentPending] = (0, react_1.useState)(false);
|
|
47
53
|
const [activeSurvey, setActiveSurvey] = (0, react_1.useState)(null);
|
|
48
54
|
const [activeSurveyId, setActiveSurveyId] = (0, react_1.useState)(null);
|
|
49
55
|
const surveyActiveRef = (0, react_1.useRef)(false);
|
|
@@ -53,22 +59,40 @@ function CXPinsightProvider({ children, screenName = 'Unknown', navigationRef })
|
|
|
53
59
|
const [scannedElements, setScannedElements] = (0, react_1.useState)([]);
|
|
54
60
|
const [currentScreen, setCurrentScreen] = (0, react_1.useState)(screenName);
|
|
55
61
|
// ── Survey presentation ──
|
|
62
|
+
// Returns whether the survey was actually presented. The trigger engine
|
|
63
|
+
// records a firing off this: it previously recorded unconditionally, so an
|
|
64
|
+
// invitation that failed to load still burned its frequency cap and, for a
|
|
65
|
+
// 'once' survey, was gone for good.
|
|
56
66
|
const presentSurvey = (0, react_1.useCallback)(async (surveyId, options) => {
|
|
57
67
|
try {
|
|
58
68
|
if (surveyActiveRef.current)
|
|
59
|
-
return;
|
|
69
|
+
return false;
|
|
60
70
|
// Phase 4 — fetch via v1.1 public endpoint. Server-side
|
|
61
71
|
// getSurveyV1 covers both the typed fast path (metadata.v1Definition)
|
|
62
72
|
// AND the legacy translator fallback, so a single call works
|
|
63
73
|
// regardless of when the survey was authored. The response is
|
|
64
74
|
// wrapped `{success, data: v1survey}` so we unwrap once here.
|
|
65
75
|
const result = await (0, network_1.sdkFetch)('GET', `/api/survey/v1/public/${surveyId}`);
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
76
|
+
let raw;
|
|
77
|
+
if (result.success && result.data) {
|
|
78
|
+
const envelope = result.data;
|
|
79
|
+
raw = envelope.data || envelope;
|
|
80
|
+
// Cache on the way past, so the next offline trigger has something to
|
|
81
|
+
// show. A successful fetch always wins over the cache, so an edit in
|
|
82
|
+
// the dashboard reaches respondents on their next online launch.
|
|
83
|
+
void (0, definitionCache_1.cacheDefinition)(surveyId, raw);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
// Offline, or the server is unreachable. A native app is offline
|
|
87
|
+
// routinely, and dropping the invitation here is what made a trigger
|
|
88
|
+
// that came due on a plane disappear permanently.
|
|
89
|
+
const cached = await (0, definitionCache_1.getCachedDefinition)(surveyId);
|
|
90
|
+
if (!cached) {
|
|
91
|
+
CXPinsight_1.CXPinsight._getCallbacks().onError?.(new Error(`Failed to fetch survey: ${result.error}`));
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
raw = cached;
|
|
69
95
|
}
|
|
70
|
-
const envelope = result.data;
|
|
71
|
-
const raw = envelope.data || envelope;
|
|
72
96
|
// v1.1 shape: flat questions[] + optional sections[] overlay.
|
|
73
97
|
// pagesFromV1 normalizes question ids/names first, then splits
|
|
74
98
|
// into pages via sections OR pageBreak type. The provider only
|
|
@@ -91,7 +115,7 @@ function CXPinsightProvider({ children, screenName = 'Unknown', navigationRef })
|
|
|
91
115
|
const pages = (0, pagesFromV1_1.pagesFromV1)({ questions: rawQuestions, sections: rawSections }, undefined, presentationMode);
|
|
92
116
|
if (pages.length === 0) {
|
|
93
117
|
CXPinsight_1.CXPinsight._getCallbacks().onError?.(new Error('Survey has no renderable questions'));
|
|
94
|
-
return;
|
|
118
|
+
return false;
|
|
95
119
|
}
|
|
96
120
|
// v1.1 branding pass-through. SDK sanitizer runs server-side
|
|
97
121
|
// (translator.brandingToInternal), so anything we get here is
|
|
@@ -168,7 +192,12 @@ function CXPinsightProvider({ children, screenName = 'Unknown', navigationRef })
|
|
|
168
192
|
const verdict = (envelope && envelope.data) || envelope;
|
|
169
193
|
if (res?.success && verdict && verdict.eligible === false) {
|
|
170
194
|
CXPinsight_1.CXPinsight._getCallbacks().onSurveySuppressed?.(surveyId, verdict.reason || 'targeting');
|
|
171
|
-
|
|
195
|
+
// Suppressed is not presented, so the trigger is not recorded as
|
|
196
|
+
// fired. It costs an eligibility check the next time the condition
|
|
197
|
+
// recurs, and buys the case that matters: a respondent who was not
|
|
198
|
+
// eligible today and is next week still gets the invitation, rather
|
|
199
|
+
// than having spent it while ineligible.
|
|
200
|
+
return false;
|
|
172
201
|
}
|
|
173
202
|
}
|
|
174
203
|
catch {
|
|
@@ -178,7 +207,7 @@ function CXPinsightProvider({ children, screenName = 'Unknown', navigationRef })
|
|
|
178
207
|
if (!options?.skipFrequencyCap) {
|
|
179
208
|
const allowed = await (0, frequencyCap_1.canShowSurvey)(surveyId);
|
|
180
209
|
if (!allowed)
|
|
181
|
-
return;
|
|
210
|
+
return false;
|
|
182
211
|
}
|
|
183
212
|
// Impressions/dismissals go through the v1 survey surface (same
|
|
184
213
|
// Job.metadata counters the legacy /widgets endpoints wrote, now
|
|
@@ -194,15 +223,21 @@ function CXPinsightProvider({ children, screenName = 'Unknown', navigationRef })
|
|
|
194
223
|
setActiveSurveyId(surveyId);
|
|
195
224
|
setActiveSurvey(surveyData);
|
|
196
225
|
CXPinsight_1.CXPinsight._getCallbacks().onSurveyPresented?.(surveyId);
|
|
226
|
+
return true;
|
|
197
227
|
}
|
|
198
228
|
catch (err) {
|
|
199
229
|
CXPinsight_1.CXPinsight._getCallbacks().onError?.(err instanceof Error ? err : new Error(String(err)));
|
|
230
|
+
return false;
|
|
200
231
|
}
|
|
201
232
|
}, []);
|
|
202
233
|
// ── Presenter registration ──
|
|
203
234
|
(0, react_1.useEffect)(() => {
|
|
204
235
|
CXPinsight_1.CXPinsight._registerSurveyPresenter(presentSurvey);
|
|
205
236
|
(0, triggerEngine_1.registerSurveyTrigger)(presentSurvey);
|
|
237
|
+
// The SDK tells the provider when a decision is outstanding, rather than
|
|
238
|
+
// the provider polling: init() is async, and the answer is only knowable
|
|
239
|
+
// after storage has been read.
|
|
240
|
+
CXPinsight_1.CXPinsight._registerConsentPrompt(() => setConsentPending(true));
|
|
206
241
|
CXPinsight_1.CXPinsight._registerSetupPresenter((show) => {
|
|
207
242
|
if (show) {
|
|
208
243
|
(0, SetupController_1.isSetupActive)() ? setSetupActive(true) : setShowCodeEntry(true);
|
|
@@ -373,7 +408,10 @@ function CXPinsightProvider({ children, screenName = 'Unknown', navigationRef })
|
|
|
373
408
|
const onEnd = (0, react_1.useCallback)(() => emitPending(), [emitPending]);
|
|
374
409
|
// The children get a single flex:1 wrapper so root taps can be observed. SDK UI stays
|
|
375
410
|
// outside it (Modals), so navigation is unaffected.
|
|
376
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { style: { flex: 1 }, onStartShouldSetResponderCapture: onStartCapture, onTouchEnd: onEnd, onTouchCancel: onEnd, children: children }),
|
|
411
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { style: { flex: 1 }, onStartShouldSetResponderCapture: onStartCapture, onTouchEnd: onEnd, onTouchCancel: onEnd, children: children }), (0, jsx_runtime_1.jsx)(ConsentBanner_1.ConsentBanner, { visible: consentPending, text: CXPinsight_1.CXPinsight._getConfig()?.consentText, onDecide: (map) => {
|
|
412
|
+
CXPinsight_1.CXPinsight.consent(map);
|
|
413
|
+
setConsentPending(false);
|
|
414
|
+
} }), activeSurvey && ((0, jsx_runtime_1.jsx)(SurveyModal_1.SurveyModal, { survey: activeSurvey, visible: !!activeSurvey, onSubmit: handleSubmit, onDismiss: handleDismiss })), showCodeEntry && sdkConfig && ((0, jsx_runtime_1.jsx)(SetupCodeEntry_1.SetupCodeEntry, { visible: showCodeEntry,
|
|
377
415
|
// Phase 9: SDK config no longer carries a siteId. Setup mode needs a
|
|
378
416
|
// Site row id (per-device pairing key) that the app must supply
|
|
379
417
|
// externally — the built-in flow leaves it blank so callers see the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CXPinsightProvider.js","sourceRoot":"","sources":["../src/CXPinsightProvider.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CXPinsightProvider.js","sourceRoot":"","sources":["../src/CXPinsightProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ConsentMap } from '../core/consent';
|
|
2
|
+
export interface ConsentBannerText {
|
|
3
|
+
title?: string;
|
|
4
|
+
body?: string;
|
|
5
|
+
acceptAll?: string;
|
|
6
|
+
customize?: string;
|
|
7
|
+
customizeTitle?: string;
|
|
8
|
+
save?: string;
|
|
9
|
+
rejectAll?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ConsentBannerProps {
|
|
12
|
+
visible: boolean;
|
|
13
|
+
accent?: string;
|
|
14
|
+
text?: ConsentBannerText;
|
|
15
|
+
onDecide: (map: ConsentMap) => void;
|
|
16
|
+
}
|
|
17
|
+
export declare function ConsentBanner({ visible, accent, text, onDecide }: ConsentBannerProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=ConsentBanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsentBanner.d.ts","sourceRoot":"","sources":["../../src/consent/ConsentBanner.tsx"],"names":[],"mappings":"AAeA,OAAO,EAA4C,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAsB5F,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;CACrC;AAKD,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,MAAkB,EAAE,IAAS,EAAE,QAAQ,EAAE,EAAE,kBAAkB,2CAmFrG"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConsentBanner = ConsentBanner;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/**
|
|
6
|
+
* The consent banner — "Accept all / Customize", and behind Customize a toggle
|
|
7
|
+
* per category.
|
|
8
|
+
*
|
|
9
|
+
* The same two views and the same categories as the web SDK's, so a company
|
|
10
|
+
* shipping both channels asks its users one question, not two versions of one
|
|
11
|
+
* question. Only the rendering differs, which is the whole point of keeping the
|
|
12
|
+
* decision rules in core/consent.ts.
|
|
13
|
+
*
|
|
14
|
+
* OPT-IN, per app: `consentBanner: true` in init(). Most apps have their own
|
|
15
|
+
* privacy flow and call CXPinsight.consent(...) from it, and showing ours
|
|
16
|
+
* unasked would give their users two.
|
|
17
|
+
*/
|
|
18
|
+
const react_1 = require("react");
|
|
19
|
+
const react_native_1 = require("react-native");
|
|
20
|
+
const consent_1 = require("../core/consent");
|
|
21
|
+
/** What each category means in the user's terms, not ours. */
|
|
22
|
+
const COPY = {
|
|
23
|
+
analytics: {
|
|
24
|
+
label: 'Product analytics',
|
|
25
|
+
hint: 'Which screens you open and what you tap, so we can see what needs fixing.',
|
|
26
|
+
},
|
|
27
|
+
recording: {
|
|
28
|
+
label: 'Session replay',
|
|
29
|
+
hint: 'A timeline of your visit. Anything you type is hidden.',
|
|
30
|
+
},
|
|
31
|
+
network: {
|
|
32
|
+
label: 'Performance',
|
|
33
|
+
hint: 'How long our own requests take. Never their contents.',
|
|
34
|
+
},
|
|
35
|
+
surveys: {
|
|
36
|
+
label: 'Feedback surveys',
|
|
37
|
+
hint: 'Lets us ask you a short question now and then.',
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
const all = (granted) => consent_1.CONSENT_CATEGORIES.reduce((m, c) => { m[c] = granted; return m; }, {});
|
|
41
|
+
function ConsentBanner({ visible, accent = '#2b6cb0', text = {}, onDecide }) {
|
|
42
|
+
const [customizing, setCustomizing] = (0, react_1.useState)(false);
|
|
43
|
+
const [choices, setChoices] = (0, react_1.useState)(() => all(false));
|
|
44
|
+
// Recomputed only when the accent changes, because StyleSheet.create on every
|
|
45
|
+
// render defeats the caching it exists for.
|
|
46
|
+
const s = (0, react_1.useMemo)(() => styles(accent), [accent]);
|
|
47
|
+
const decide = (map) => {
|
|
48
|
+
setCustomizing(false);
|
|
49
|
+
setChoices(all(false));
|
|
50
|
+
onDecide(map);
|
|
51
|
+
};
|
|
52
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.Modal, { visible: visible, transparent: true, animationType: "fade",
|
|
53
|
+
// Android's back button declines rather than dismissing. A banner that
|
|
54
|
+
// can be waved away without answering collects data from someone who
|
|
55
|
+
// never agreed, so the dismissal has to mean something and "no" is the
|
|
56
|
+
// only safe reading.
|
|
57
|
+
onRequestClose: () => decide(all(false)), children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: s.backdrop, children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: s.panel, accessibilityViewIsModal: true, accessibilityRole: "alert", children: !customizing ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: s.title, children: text.title ?? 'Your privacy choices' }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: s.body, children: text.body ?? 'We collect a little information to understand how the app is used. You choose what.' }), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: s.actions, children: [(0, jsx_runtime_1.jsx)(react_native_1.Pressable, { style: [s.btn, s.accept], accessibilityRole: "button", onPress: () => decide(all(true)), children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: s.acceptLabel, children: text.acceptAll ?? 'Accept all' }) }), (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { style: [s.btn, s.secondary], accessibilityRole: "button", onPress: () => setCustomizing(true), children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: s.secondaryLabel, children: text.customize ?? 'Customize' }) })] })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: s.title, children: text.customizeTitle ?? 'Choose what to allow' }), (0, jsx_runtime_1.jsx)(react_native_1.ScrollView, { style: s.list, children: consent_1.CONSENT_CATEGORIES.map((c) => ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: s.row, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: s.rowText, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: s.label, children: COPY[c].label }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: s.hint, children: COPY[c].hint })] }), (0, jsx_runtime_1.jsx)(react_native_1.Switch, { value: choices[c], onValueChange: (v) => setChoices((prev) => ({ ...prev, [c]: v })), accessibilityLabel: COPY[c].label, trackColor: { true: accent, false: '#cfcfcf' } })] }, c))) }), (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: s.actions, children: [(0, jsx_runtime_1.jsx)(react_native_1.Pressable, { style: [s.btn, s.accept], accessibilityRole: "button", onPress: () => decide(choices), children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: s.acceptLabel, children: text.save ?? 'Save choices' }) }), (0, jsx_runtime_1.jsx)(react_native_1.Pressable, { style: [s.btn, s.secondary], accessibilityRole: "button", onPress: () => decide(all(false)), children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: s.secondaryLabel, children: text.rejectAll ?? 'Reject all' }) })] })] })) }) }) }));
|
|
58
|
+
}
|
|
59
|
+
const styles = (accent) => react_native_1.StyleSheet.create({
|
|
60
|
+
backdrop: {
|
|
61
|
+
flex: 1, backgroundColor: 'rgba(0,0,0,0.35)',
|
|
62
|
+
justifyContent: 'flex-end', padding: 16,
|
|
63
|
+
},
|
|
64
|
+
panel: {
|
|
65
|
+
backgroundColor: '#fff', borderRadius: 14, padding: 22,
|
|
66
|
+
maxHeight: '86%',
|
|
67
|
+
shadowColor: '#000', shadowOpacity: 0.28, shadowRadius: 20, shadowOffset: { width: 0, height: 12 },
|
|
68
|
+
elevation: 12,
|
|
69
|
+
},
|
|
70
|
+
title: { fontSize: 18, fontWeight: '600', color: '#1a1a1a', marginBottom: 8 },
|
|
71
|
+
body: { fontSize: 14, lineHeight: 21, color: '#5c5c5c', marginBottom: 18 },
|
|
72
|
+
actions: { flexDirection: 'row', flexWrap: 'wrap', gap: 10 },
|
|
73
|
+
btn: {
|
|
74
|
+
flexGrow: 1, flexBasis: 130, paddingVertical: 12, paddingHorizontal: 18,
|
|
75
|
+
borderRadius: 8, alignItems: 'center', borderWidth: 1, borderColor: 'transparent',
|
|
76
|
+
},
|
|
77
|
+
accept: { backgroundColor: accent },
|
|
78
|
+
acceptLabel: { color: '#fff', fontWeight: '600', fontSize: 15 },
|
|
79
|
+
secondary: { backgroundColor: 'transparent', borderColor: '#d4d4d4' },
|
|
80
|
+
secondaryLabel: { color: '#1a1a1a', fontWeight: '600', fontSize: 15 },
|
|
81
|
+
list: { marginBottom: 18 },
|
|
82
|
+
row: {
|
|
83
|
+
flexDirection: 'row', alignItems: 'flex-start', gap: 12,
|
|
84
|
+
paddingVertical: 12, borderBottomWidth: react_native_1.StyleSheet.hairlineWidth, borderBottomColor: '#ececec',
|
|
85
|
+
},
|
|
86
|
+
rowText: { flex: 1 },
|
|
87
|
+
label: { fontSize: 14.5, fontWeight: '600', color: '#1a1a1a' },
|
|
88
|
+
hint: { fontSize: 13, lineHeight: 19, color: '#5c5c5c', marginTop: 2 },
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=ConsentBanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsentBanner.js","sourceRoot":"","sources":["../../src/consent/ConsentBanner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Campaign attribution.
|
|
3
|
+
*
|
|
4
|
+
* The web SDK reads UTM parameters off the page URL and classifies the traffic
|
|
5
|
+
* channel from them and the referrer. Mobile captured neither, so a campaign
|
|
6
|
+
* that drove an app install or open was attributed as Direct — the traffic
|
|
7
|
+
* existed in the numbers, it just had no source.
|
|
8
|
+
*
|
|
9
|
+
* ## Where the parameters come from
|
|
10
|
+
*
|
|
11
|
+
* The deep link that opened the app. `parseDeepLink()` already extracts the
|
|
12
|
+
* query, so this only has to read it. There is no referrer in a native app, so
|
|
13
|
+
* the referrer half of web's classification has no analogue here — the deep
|
|
14
|
+
* link host is the closest thing and is recorded as `source_host` rather than
|
|
15
|
+
* pretending to be a referrer.
|
|
16
|
+
*
|
|
17
|
+
* Android's install referrer, which is how a Play Store campaign attributes a
|
|
18
|
+
* FIRST launch, needs a native module and is deliberately out of scope. Without
|
|
19
|
+
* it, an install driven by a campaign is attributed only if the campaign also
|
|
20
|
+
* deep-links into the app. Recorded so nobody assumes install attribution works.
|
|
21
|
+
*
|
|
22
|
+
* ## Ported, and tested against the original
|
|
23
|
+
*
|
|
24
|
+
* `classifyChannel` is web's UTM logic, rule for rule and in the same order —
|
|
25
|
+
* order matters, since a link with both `utm_medium=social` and `gclid` is Paid
|
|
26
|
+
* Search on web and has to be here too. The referrer rules are web-only and are
|
|
27
|
+
* not reproduced. A test runs web's own function against this one over a matrix
|
|
28
|
+
* of UTM inputs, because two channel classifiers that disagree quietly split one
|
|
29
|
+
* campaign's numbers across two rows in a report.
|
|
30
|
+
*/
|
|
31
|
+
export type UtmParams = Record<string, string>;
|
|
32
|
+
/** Pull campaign parameters out of a deep link's query. Null when there are none. */
|
|
33
|
+
export declare function utmFromParams(params: Record<string, string> | undefined): UtmParams | null;
|
|
34
|
+
/**
|
|
35
|
+
* Traffic channel from campaign parameters.
|
|
36
|
+
*
|
|
37
|
+
* Mirrors the web SDK's UTM branch exactly, including the order — the first
|
|
38
|
+
* matching rule wins, so `utm_medium=social` with a `gclid` classifies as Paid
|
|
39
|
+
* Search on both channels rather than Social on one of them.
|
|
40
|
+
*
|
|
41
|
+
* Returns 'Direct' when there is nothing to go on. Web can do better there
|
|
42
|
+
* because it has a referrer; mobile genuinely cannot.
|
|
43
|
+
*/
|
|
44
|
+
export declare function classifyChannel(utm: UtmParams | null): string;
|
|
45
|
+
export interface Attribution {
|
|
46
|
+
utm: UtmParams | null;
|
|
47
|
+
channel: string;
|
|
48
|
+
/** The deep link host, when there was one. Not a referrer; do not treat it as one. */
|
|
49
|
+
source_host?: string;
|
|
50
|
+
}
|
|
51
|
+
export declare function recordAttribution(params: Record<string, string> | undefined, host?: string): Attribution;
|
|
52
|
+
export declare function getFirstTouch(): Attribution | null;
|
|
53
|
+
export declare function clearAttribution(): void;
|
|
54
|
+
//# sourceMappingURL=attribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../../src/core/attribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAMH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE/C,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAM1F;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAc7D;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAWD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC1C,IAAI,CAAC,EAAE,MAAM,GACZ,WAAW,CAQb;AAED,wBAAgB,aAAa,IAAI,WAAW,GAAG,IAAI,CAElD;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Campaign attribution.
|
|
4
|
+
*
|
|
5
|
+
* The web SDK reads UTM parameters off the page URL and classifies the traffic
|
|
6
|
+
* channel from them and the referrer. Mobile captured neither, so a campaign
|
|
7
|
+
* that drove an app install or open was attributed as Direct — the traffic
|
|
8
|
+
* existed in the numbers, it just had no source.
|
|
9
|
+
*
|
|
10
|
+
* ## Where the parameters come from
|
|
11
|
+
*
|
|
12
|
+
* The deep link that opened the app. `parseDeepLink()` already extracts the
|
|
13
|
+
* query, so this only has to read it. There is no referrer in a native app, so
|
|
14
|
+
* the referrer half of web's classification has no analogue here — the deep
|
|
15
|
+
* link host is the closest thing and is recorded as `source_host` rather than
|
|
16
|
+
* pretending to be a referrer.
|
|
17
|
+
*
|
|
18
|
+
* Android's install referrer, which is how a Play Store campaign attributes a
|
|
19
|
+
* FIRST launch, needs a native module and is deliberately out of scope. Without
|
|
20
|
+
* it, an install driven by a campaign is attributed only if the campaign also
|
|
21
|
+
* deep-links into the app. Recorded so nobody assumes install attribution works.
|
|
22
|
+
*
|
|
23
|
+
* ## Ported, and tested against the original
|
|
24
|
+
*
|
|
25
|
+
* `classifyChannel` is web's UTM logic, rule for rule and in the same order —
|
|
26
|
+
* order matters, since a link with both `utm_medium=social` and `gclid` is Paid
|
|
27
|
+
* Search on web and has to be here too. The referrer rules are web-only and are
|
|
28
|
+
* not reproduced. A test runs web's own function against this one over a matrix
|
|
29
|
+
* of UTM inputs, because two channel classifiers that disagree quietly split one
|
|
30
|
+
* campaign's numbers across two rows in a report.
|
|
31
|
+
*/
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.utmFromParams = utmFromParams;
|
|
34
|
+
exports.classifyChannel = classifyChannel;
|
|
35
|
+
exports.recordAttribution = recordAttribution;
|
|
36
|
+
exports.getFirstTouch = getFirstTouch;
|
|
37
|
+
exports.clearAttribution = clearAttribution;
|
|
38
|
+
/** The parameters web reads, in the order it reads them. */
|
|
39
|
+
const UTM_KEYS = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'];
|
|
40
|
+
const CLICK_IDS = ['gclid', 'fbclid', 'msclkid'];
|
|
41
|
+
/** Pull campaign parameters out of a deep link's query. Null when there are none. */
|
|
42
|
+
function utmFromParams(params) {
|
|
43
|
+
if (!params)
|
|
44
|
+
return null;
|
|
45
|
+
const utm = {};
|
|
46
|
+
for (const k of UTM_KEYS)
|
|
47
|
+
if (params[k])
|
|
48
|
+
utm[k] = params[k];
|
|
49
|
+
for (const k of CLICK_IDS)
|
|
50
|
+
if (params[k])
|
|
51
|
+
utm[k] = params[k];
|
|
52
|
+
return Object.keys(utm).length ? utm : null;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Traffic channel from campaign parameters.
|
|
56
|
+
*
|
|
57
|
+
* Mirrors the web SDK's UTM branch exactly, including the order — the first
|
|
58
|
+
* matching rule wins, so `utm_medium=social` with a `gclid` classifies as Paid
|
|
59
|
+
* Search on both channels rather than Social on one of them.
|
|
60
|
+
*
|
|
61
|
+
* Returns 'Direct' when there is nothing to go on. Web can do better there
|
|
62
|
+
* because it has a referrer; mobile genuinely cannot.
|
|
63
|
+
*/
|
|
64
|
+
function classifyChannel(utm) {
|
|
65
|
+
if (utm) {
|
|
66
|
+
const medium = (utm.utm_medium || '').toLowerCase();
|
|
67
|
+
const source = (utm.utm_source || '').toLowerCase();
|
|
68
|
+
if (medium === 'cpc' || medium === 'ppc' || medium === 'paid' || utm.gclid || utm.msclkid)
|
|
69
|
+
return 'Paid Search';
|
|
70
|
+
if (medium === 'paid_social' || medium === 'paidsocial')
|
|
71
|
+
return 'Paid Social';
|
|
72
|
+
if (medium === 'display' || medium === 'banner' || medium === 'cpm')
|
|
73
|
+
return 'Display';
|
|
74
|
+
if (medium === 'email' || source === 'email' || source === 'newsletter')
|
|
75
|
+
return 'Email';
|
|
76
|
+
if (medium === 'social' || medium === 'social-media' || utm.fbclid)
|
|
77
|
+
return 'Social';
|
|
78
|
+
if (medium === 'affiliate')
|
|
79
|
+
return 'Affiliates';
|
|
80
|
+
if (medium === 'referral')
|
|
81
|
+
return 'Referral';
|
|
82
|
+
if (medium === 'organic')
|
|
83
|
+
return 'Organic Search';
|
|
84
|
+
}
|
|
85
|
+
return 'Direct';
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* First-touch attribution for the session.
|
|
89
|
+
*
|
|
90
|
+
* Held in memory only. Persisting a first-touch across installs would outlive
|
|
91
|
+
* the identity it describes, and the platform already has the events needed to
|
|
92
|
+
* reconstruct it server-side from the first attributed open.
|
|
93
|
+
*/
|
|
94
|
+
let firstTouch = null;
|
|
95
|
+
function recordAttribution(params, host) {
|
|
96
|
+
const utm = utmFromParams(params);
|
|
97
|
+
const attribution = { utm, channel: classifyChannel(utm) };
|
|
98
|
+
if (host)
|
|
99
|
+
attribution.source_host = host;
|
|
100
|
+
// Only an ATTRIBUTED open replaces first-touch. Otherwise every subsequent
|
|
101
|
+
// plain launch would overwrite the campaign that actually brought the user in.
|
|
102
|
+
if (!firstTouch || (utm && !firstTouch.utm))
|
|
103
|
+
firstTouch = attribution;
|
|
104
|
+
return attribution;
|
|
105
|
+
}
|
|
106
|
+
function getFirstTouch() {
|
|
107
|
+
return firstTouch;
|
|
108
|
+
}
|
|
109
|
+
function clearAttribution() {
|
|
110
|
+
firstTouch = null;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=attribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribution.js","sourceRoot":"","sources":["../../src/core/attribution.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;;;;;;;AAEH,4DAA4D;AAC5D,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,CAAU,CAAC;AAClG,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAI1D,qFAAqF;AACrF,uBAA8B,MAA0C;IACtE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,IAAI,MAAM,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5D,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,IAAI,MAAM,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC;AAED;;;;;;;;;GASG;AACH,yBAAgC,GAAqB;IACnD,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACpD,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO;YAAE,OAAO,aAAa,CAAC;QAChH,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,YAAY;YAAE,OAAO,aAAa,CAAC;QAC9E,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,SAAS,CAAC;QACtF,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,YAAY;YAAE,OAAO,OAAO,CAAC;QACxF,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,cAAc,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QACpF,IAAI,MAAM,KAAK,WAAW;YAAE,OAAO,YAAY,CAAC;QAChD,IAAI,MAAM,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,gBAAgB,CAAC;IACpD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AASD;;;;;;GAMG;AACH,IAAI,UAAU,GAAuB,IAAI,CAAC;AAE1C,2BACE,MAA0C,EAC1C,IAAa;IAEb,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,WAAW,GAAgB,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;IACxE,IAAI,IAAI;QAAE,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC;IACzC,2EAA2E;IAC3E,+EAA+E;IAC/E,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,UAAU,GAAG,WAAW,CAAC;IACtE,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;IACE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;IACE,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC"}
|
package/lib/core/consent.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export type ConsentState = 'granted' | 'denied' | null;
|
|
2
|
+
/** Only what this SDK can actually do. Same list as the web SDK. */
|
|
3
|
+
export declare const CONSENT_CATEGORIES: readonly ['analytics', 'recording', 'network', 'surveys'];
|
|
4
|
+
export type ConsentCategory = (typeof CONSENT_CATEGORIES)[number];
|
|
5
|
+
export type ConsentMap = Record<ConsentCategory, boolean>;
|
|
2
6
|
/** Restore any prior decision. Call once during init, before capture starts. */
|
|
3
7
|
export declare function initConsent(requireConsent?: boolean): Promise<void>;
|
|
4
8
|
/** Notified when consent flips, so the SDK can start or stop capture. */
|
|
@@ -9,11 +13,22 @@ export declare function setConsentHandler(cb: ((granted: boolean) => void) | nul
|
|
|
9
13
|
* An explicit denial always wins, even when requireConsent is off — a host that
|
|
10
14
|
* calls optOut() means it, regardless of how the SDK was configured.
|
|
11
15
|
*/
|
|
16
|
+
export declare function mayUse(category: ConsentCategory): boolean;
|
|
17
|
+
/** Kept for call sites that predate categories; analytics is the broadest. */
|
|
12
18
|
export declare function mayCapture(): boolean;
|
|
13
19
|
/** True when events should be held rather than sent (awaiting a decision). */
|
|
14
20
|
export declare function isPending(): boolean;
|
|
15
21
|
export declare function consentRequired(): boolean;
|
|
16
|
-
|
|
22
|
+
/**
|
|
23
|
+
* The per-category decision, or null when the visitor has not decided.
|
|
24
|
+
*
|
|
25
|
+
* Null rather than an all-false map: "declined" and "not asked yet" need
|
|
26
|
+
* different UI, and a banner that cannot tell them apart re-prompts someone who
|
|
27
|
+
* already said no.
|
|
28
|
+
*/
|
|
29
|
+
export declare function getConsent(): ConsentMap | null;
|
|
30
|
+
/** Set some categories, leaving the rest as they are. Unknown keys are ignored. */
|
|
31
|
+
export declare function setConsent(partial: Partial<ConsentMap>): void;
|
|
17
32
|
export declare function grantConsent(): void;
|
|
18
33
|
export declare function revokeConsent(): void;
|
|
19
34
|
/** Reset to "no decision yet" — used by CXPinsight.reset(). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../src/core/consent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../src/core/consent.ts"],"names":[],"mappings":"AAsCA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;AAEvD,oEAAoE;AACpE,eAAO,MAAM,kBAAkB,YAAI,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAC5F,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAClE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAS1D,gFAAgF;AAChF,wBAAsB,WAAW,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAczE;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAIzD;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,UAAU,GAAG,IAAI,CAM9C;AAED,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAiB7D;AAED,wBAAgB,YAAY,IAAI,IAAI,CAAqC;AACzE,wBAAgB,aAAa,IAAI,IAAI,CAAsC;AAE3E,+DAA+D;AAC/D,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlD"}
|