@apex-inc/capacitor-plugin 2.2.1 → 2.2.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 +9 -0
- package/dist/auto-screen-views.d.ts +53 -0
- package/dist/auto-screen-views.d.ts.map +1 -0
- package/dist/auto-screen-views.js +84 -0
- package/dist/auto-screen-views.js.map +1 -0
- package/dist/batch-sender.d.ts +27 -0
- package/dist/batch-sender.d.ts.map +1 -1
- package/dist/batch-sender.js +40 -2
- package/dist/batch-sender.js.map +1 -1
- package/dist/definitions.d.ts +8 -0
- package/dist/definitions.d.ts.map +1 -1
- package/dist/esm/auto-screen-views.d.ts +53 -0
- package/dist/esm/auto-screen-views.d.ts.map +1 -0
- package/dist/esm/auto-screen-views.js +81 -0
- package/dist/esm/auto-screen-views.js.map +1 -0
- package/dist/esm/batch-sender.d.ts +27 -0
- package/dist/esm/batch-sender.d.ts.map +1 -1
- package/dist/esm/batch-sender.js +40 -2
- package/dist/esm/batch-sender.js.map +1 -1
- package/dist/esm/definitions.d.ts +8 -0
- package/dist/esm/definitions.d.ts.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +34 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/screen-view.d.ts +6 -5
- package/dist/esm/screen-view.d.ts.map +1 -1
- package/dist/esm/screen-view.js +6 -5
- package/dist/esm/screen-view.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -2
- package/dist/index.js.map +1 -1
- package/dist/screen-view.d.ts +6 -5
- package/dist/screen-view.d.ts.map +1 -1
- package/dist/screen-view.js +6 -5
- package/dist/screen-view.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,6 +27,7 @@ await Apex.initialize({
|
|
|
27
27
|
// Optional:
|
|
28
28
|
// apiKey: "apex_sk_…", // see "API keys" below — unlocks verified identity stitching
|
|
29
29
|
// apiUrl: "https://app.apex.inc",
|
|
30
|
+
// autoTrackScreenViews: true, // default — screen_view auto-fires from SPA navigation
|
|
30
31
|
// sessionTimeoutMinutes: 30,
|
|
31
32
|
// offlineQueueMaxSize: 1000,
|
|
32
33
|
// testMode: false,
|
|
@@ -34,6 +35,14 @@ await Apex.initialize({
|
|
|
34
35
|
});
|
|
35
36
|
```
|
|
36
37
|
|
|
38
|
+
`app_open` auto-fires on `initialize()`. `screen_view` auto-fires from
|
|
39
|
+
the webview's History API (pushState / replaceState / back-forward /
|
|
40
|
+
hashchange — covers Ionic, React Router, Vue Router, and plain SPA
|
|
41
|
+
routing, on device and in browser preview). Screen names default to the
|
|
42
|
+
URL path (`/product/42`); for richer names, set
|
|
43
|
+
`autoTrackScreenViews: false` and wire `trackScreenView("Product Detail")`
|
|
44
|
+
into your router instead.
|
|
45
|
+
|
|
37
46
|
### API keys
|
|
38
47
|
|
|
39
48
|
`identify()` and server-trusted flows work best with a workspace SDK key
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* F7 (2026-06-11 post-mortem) — automatic `screen_view` tracking.
|
|
3
|
+
*
|
|
4
|
+
* The install copy long promised "screen_view fires automatically" while
|
|
5
|
+
* the SDK shipped only a manual `trackScreenView` helper the adopter had
|
|
6
|
+
* to wire into their router. This module makes the promise true for
|
|
7
|
+
* every Capacitor app whose navigation runs through the webview's
|
|
8
|
+
* History API (Ionic, React Router, Vue Router, plain SPA routing —
|
|
9
|
+
* i.e. effectively all Capacitor apps, on device and in browser
|
|
10
|
+
* preview alike, since routing happens in JS either way).
|
|
11
|
+
*
|
|
12
|
+
* Mechanics: patch `history.pushState` / `history.replaceState` and
|
|
13
|
+
* listen for `popstate` + `hashchange`. Each navigation derives a
|
|
14
|
+
* `screen_name` from the path (+hash), dedupes consecutive repeats,
|
|
15
|
+
* and emits the spec-canonical payload (`screen_name` /
|
|
16
|
+
* `previous_screen`) through the provided `track` function — which is
|
|
17
|
+
* the plugin proxy's own `track`, so the offline queue, batch sender,
|
|
18
|
+
* and native bridge paths all stay unchanged.
|
|
19
|
+
*
|
|
20
|
+
* Manual `trackScreenView` remains for apps that want richer names
|
|
21
|
+
* than the URL path (and wins: a manual call for the same screen is
|
|
22
|
+
* just another track; the server's catalog keys by event name).
|
|
23
|
+
*/
|
|
24
|
+
export interface AutoScreenViewEvent {
|
|
25
|
+
type: "screen_view";
|
|
26
|
+
data: {
|
|
27
|
+
screen_name: string;
|
|
28
|
+
previous_screen?: string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface AutoScreenViewOptions {
|
|
32
|
+
/**
|
|
33
|
+
* Sink for derived events — normally the plugin's `track`. Errors are
|
|
34
|
+
* the sink's job to swallow; this module fires and forgets.
|
|
35
|
+
*/
|
|
36
|
+
track: (event: AutoScreenViewEvent) => void;
|
|
37
|
+
/**
|
|
38
|
+
* Derive a screen name from the current location. Default:
|
|
39
|
+
* `pathname` plus `#hash` when present (`/shop`, `/product/42`,
|
|
40
|
+
* `/#/settings` for hash routers), `/` for the root.
|
|
41
|
+
*/
|
|
42
|
+
screenName?: (location: Location) => string;
|
|
43
|
+
/** Fire a `screen_view` for the screen visible at enable time. Default true. */
|
|
44
|
+
trackInitial?: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Start auto-tracking. Idempotent per page: enabling again disposes the
|
|
48
|
+
* previous instance's listeners first (callers hold the disposer).
|
|
49
|
+
* Returns a disposer that unpatches history and removes listeners.
|
|
50
|
+
* No-ops (returns a no-op disposer) outside a browser-like runtime.
|
|
51
|
+
*/
|
|
52
|
+
export declare function enableAutoScreenViews(options: AutoScreenViewOptions): () => void;
|
|
53
|
+
//# sourceMappingURL=auto-screen-views.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-screen-views.d.ts","sourceRoot":"","sources":["../src/auto-screen-views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5C;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,MAAM,CAAC;IAC5C,gFAAgF;IAChF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAQD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,qBAAqB,GAC7B,MAAM,IAAI,CAuDZ"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* F7 (2026-06-11 post-mortem) — automatic `screen_view` tracking.
|
|
4
|
+
*
|
|
5
|
+
* The install copy long promised "screen_view fires automatically" while
|
|
6
|
+
* the SDK shipped only a manual `trackScreenView` helper the adopter had
|
|
7
|
+
* to wire into their router. This module makes the promise true for
|
|
8
|
+
* every Capacitor app whose navigation runs through the webview's
|
|
9
|
+
* History API (Ionic, React Router, Vue Router, plain SPA routing —
|
|
10
|
+
* i.e. effectively all Capacitor apps, on device and in browser
|
|
11
|
+
* preview alike, since routing happens in JS either way).
|
|
12
|
+
*
|
|
13
|
+
* Mechanics: patch `history.pushState` / `history.replaceState` and
|
|
14
|
+
* listen for `popstate` + `hashchange`. Each navigation derives a
|
|
15
|
+
* `screen_name` from the path (+hash), dedupes consecutive repeats,
|
|
16
|
+
* and emits the spec-canonical payload (`screen_name` /
|
|
17
|
+
* `previous_screen`) through the provided `track` function — which is
|
|
18
|
+
* the plugin proxy's own `track`, so the offline queue, batch sender,
|
|
19
|
+
* and native bridge paths all stay unchanged.
|
|
20
|
+
*
|
|
21
|
+
* Manual `trackScreenView` remains for apps that want richer names
|
|
22
|
+
* than the URL path (and wins: a manual call for the same screen is
|
|
23
|
+
* just another track; the server's catalog keys by event name).
|
|
24
|
+
*/
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.enableAutoScreenViews = enableAutoScreenViews;
|
|
27
|
+
function defaultScreenName(location) {
|
|
28
|
+
const path = location.pathname || "/";
|
|
29
|
+
const hash = location.hash && location.hash !== "#" ? location.hash : "";
|
|
30
|
+
return `${path}${hash}`;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Start auto-tracking. Idempotent per page: enabling again disposes the
|
|
34
|
+
* previous instance's listeners first (callers hold the disposer).
|
|
35
|
+
* Returns a disposer that unpatches history and removes listeners.
|
|
36
|
+
* No-ops (returns a no-op disposer) outside a browser-like runtime.
|
|
37
|
+
*/
|
|
38
|
+
function enableAutoScreenViews(options) {
|
|
39
|
+
if (typeof window === "undefined" ||
|
|
40
|
+
typeof history === "undefined" ||
|
|
41
|
+
typeof location === "undefined") {
|
|
42
|
+
return () => undefined;
|
|
43
|
+
}
|
|
44
|
+
const nameFor = options.screenName ?? defaultScreenName;
|
|
45
|
+
let currentScreen = null;
|
|
46
|
+
const emit = () => {
|
|
47
|
+
const next = nameFor(window.location);
|
|
48
|
+
if (!next || next === currentScreen)
|
|
49
|
+
return; // dedupe consecutive repeats
|
|
50
|
+
const previous = currentScreen;
|
|
51
|
+
currentScreen = next;
|
|
52
|
+
options.track({
|
|
53
|
+
type: "screen_view",
|
|
54
|
+
data: {
|
|
55
|
+
screen_name: next,
|
|
56
|
+
...(previous ? { previous_screen: previous } : {}),
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
// Patch pushState/replaceState — SPA routers navigate through these
|
|
61
|
+
// and they fire no DOM event of their own.
|
|
62
|
+
const originalPushState = history.pushState.bind(history);
|
|
63
|
+
const originalReplaceState = history.replaceState.bind(history);
|
|
64
|
+
history.pushState = function pushState(...args) {
|
|
65
|
+
originalPushState(...args);
|
|
66
|
+
emit();
|
|
67
|
+
};
|
|
68
|
+
history.replaceState = function replaceState(...args) {
|
|
69
|
+
originalReplaceState(...args);
|
|
70
|
+
emit();
|
|
71
|
+
};
|
|
72
|
+
const onPop = () => emit();
|
|
73
|
+
window.addEventListener("popstate", onPop);
|
|
74
|
+
window.addEventListener("hashchange", onPop);
|
|
75
|
+
if (options.trackInitial !== false)
|
|
76
|
+
emit();
|
|
77
|
+
return () => {
|
|
78
|
+
history.pushState = originalPushState;
|
|
79
|
+
history.replaceState = originalReplaceState;
|
|
80
|
+
window.removeEventListener("popstate", onPop);
|
|
81
|
+
window.removeEventListener("hashchange", onPop);
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=auto-screen-views.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-screen-views.js","sourceRoot":"","sources":["../src/auto-screen-views.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;AAmCH,sDAyDC;AArED,SAAS,iBAAiB,CAAC,QAAkB;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,GAAG,CAAC;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,OAAO,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,OAA8B;IAE9B,IACE,OAAO,MAAM,KAAK,WAAW;QAC7B,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,QAAQ,KAAK,WAAW,EAC/B,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC;IACxD,IAAI,aAAa,GAAkB,IAAI,CAAC;IAExC,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,aAAa;YAAE,OAAO,CAAC,6BAA6B;QAC1E,MAAM,QAAQ,GAAG,aAAa,CAAC;QAC/B,aAAa,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC;YACZ,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE;gBACJ,WAAW,EAAE,IAAI;gBACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnD;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,oEAAoE;IACpE,2CAA2C;IAC3C,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChE,OAAO,CAAC,SAAS,GAAG,SAAS,SAAS,CACpC,GAAG,IAAsC;QAEzC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IACF,OAAO,CAAC,YAAY,GAAG,SAAS,YAAY,CAC1C,GAAG,IAAyC;QAE5C,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9B,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3B,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAE7C,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK;QAAE,IAAI,EAAE,CAAC;IAE3C,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC;QACtC,OAAO,CAAC,YAAY,GAAG,oBAAoB,CAAC;QAC5C,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/batch-sender.d.ts
CHANGED
|
@@ -36,12 +36,31 @@ export interface BatchSenderOptions {
|
|
|
36
36
|
platformHeader?: "ios" | "android" | "web";
|
|
37
37
|
/** Enable verbose logs. */
|
|
38
38
|
debug?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* F4 (2026-06-11 post-mortem) — called when the server accepted the
|
|
41
|
+
* batch but dropped events (`untracked` in the /api/events response):
|
|
42
|
+
* the sent-vs-tracked gap surfaces at the call site instead of being
|
|
43
|
+
* a dashboard mystery. Also debug-logged when `debug` is on.
|
|
44
|
+
*/
|
|
45
|
+
onUntracked?: (items: UntrackedItem[]) => void;
|
|
46
|
+
}
|
|
47
|
+
/** One server-side drop from the /api/events response. */
|
|
48
|
+
export interface UntrackedItem {
|
|
49
|
+
type: string;
|
|
50
|
+
reason: string;
|
|
39
51
|
}
|
|
40
52
|
export interface FlushResult {
|
|
41
53
|
flushed: number;
|
|
42
54
|
remaining: number;
|
|
43
55
|
attemptedBatches: number;
|
|
44
56
|
lastError?: string;
|
|
57
|
+
/**
|
|
58
|
+
* F4 — events the server received but did not track this flush, with
|
|
59
|
+
* the server's reason for each (capped at 25 by the API). Empty =
|
|
60
|
+
* everything that arrived was tracked; if you sent more than
|
|
61
|
+
* `flushed`, the loss was client-side before the network.
|
|
62
|
+
*/
|
|
63
|
+
untracked: UntrackedItem[];
|
|
45
64
|
}
|
|
46
65
|
export declare class BatchSender {
|
|
47
66
|
private readonly apiUrl;
|
|
@@ -56,6 +75,7 @@ export declare class BatchSender {
|
|
|
56
75
|
private readonly sleepFn;
|
|
57
76
|
private readonly platformHeader?;
|
|
58
77
|
private readonly debug;
|
|
78
|
+
private readonly onUntracked?;
|
|
59
79
|
constructor(options: BatchSenderOptions);
|
|
60
80
|
/**
|
|
61
81
|
* Flushes as many events from the queue as possible, one batch at a time,
|
|
@@ -69,6 +89,13 @@ export declare class BatchSender {
|
|
|
69
89
|
*/
|
|
70
90
|
flush(queue: OfflineQueue): Promise<FlushResult>;
|
|
71
91
|
private sendBatchWithRetry;
|
|
92
|
+
/**
|
|
93
|
+
* F4 — read the server's per-event drop reasons from an accepted
|
|
94
|
+
* batch. The /api/events response always carries `untracked` (empty
|
|
95
|
+
* = nothing dropped server-side). Best-effort: a body that won't
|
|
96
|
+
* parse never fails a successful send.
|
|
97
|
+
*/
|
|
98
|
+
private readUntracked;
|
|
72
99
|
private postBatch;
|
|
73
100
|
}
|
|
74
101
|
//# sourceMappingURL=batch-sender.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-sender.d.ts","sourceRoot":"","sources":["../src/batch-sender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,iBAAiB,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,sDAAsD;IACtD,cAAc,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;IAC3C,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"batch-sender.d.ts","sourceRoot":"","sources":["../src/batch-sender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,iBAAiB,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,sDAAsD;IACtD,cAAc,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;IAC3C,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;CAChD;AAED,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IAEjC,kFAAkF;IAClF,SAAS,IAAI,MAAM;IAInB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA4B;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAmC;gBAEpD,OAAO,EAAE,kBAAkB;IAmBvC;;;;;;;;;OASG;IACG,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;YAgDxC,kBAAkB;IA4ChC;;;;;OAKG;YACW,aAAa;YA4Bb,SAAS;CA2BxB"}
|
package/dist/batch-sender.js
CHANGED
|
@@ -30,6 +30,7 @@ class BatchSender {
|
|
|
30
30
|
options.sleepFn ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
31
31
|
this.platformHeader = options.platformHeader;
|
|
32
32
|
this.debug = options.debug ?? false;
|
|
33
|
+
this.onUntracked = options.onUntracked;
|
|
33
34
|
if (!this.fetchFn) {
|
|
34
35
|
throw new Error("BatchSender: fetch is not available. Provide options.fetchFn.");
|
|
35
36
|
}
|
|
@@ -48,6 +49,7 @@ class BatchSender {
|
|
|
48
49
|
let flushed = 0;
|
|
49
50
|
let attemptedBatches = 0;
|
|
50
51
|
let lastError;
|
|
52
|
+
const untracked = [];
|
|
51
53
|
try {
|
|
52
54
|
const evicted = await queue.evictStale({
|
|
53
55
|
maxAttempts: 20,
|
|
@@ -70,6 +72,8 @@ class BatchSender {
|
|
|
70
72
|
const eventIds = batch.map((q) => q.event.id).filter((id) => !!id);
|
|
71
73
|
await queue.markSent(eventIds);
|
|
72
74
|
flushed += batch.length;
|
|
75
|
+
if (outcome.untracked.length > 0)
|
|
76
|
+
untracked.push(...outcome.untracked);
|
|
73
77
|
}
|
|
74
78
|
else if (outcome.status === "retryable_exhausted") {
|
|
75
79
|
const eventIds = batch.map((q) => q.event.id).filter((id) => !!id);
|
|
@@ -84,7 +88,7 @@ class BatchSender {
|
|
|
84
88
|
}
|
|
85
89
|
}
|
|
86
90
|
const remaining = await queue.size();
|
|
87
|
-
return { flushed, remaining, attemptedBatches, lastError };
|
|
91
|
+
return { flushed, remaining, attemptedBatches, lastError, untracked };
|
|
88
92
|
}
|
|
89
93
|
async sendBatchWithRetry(batch) {
|
|
90
94
|
let lastError = "unknown";
|
|
@@ -92,7 +96,10 @@ class BatchSender {
|
|
|
92
96
|
try {
|
|
93
97
|
const response = await this.postBatch(batch);
|
|
94
98
|
if (response.ok) {
|
|
95
|
-
return {
|
|
99
|
+
return {
|
|
100
|
+
status: "success",
|
|
101
|
+
untracked: await this.readUntracked(response),
|
|
102
|
+
};
|
|
96
103
|
}
|
|
97
104
|
// Non-retryable client errors — leave events, surface to caller.
|
|
98
105
|
if (response.status >= 400 && response.status < 500) {
|
|
@@ -114,6 +121,37 @@ class BatchSender {
|
|
|
114
121
|
}
|
|
115
122
|
return { status: "retryable_exhausted", error: lastError };
|
|
116
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* F4 — read the server's per-event drop reasons from an accepted
|
|
126
|
+
* batch. The /api/events response always carries `untracked` (empty
|
|
127
|
+
* = nothing dropped server-side). Best-effort: a body that won't
|
|
128
|
+
* parse never fails a successful send.
|
|
129
|
+
*/
|
|
130
|
+
async readUntracked(response) {
|
|
131
|
+
try {
|
|
132
|
+
const body = (await response.json());
|
|
133
|
+
const items = (body.untracked ?? [])
|
|
134
|
+
.filter((u) => u && (u.type || u.reason))
|
|
135
|
+
.map((u) => ({ type: String(u.type ?? "unknown"), reason: String(u.reason ?? "unknown") }));
|
|
136
|
+
if (items.length > 0) {
|
|
137
|
+
if (this.debug) {
|
|
138
|
+
for (const u of items) {
|
|
139
|
+
console.warn(`[apex-capacitor] server did not track "${u.type}": ${u.reason}`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
try {
|
|
143
|
+
this.onUntracked?.(items);
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
/* listener errors never fail a send */
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return items;
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
return [];
|
|
153
|
+
}
|
|
154
|
+
}
|
|
117
155
|
async postBatch(batch) {
|
|
118
156
|
const body = {
|
|
119
157
|
workspaceKey: this.workspaceKey,
|
package/dist/batch-sender.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-sender.js","sourceRoot":"","sources":["../src/batch-sender.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;
|
|
1
|
+
{"version":3,"file":"batch-sender.js","sourceRoot":"","sources":["../src/batch-sender.ts"],"names":[],"mappings":"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"}
|
package/dist/definitions.d.ts
CHANGED
|
@@ -182,6 +182,14 @@ export interface InitializeOptions {
|
|
|
182
182
|
* rate-limits per key + per visitor to make leaked keys low-yield.
|
|
183
183
|
*/
|
|
184
184
|
apiKey?: string;
|
|
185
|
+
/**
|
|
186
|
+
* F7 — auto-fire `screen_view` from the webview's History API
|
|
187
|
+
* (pushState/replaceState/popstate/hashchange). Covers Ionic, React
|
|
188
|
+
* Router, Vue Router, and plain SPA routing on device and in browser
|
|
189
|
+
* preview. Default true. Set false to wire `trackScreenView`
|
|
190
|
+
* manually (e.g. for custom screen names richer than the URL path).
|
|
191
|
+
*/
|
|
192
|
+
autoTrackScreenViews?: boolean;
|
|
185
193
|
/** Tag subsequent events as test mode (excluded from production analytics). */
|
|
186
194
|
testMode?: boolean;
|
|
187
195
|
/** Session timeout in minutes. Default 30. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,0DAA0D;AAC1D,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAElF,qFAAqF;AACrF,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEpE,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,UAAU,EAAE,oBAAoB,CAAC;IACjC;;;;;OAKG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,oCAAoC;AACpC,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,YAAY,GACZ,WAAW,GACX,eAAe,GACf,iBAAiB,GACjB,YAAY,GACZ,SAAS,CAAC;AAEd,iDAAiD;AACjD,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAEpE,8EAA8E;AAC9E,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;AAEjE,wCAAwC;AACxC,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,mBAAmB,GAAG,YAAY,GAAG,gBAAgB,GAAG,aAAa,GAAG,eAAe,GAAG,QAAQ,CAAC;IAChH;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,gDAAgD;IAChD,YAAY,CAAC,EAAE;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EACF,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,cAAc,GACd,QAAQ,GACR,SAAS,GACT,eAAe,GACf,iBAAiB,GACjB,eAAe,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACxD,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,0DAA0D;AAC1D,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;;;;;;;;;;;OAeG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,oEAAoE;AACpE,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,kEAAkE;IAClE,QAAQ,EAAE,qBAAqB,CAAC;CACjC;AAED,6EAA6E;AAC7E,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,4DAA4D;IAC5D,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED,sCAAsC;AACtC,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,+BAA+B;AAC/B,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACtC,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,gFAAgF;IAChF,QAAQ,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,GAAG,kBAAkB,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;IACvG,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAGlC;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAItD;;;OAGG;IACH,4BAA4B,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IAI/D;;;;;;;;;;;;;;;OAeG;IACH,4BAA4B,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEhE;;;OAGG;IACH,iBAAiB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IAIpD;;;;OAIG;IACH,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjD;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAE3D,0CAA0C;IAC1C,YAAY,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/C,+EAA+E;IAC/E,YAAY,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAI5D;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAIlD;;;;OAIG;IACH,qBAAqB,CAAC,OAAO,EAAE;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,eAAe,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAIlB;;;;OAIG;IACH,kBAAkB,IAAI,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAItD,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAIrC,0DAA0D;IAC1D,YAAY,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/C,4CAA4C;IAC5C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,sEAAsE;IACtE,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAI1C;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CAAC,OAAO,EAAE;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAIrC;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,qEAAqE;IACrE,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAErC,iFAAiF;IACjF,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAInC;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAI1D,wEAAwE;IACxE,WAAW,CACT,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAC7C,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC,kEAAkE;IAClE,WAAW,CACT,SAAS,EAAE,gBAAgB,EAC3B,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GACnD,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC,uCAAuC;IACvC,WAAW,CACT,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GACnD,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC,2CAA2C;IAC3C,WAAW,CACT,SAAS,EAAE,YAAY,EACvB,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAC5E,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;;;;;OAMG;IACH,WAAW,CACT,SAAS,EAAE,mBAAmB,EAC9B,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;KAAE,KAAK,IAAI,GAC5E,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;;;;;OAMG;IACH,WAAW,CACT,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAC/C,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;;;;OAKG;IACH,WAAW,CACT,SAAS,EAAE,aAAa,EACxB,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAC/C,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC,gEAAgE;IAChE,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC"}
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* F7 (2026-06-11 post-mortem) — automatic `screen_view` tracking.
|
|
3
|
+
*
|
|
4
|
+
* The install copy long promised "screen_view fires automatically" while
|
|
5
|
+
* the SDK shipped only a manual `trackScreenView` helper the adopter had
|
|
6
|
+
* to wire into their router. This module makes the promise true for
|
|
7
|
+
* every Capacitor app whose navigation runs through the webview's
|
|
8
|
+
* History API (Ionic, React Router, Vue Router, plain SPA routing —
|
|
9
|
+
* i.e. effectively all Capacitor apps, on device and in browser
|
|
10
|
+
* preview alike, since routing happens in JS either way).
|
|
11
|
+
*
|
|
12
|
+
* Mechanics: patch `history.pushState` / `history.replaceState` and
|
|
13
|
+
* listen for `popstate` + `hashchange`. Each navigation derives a
|
|
14
|
+
* `screen_name` from the path (+hash), dedupes consecutive repeats,
|
|
15
|
+
* and emits the spec-canonical payload (`screen_name` /
|
|
16
|
+
* `previous_screen`) through the provided `track` function — which is
|
|
17
|
+
* the plugin proxy's own `track`, so the offline queue, batch sender,
|
|
18
|
+
* and native bridge paths all stay unchanged.
|
|
19
|
+
*
|
|
20
|
+
* Manual `trackScreenView` remains for apps that want richer names
|
|
21
|
+
* than the URL path (and wins: a manual call for the same screen is
|
|
22
|
+
* just another track; the server's catalog keys by event name).
|
|
23
|
+
*/
|
|
24
|
+
export interface AutoScreenViewEvent {
|
|
25
|
+
type: "screen_view";
|
|
26
|
+
data: {
|
|
27
|
+
screen_name: string;
|
|
28
|
+
previous_screen?: string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface AutoScreenViewOptions {
|
|
32
|
+
/**
|
|
33
|
+
* Sink for derived events — normally the plugin's `track`. Errors are
|
|
34
|
+
* the sink's job to swallow; this module fires and forgets.
|
|
35
|
+
*/
|
|
36
|
+
track: (event: AutoScreenViewEvent) => void;
|
|
37
|
+
/**
|
|
38
|
+
* Derive a screen name from the current location. Default:
|
|
39
|
+
* `pathname` plus `#hash` when present (`/shop`, `/product/42`,
|
|
40
|
+
* `/#/settings` for hash routers), `/` for the root.
|
|
41
|
+
*/
|
|
42
|
+
screenName?: (location: Location) => string;
|
|
43
|
+
/** Fire a `screen_view` for the screen visible at enable time. Default true. */
|
|
44
|
+
trackInitial?: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Start auto-tracking. Idempotent per page: enabling again disposes the
|
|
48
|
+
* previous instance's listeners first (callers hold the disposer).
|
|
49
|
+
* Returns a disposer that unpatches history and removes listeners.
|
|
50
|
+
* No-ops (returns a no-op disposer) outside a browser-like runtime.
|
|
51
|
+
*/
|
|
52
|
+
export declare function enableAutoScreenViews(options: AutoScreenViewOptions): () => void;
|
|
53
|
+
//# sourceMappingURL=auto-screen-views.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-screen-views.d.ts","sourceRoot":"","sources":["../../src/auto-screen-views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,KAAK,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5C;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,MAAM,CAAC;IAC5C,gFAAgF;IAChF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAQD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,qBAAqB,GAC7B,MAAM,IAAI,CAuDZ"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* F7 (2026-06-11 post-mortem) — automatic `screen_view` tracking.
|
|
3
|
+
*
|
|
4
|
+
* The install copy long promised "screen_view fires automatically" while
|
|
5
|
+
* the SDK shipped only a manual `trackScreenView` helper the adopter had
|
|
6
|
+
* to wire into their router. This module makes the promise true for
|
|
7
|
+
* every Capacitor app whose navigation runs through the webview's
|
|
8
|
+
* History API (Ionic, React Router, Vue Router, plain SPA routing —
|
|
9
|
+
* i.e. effectively all Capacitor apps, on device and in browser
|
|
10
|
+
* preview alike, since routing happens in JS either way).
|
|
11
|
+
*
|
|
12
|
+
* Mechanics: patch `history.pushState` / `history.replaceState` and
|
|
13
|
+
* listen for `popstate` + `hashchange`. Each navigation derives a
|
|
14
|
+
* `screen_name` from the path (+hash), dedupes consecutive repeats,
|
|
15
|
+
* and emits the spec-canonical payload (`screen_name` /
|
|
16
|
+
* `previous_screen`) through the provided `track` function — which is
|
|
17
|
+
* the plugin proxy's own `track`, so the offline queue, batch sender,
|
|
18
|
+
* and native bridge paths all stay unchanged.
|
|
19
|
+
*
|
|
20
|
+
* Manual `trackScreenView` remains for apps that want richer names
|
|
21
|
+
* than the URL path (and wins: a manual call for the same screen is
|
|
22
|
+
* just another track; the server's catalog keys by event name).
|
|
23
|
+
*/
|
|
24
|
+
function defaultScreenName(location) {
|
|
25
|
+
const path = location.pathname || "/";
|
|
26
|
+
const hash = location.hash && location.hash !== "#" ? location.hash : "";
|
|
27
|
+
return `${path}${hash}`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Start auto-tracking. Idempotent per page: enabling again disposes the
|
|
31
|
+
* previous instance's listeners first (callers hold the disposer).
|
|
32
|
+
* Returns a disposer that unpatches history and removes listeners.
|
|
33
|
+
* No-ops (returns a no-op disposer) outside a browser-like runtime.
|
|
34
|
+
*/
|
|
35
|
+
export function enableAutoScreenViews(options) {
|
|
36
|
+
if (typeof window === "undefined" ||
|
|
37
|
+
typeof history === "undefined" ||
|
|
38
|
+
typeof location === "undefined") {
|
|
39
|
+
return () => undefined;
|
|
40
|
+
}
|
|
41
|
+
const nameFor = options.screenName ?? defaultScreenName;
|
|
42
|
+
let currentScreen = null;
|
|
43
|
+
const emit = () => {
|
|
44
|
+
const next = nameFor(window.location);
|
|
45
|
+
if (!next || next === currentScreen)
|
|
46
|
+
return; // dedupe consecutive repeats
|
|
47
|
+
const previous = currentScreen;
|
|
48
|
+
currentScreen = next;
|
|
49
|
+
options.track({
|
|
50
|
+
type: "screen_view",
|
|
51
|
+
data: {
|
|
52
|
+
screen_name: next,
|
|
53
|
+
...(previous ? { previous_screen: previous } : {}),
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
// Patch pushState/replaceState — SPA routers navigate through these
|
|
58
|
+
// and they fire no DOM event of their own.
|
|
59
|
+
const originalPushState = history.pushState.bind(history);
|
|
60
|
+
const originalReplaceState = history.replaceState.bind(history);
|
|
61
|
+
history.pushState = function pushState(...args) {
|
|
62
|
+
originalPushState(...args);
|
|
63
|
+
emit();
|
|
64
|
+
};
|
|
65
|
+
history.replaceState = function replaceState(...args) {
|
|
66
|
+
originalReplaceState(...args);
|
|
67
|
+
emit();
|
|
68
|
+
};
|
|
69
|
+
const onPop = () => emit();
|
|
70
|
+
window.addEventListener("popstate", onPop);
|
|
71
|
+
window.addEventListener("hashchange", onPop);
|
|
72
|
+
if (options.trackInitial !== false)
|
|
73
|
+
emit();
|
|
74
|
+
return () => {
|
|
75
|
+
history.pushState = originalPushState;
|
|
76
|
+
history.replaceState = originalReplaceState;
|
|
77
|
+
window.removeEventListener("popstate", onPop);
|
|
78
|
+
window.removeEventListener("hashchange", onPop);
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=auto-screen-views.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-screen-views.js","sourceRoot":"","sources":["../../src/auto-screen-views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAuBH,SAAS,iBAAiB,CAAC,QAAkB;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,GAAG,CAAC;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,OAAO,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAA8B;IAE9B,IACE,OAAO,MAAM,KAAK,WAAW;QAC7B,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,QAAQ,KAAK,WAAW,EAC/B,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC;IACxD,IAAI,aAAa,GAAkB,IAAI,CAAC;IAExC,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,aAAa;YAAE,OAAO,CAAC,6BAA6B;QAC1E,MAAM,QAAQ,GAAG,aAAa,CAAC;QAC/B,aAAa,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC;YACZ,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE;gBACJ,WAAW,EAAE,IAAI;gBACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnD;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,oEAAoE;IACpE,2CAA2C;IAC3C,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChE,OAAO,CAAC,SAAS,GAAG,SAAS,SAAS,CACpC,GAAG,IAAsC;QAEzC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IACF,OAAO,CAAC,YAAY,GAAG,SAAS,YAAY,CAC1C,GAAG,IAAyC;QAE5C,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9B,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3B,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAE7C,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK;QAAE,IAAI,EAAE,CAAC;IAE3C,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC;QACtC,OAAO,CAAC,YAAY,GAAG,oBAAoB,CAAC;QAC5C,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -36,12 +36,31 @@ export interface BatchSenderOptions {
|
|
|
36
36
|
platformHeader?: "ios" | "android" | "web";
|
|
37
37
|
/** Enable verbose logs. */
|
|
38
38
|
debug?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* F4 (2026-06-11 post-mortem) — called when the server accepted the
|
|
41
|
+
* batch but dropped events (`untracked` in the /api/events response):
|
|
42
|
+
* the sent-vs-tracked gap surfaces at the call site instead of being
|
|
43
|
+
* a dashboard mystery. Also debug-logged when `debug` is on.
|
|
44
|
+
*/
|
|
45
|
+
onUntracked?: (items: UntrackedItem[]) => void;
|
|
46
|
+
}
|
|
47
|
+
/** One server-side drop from the /api/events response. */
|
|
48
|
+
export interface UntrackedItem {
|
|
49
|
+
type: string;
|
|
50
|
+
reason: string;
|
|
39
51
|
}
|
|
40
52
|
export interface FlushResult {
|
|
41
53
|
flushed: number;
|
|
42
54
|
remaining: number;
|
|
43
55
|
attemptedBatches: number;
|
|
44
56
|
lastError?: string;
|
|
57
|
+
/**
|
|
58
|
+
* F4 — events the server received but did not track this flush, with
|
|
59
|
+
* the server's reason for each (capped at 25 by the API). Empty =
|
|
60
|
+
* everything that arrived was tracked; if you sent more than
|
|
61
|
+
* `flushed`, the loss was client-side before the network.
|
|
62
|
+
*/
|
|
63
|
+
untracked: UntrackedItem[];
|
|
45
64
|
}
|
|
46
65
|
export declare class BatchSender {
|
|
47
66
|
private readonly apiUrl;
|
|
@@ -56,6 +75,7 @@ export declare class BatchSender {
|
|
|
56
75
|
private readonly sleepFn;
|
|
57
76
|
private readonly platformHeader?;
|
|
58
77
|
private readonly debug;
|
|
78
|
+
private readonly onUntracked?;
|
|
59
79
|
constructor(options: BatchSenderOptions);
|
|
60
80
|
/**
|
|
61
81
|
* Flushes as many events from the queue as possible, one batch at a time,
|
|
@@ -69,6 +89,13 @@ export declare class BatchSender {
|
|
|
69
89
|
*/
|
|
70
90
|
flush(queue: OfflineQueue): Promise<FlushResult>;
|
|
71
91
|
private sendBatchWithRetry;
|
|
92
|
+
/**
|
|
93
|
+
* F4 — read the server's per-event drop reasons from an accepted
|
|
94
|
+
* batch. The /api/events response always carries `untracked` (empty
|
|
95
|
+
* = nothing dropped server-side). Best-effort: a body that won't
|
|
96
|
+
* parse never fails a successful send.
|
|
97
|
+
*/
|
|
98
|
+
private readUntracked;
|
|
72
99
|
private postBatch;
|
|
73
100
|
}
|
|
74
101
|
//# sourceMappingURL=batch-sender.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-sender.d.ts","sourceRoot":"","sources":["../../src/batch-sender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,iBAAiB,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,sDAAsD;IACtD,cAAc,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;IAC3C,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"batch-sender.d.ts","sourceRoot":"","sources":["../../src/batch-sender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,iBAAiB,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,sDAAsD;IACtD,cAAc,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;IAC3C,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;CAChD;AAED,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IAEjC,kFAAkF;IAClF,SAAS,IAAI,MAAM;IAInB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA4B;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAmC;gBAEpD,OAAO,EAAE,kBAAkB;IAmBvC;;;;;;;;;OASG;IACG,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;YAgDxC,kBAAkB;IA4ChC;;;;;OAKG;YACW,aAAa;YA4Bb,SAAS;CA2BxB"}
|
package/dist/esm/batch-sender.js
CHANGED
|
@@ -27,6 +27,7 @@ export class BatchSender {
|
|
|
27
27
|
options.sleepFn ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
28
28
|
this.platformHeader = options.platformHeader;
|
|
29
29
|
this.debug = options.debug ?? false;
|
|
30
|
+
this.onUntracked = options.onUntracked;
|
|
30
31
|
if (!this.fetchFn) {
|
|
31
32
|
throw new Error("BatchSender: fetch is not available. Provide options.fetchFn.");
|
|
32
33
|
}
|
|
@@ -45,6 +46,7 @@ export class BatchSender {
|
|
|
45
46
|
let flushed = 0;
|
|
46
47
|
let attemptedBatches = 0;
|
|
47
48
|
let lastError;
|
|
49
|
+
const untracked = [];
|
|
48
50
|
try {
|
|
49
51
|
const evicted = await queue.evictStale({
|
|
50
52
|
maxAttempts: 20,
|
|
@@ -67,6 +69,8 @@ export class BatchSender {
|
|
|
67
69
|
const eventIds = batch.map((q) => q.event.id).filter((id) => !!id);
|
|
68
70
|
await queue.markSent(eventIds);
|
|
69
71
|
flushed += batch.length;
|
|
72
|
+
if (outcome.untracked.length > 0)
|
|
73
|
+
untracked.push(...outcome.untracked);
|
|
70
74
|
}
|
|
71
75
|
else if (outcome.status === "retryable_exhausted") {
|
|
72
76
|
const eventIds = batch.map((q) => q.event.id).filter((id) => !!id);
|
|
@@ -81,7 +85,7 @@ export class BatchSender {
|
|
|
81
85
|
}
|
|
82
86
|
}
|
|
83
87
|
const remaining = await queue.size();
|
|
84
|
-
return { flushed, remaining, attemptedBatches, lastError };
|
|
88
|
+
return { flushed, remaining, attemptedBatches, lastError, untracked };
|
|
85
89
|
}
|
|
86
90
|
async sendBatchWithRetry(batch) {
|
|
87
91
|
let lastError = "unknown";
|
|
@@ -89,7 +93,10 @@ export class BatchSender {
|
|
|
89
93
|
try {
|
|
90
94
|
const response = await this.postBatch(batch);
|
|
91
95
|
if (response.ok) {
|
|
92
|
-
return {
|
|
96
|
+
return {
|
|
97
|
+
status: "success",
|
|
98
|
+
untracked: await this.readUntracked(response),
|
|
99
|
+
};
|
|
93
100
|
}
|
|
94
101
|
// Non-retryable client errors — leave events, surface to caller.
|
|
95
102
|
if (response.status >= 400 && response.status < 500) {
|
|
@@ -111,6 +118,37 @@ export class BatchSender {
|
|
|
111
118
|
}
|
|
112
119
|
return { status: "retryable_exhausted", error: lastError };
|
|
113
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* F4 — read the server's per-event drop reasons from an accepted
|
|
123
|
+
* batch. The /api/events response always carries `untracked` (empty
|
|
124
|
+
* = nothing dropped server-side). Best-effort: a body that won't
|
|
125
|
+
* parse never fails a successful send.
|
|
126
|
+
*/
|
|
127
|
+
async readUntracked(response) {
|
|
128
|
+
try {
|
|
129
|
+
const body = (await response.json());
|
|
130
|
+
const items = (body.untracked ?? [])
|
|
131
|
+
.filter((u) => u && (u.type || u.reason))
|
|
132
|
+
.map((u) => ({ type: String(u.type ?? "unknown"), reason: String(u.reason ?? "unknown") }));
|
|
133
|
+
if (items.length > 0) {
|
|
134
|
+
if (this.debug) {
|
|
135
|
+
for (const u of items) {
|
|
136
|
+
console.warn(`[apex-capacitor] server did not track "${u.type}": ${u.reason}`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
this.onUntracked?.(items);
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
/* listener errors never fail a send */
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return items;
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
return [];
|
|
150
|
+
}
|
|
151
|
+
}
|
|
114
152
|
async postBatch(batch) {
|
|
115
153
|
const body = {
|
|
116
154
|
workspaceKey: this.workspaceKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-sender.js","sourceRoot":"","sources":["../../src/batch-sender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"batch-sender.js","sourceRoot":"","sources":["../../src/batch-sender.ts"],"names":[],"mappings":"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"}
|
|
@@ -182,6 +182,14 @@ export interface InitializeOptions {
|
|
|
182
182
|
* rate-limits per key + per visitor to make leaked keys low-yield.
|
|
183
183
|
*/
|
|
184
184
|
apiKey?: string;
|
|
185
|
+
/**
|
|
186
|
+
* F7 — auto-fire `screen_view` from the webview's History API
|
|
187
|
+
* (pushState/replaceState/popstate/hashchange). Covers Ionic, React
|
|
188
|
+
* Router, Vue Router, and plain SPA routing on device and in browser
|
|
189
|
+
* preview. Default true. Set false to wire `trackScreenView`
|
|
190
|
+
* manually (e.g. for custom screen names richer than the URL path).
|
|
191
|
+
*/
|
|
192
|
+
autoTrackScreenViews?: boolean;
|
|
185
193
|
/** Tag subsequent events as test mode (excluded from production analytics). */
|
|
186
194
|
testMode?: boolean;
|
|
187
195
|
/** Session timeout in minutes. Default 30. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -19,10 +19,12 @@ export type { OfflineQueueStorage, OfflineQueueOptions, QueuedEvent } from "./of
|
|
|
19
19
|
export { SessionManager } from "./session-manager";
|
|
20
20
|
export type { SessionManagerOptions, SessionSnapshot } from "./session-manager";
|
|
21
21
|
export { BatchSender } from "./batch-sender";
|
|
22
|
-
export type { BatchSenderOptions, FlushResult as BatchFlushResult } from "./batch-sender";
|
|
22
|
+
export type { BatchSenderOptions, FlushResult as BatchFlushResult, UntrackedItem, } from "./batch-sender";
|
|
23
23
|
export { generateEventId, isValidEventId } from "./event-id";
|
|
24
24
|
export { ApexEvents, APEX_SPEC_VERSION } from "./events";
|
|
25
25
|
export type { ApexEventName } from "./events";
|
|
26
26
|
export { trackCartAdd, trackCartRemove, trackCartSnapshot, trackCheckoutCompleted, type CartLine, } from "./cart-helpers";
|
|
27
27
|
export { trackScreenView } from "./screen-view";
|
|
28
|
+
export { enableAutoScreenViews } from "./auto-screen-views";
|
|
29
|
+
export type { AutoScreenViewOptions, AutoScreenViewEvent, } from "./auto-screen-views";
|
|
28
30
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,eAAe,CAAC;AAmCvB,eAAO,MAAM,IAAI,EAAE,mBAoBjB,CAAC;AAGH,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClF,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EACV,kBAAkB,EAClB,WAAW,IAAI,gBAAgB,EAC/B,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAK9C,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,QAAQ,GACd,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EACV,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* ```
|
|
13
13
|
*/
|
|
14
14
|
import { registerPlugin } from "@capacitor/core";
|
|
15
|
+
import { enableAutoScreenViews } from "./auto-screen-views";
|
|
15
16
|
/**
|
|
16
17
|
* Capacitor plugin proxy. In a native app, calls route through the bridge to
|
|
17
18
|
* the iOS (Swift) or Android (Kotlin) implementation. In a web context
|
|
@@ -25,9 +26,37 @@ import { registerPlugin } from "@capacitor/core";
|
|
|
25
26
|
* initialized". One shared promise guarantees one instance.
|
|
26
27
|
*/
|
|
27
28
|
let webImplPromise = null;
|
|
28
|
-
|
|
29
|
+
const ApexBridge = registerPlugin("ApexCapacitorPlugin", {
|
|
29
30
|
web: () => (webImplPromise ?? (webImplPromise = import("./web").then((m) => new m.ApexCapacitorWeb()))),
|
|
30
31
|
});
|
|
32
|
+
// F7 (2026-06-11 post-mortem) — `screen_view` auto-tracking, wired at
|
|
33
|
+
// the PROXY level so it works identically on native builds and in the
|
|
34
|
+
// web fallback: Capacitor app routing runs in webview JS either way,
|
|
35
|
+
// and the derived events go through the same `track` (bridge or web),
|
|
36
|
+
// so the offline queue / batch sender paths are unchanged. Opt out
|
|
37
|
+
// with `initialize({ autoTrackScreenViews: false })`.
|
|
38
|
+
let disposeAutoScreenViews = null;
|
|
39
|
+
export const Apex = new Proxy(ApexBridge, {
|
|
40
|
+
get(target, prop, receiver) {
|
|
41
|
+
if (prop === "initialize") {
|
|
42
|
+
return async (options) => {
|
|
43
|
+
await target.initialize(options);
|
|
44
|
+
disposeAutoScreenViews?.();
|
|
45
|
+
disposeAutoScreenViews = null;
|
|
46
|
+
if (options?.autoTrackScreenViews !== false) {
|
|
47
|
+
disposeAutoScreenViews = enableAutoScreenViews({
|
|
48
|
+
track: (event) => {
|
|
49
|
+
void target
|
|
50
|
+
.track(event)
|
|
51
|
+
.catch(() => undefined);
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return Reflect.get(target, prop, receiver);
|
|
58
|
+
},
|
|
59
|
+
});
|
|
31
60
|
// Re-export types so consumers can import them cleanly.
|
|
32
61
|
export * from "./definitions";
|
|
33
62
|
// Re-export core modules for advanced/test usage.
|
|
@@ -45,4 +74,8 @@ export { trackCartAdd, trackCartRemove, trackCartSnapshot, trackCheckoutComplete
|
|
|
45
74
|
// `Apex.track({ type: "screen_view", data: { screen_name, … } })`
|
|
46
75
|
// so screens land in the spec's canonical snake_case shape.
|
|
47
76
|
export { trackScreenView } from "./screen-view";
|
|
77
|
+
// F7 — automatic screen_view via History API instrumentation. Enabled
|
|
78
|
+
// by default from `initialize()`; exported for advanced usage (custom
|
|
79
|
+
// screen-name derivation, custom track sink, manual lifecycle).
|
|
80
|
+
export { enableAutoScreenViews } from "./auto-screen-views";
|
|
48
81
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;;;;;;;;GAWG;AACH,IAAI,cAAc,GAA4B,IAAI,CAAC;AAEnD,MAAM,UAAU,GAAwB,cAAc,CACpD,qBAAqB,EACrB;IACE,GAAG,EAAE,GAAG,EAAE,CACR,CAAC,cAAc,KAAd,cAAc,GAAK,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAChC,EAAC;CACL,CACF,CAAC;AAEF,sEAAsE;AACtE,sEAAsE;AACtE,qEAAqE;AACrE,sEAAsE;AACtE,mEAAmE;AACnE,sDAAsD;AACtD,IAAI,sBAAsB,GAAwB,IAAI,CAAC;AAEvD,MAAM,CAAC,MAAM,IAAI,GAAwB,IAAI,KAAK,CAAC,UAAU,EAAE;IAC7D,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;QACxB,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,OAAO,KAAK,EAAE,OAA0B,EAAiB,EAAE;gBACzD,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACjC,sBAAsB,EAAE,EAAE,CAAC;gBAC3B,sBAAsB,GAAG,IAAI,CAAC;gBAC9B,IAAI,OAAO,EAAE,oBAAoB,KAAK,KAAK,EAAE,CAAC;oBAC5C,sBAAsB,GAAG,qBAAqB,CAAC;wBAC7C,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;4BACf,KAAK,MAAM;iCACR,KAAK,CAAC,KAAkB,CAAC;iCACzB,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;wBAC5B,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC,CAAC;AAEH,wDAAwD;AACxD,cAAc,eAAe,CAAC;AAE9B,kDAAkD;AAClD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM7C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,8CAA8C;AAC9C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGzD,oEAAoE;AACpE,+DAA+D;AAC/D,kBAAkB;AAClB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,gBAAgB,CAAC;AAExB,uDAAuD;AACvD,kEAAkE;AAClE,4DAA4D;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,sEAAsE;AACtE,sEAAsE;AACtE,gEAAgE;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MOBX-006 — screen-tracking convenience helper.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Since 2.2.2, `screen_view` auto-fires from the History API
|
|
5
|
+
* (`auto-screen-views.ts`, enabled by `initialize()` unless
|
|
6
|
+
* `autoTrackScreenViews: false`). This helper remains the manual lane
|
|
7
|
+
* for apps that want richer screen names than the URL path — wire it
|
|
8
|
+
* into the navigation layer (router listener, `useEffect` on route
|
|
9
|
+
* change, etc.); events land in the spec's canonical shape
|
|
9
10
|
* (`screen_name` / `previous_screen` — see `apex-spec/events.ts`).
|
|
10
11
|
*
|
|
11
12
|
* Delegates to `Apex.track()` so the offline queue / batch sender /
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen-view.d.ts","sourceRoot":"","sources":["../../src/screen-view.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"screen-view.d.ts","sourceRoot":"","sources":["../../src/screen-view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,2EAA2E;AAC3E,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
package/dist/esm/screen-view.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MOBX-006 — screen-tracking convenience helper.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Since 2.2.2, `screen_view` auto-fires from the History API
|
|
5
|
+
* (`auto-screen-views.ts`, enabled by `initialize()` unless
|
|
6
|
+
* `autoTrackScreenViews: false`). This helper remains the manual lane
|
|
7
|
+
* for apps that want richer screen names than the URL path — wire it
|
|
8
|
+
* into the navigation layer (router listener, `useEffect` on route
|
|
9
|
+
* change, etc.); events land in the spec's canonical shape
|
|
9
10
|
* (`screen_name` / `previous_screen` — see `apex-spec/events.ts`).
|
|
10
11
|
*
|
|
11
12
|
* Delegates to `Apex.track()` so the offline queue / batch sender /
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen-view.js","sourceRoot":"","sources":["../../src/screen-view.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"screen-view.js","sourceRoot":"","sources":["../../src/screen-view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAkB,EAClB,IAAkC;IAElC,MAAM,IAAI,CAAC,KAAK,CAAC;QACf,IAAI,EAAE,UAAU,CAAC,UAAU;QAC3B,IAAI,EAAE;YACJ,WAAW,EAAE,UAAU;YACvB,GAAG,CAAC,IAAI,EAAE,cAAc;gBACtB,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE;gBAC1C,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,10 +19,12 @@ export type { OfflineQueueStorage, OfflineQueueOptions, QueuedEvent } from "./of
|
|
|
19
19
|
export { SessionManager } from "./session-manager";
|
|
20
20
|
export type { SessionManagerOptions, SessionSnapshot } from "./session-manager";
|
|
21
21
|
export { BatchSender } from "./batch-sender";
|
|
22
|
-
export type { BatchSenderOptions, FlushResult as BatchFlushResult } from "./batch-sender";
|
|
22
|
+
export type { BatchSenderOptions, FlushResult as BatchFlushResult, UntrackedItem, } from "./batch-sender";
|
|
23
23
|
export { generateEventId, isValidEventId } from "./event-id";
|
|
24
24
|
export { ApexEvents, APEX_SPEC_VERSION } from "./events";
|
|
25
25
|
export type { ApexEventName } from "./events";
|
|
26
26
|
export { trackCartAdd, trackCartRemove, trackCartSnapshot, trackCheckoutCompleted, type CartLine, } from "./cart-helpers";
|
|
27
27
|
export { trackScreenView } from "./screen-view";
|
|
28
|
+
export { enableAutoScreenViews } from "./auto-screen-views";
|
|
29
|
+
export type { AutoScreenViewOptions, AutoScreenViewEvent, } from "./auto-screen-views";
|
|
28
30
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,eAAe,CAAC;AAmCvB,eAAO,MAAM,IAAI,EAAE,mBAoBjB,CAAC;AAGH,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClF,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EACV,kBAAkB,EAClB,WAAW,IAAI,gBAAgB,EAC/B,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAK9C,OAAO,EACL,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,QAAQ,GACd,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EACV,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -49,8 +49,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
49
49
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
50
50
|
};
|
|
51
51
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
|
-
exports.trackScreenView = exports.trackCheckoutCompleted = exports.trackCartSnapshot = exports.trackCartRemove = exports.trackCartAdd = exports.APEX_SPEC_VERSION = exports.ApexEvents = exports.isValidEventId = exports.generateEventId = exports.BatchSender = exports.SessionManager = exports.IndexedDBStorage = exports.InMemoryStorage = exports.OfflineQueue = exports.Apex = void 0;
|
|
52
|
+
exports.enableAutoScreenViews = exports.trackScreenView = exports.trackCheckoutCompleted = exports.trackCartSnapshot = exports.trackCartRemove = exports.trackCartAdd = exports.APEX_SPEC_VERSION = exports.ApexEvents = exports.isValidEventId = exports.generateEventId = exports.BatchSender = exports.SessionManager = exports.IndexedDBStorage = exports.InMemoryStorage = exports.OfflineQueue = exports.Apex = void 0;
|
|
53
53
|
const core_1 = require("@capacitor/core");
|
|
54
|
+
const auto_screen_views_1 = require("./auto-screen-views");
|
|
54
55
|
/**
|
|
55
56
|
* Capacitor plugin proxy. In a native app, calls route through the bridge to
|
|
56
57
|
* the iOS (Swift) or Android (Kotlin) implementation. In a web context
|
|
@@ -64,9 +65,37 @@ const core_1 = require("@capacitor/core");
|
|
|
64
65
|
* initialized". One shared promise guarantees one instance.
|
|
65
66
|
*/
|
|
66
67
|
let webImplPromise = null;
|
|
67
|
-
|
|
68
|
+
const ApexBridge = (0, core_1.registerPlugin)("ApexCapacitorPlugin", {
|
|
68
69
|
web: () => (webImplPromise ?? (webImplPromise = Promise.resolve().then(() => __importStar(require("./web"))).then((m) => new m.ApexCapacitorWeb()))),
|
|
69
70
|
});
|
|
71
|
+
// F7 (2026-06-11 post-mortem) — `screen_view` auto-tracking, wired at
|
|
72
|
+
// the PROXY level so it works identically on native builds and in the
|
|
73
|
+
// web fallback: Capacitor app routing runs in webview JS either way,
|
|
74
|
+
// and the derived events go through the same `track` (bridge or web),
|
|
75
|
+
// so the offline queue / batch sender paths are unchanged. Opt out
|
|
76
|
+
// with `initialize({ autoTrackScreenViews: false })`.
|
|
77
|
+
let disposeAutoScreenViews = null;
|
|
78
|
+
exports.Apex = new Proxy(ApexBridge, {
|
|
79
|
+
get(target, prop, receiver) {
|
|
80
|
+
if (prop === "initialize") {
|
|
81
|
+
return async (options) => {
|
|
82
|
+
await target.initialize(options);
|
|
83
|
+
disposeAutoScreenViews?.();
|
|
84
|
+
disposeAutoScreenViews = null;
|
|
85
|
+
if (options?.autoTrackScreenViews !== false) {
|
|
86
|
+
disposeAutoScreenViews = (0, auto_screen_views_1.enableAutoScreenViews)({
|
|
87
|
+
track: (event) => {
|
|
88
|
+
void target
|
|
89
|
+
.track(event)
|
|
90
|
+
.catch(() => undefined);
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
return Reflect.get(target, prop, receiver);
|
|
97
|
+
},
|
|
98
|
+
});
|
|
70
99
|
// Re-export types so consumers can import them cleanly.
|
|
71
100
|
__exportStar(require("./definitions"), exports);
|
|
72
101
|
// Re-export core modules for advanced/test usage.
|
|
@@ -98,4 +127,9 @@ Object.defineProperty(exports, "trackCheckoutCompleted", { enumerable: true, get
|
|
|
98
127
|
// so screens land in the spec's canonical snake_case shape.
|
|
99
128
|
var screen_view_1 = require("./screen-view");
|
|
100
129
|
Object.defineProperty(exports, "trackScreenView", { enumerable: true, get: function () { return screen_view_1.trackScreenView; } });
|
|
130
|
+
// F7 — automatic screen_view via History API instrumentation. Enabled
|
|
131
|
+
// by default from `initialize()`; exported for advanced usage (custom
|
|
132
|
+
// screen-name derivation, custom track sink, manual lifecycle).
|
|
133
|
+
var auto_screen_views_2 = require("./auto-screen-views");
|
|
134
|
+
Object.defineProperty(exports, "enableAutoScreenViews", { enumerable: true, get: function () { return auto_screen_views_2.enableAutoScreenViews; } });
|
|
101
135
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,0CAAiD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,0CAAiD;AAMjD,2DAA4D;AAE5D;;;;;;;;;;;GAWG;AACH,IAAI,cAAc,GAA4B,IAAI,CAAC;AAEnD,MAAM,UAAU,GAAwB,IAAA,qBAAc,EACpD,qBAAqB,EACrB;IACE,GAAG,EAAE,GAAG,EAAE,CACR,CAAC,cAAc,KAAd,cAAc,GAAK,kDAAO,OAAO,IAAE,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAChC,EAAC;CACL,CACF,CAAC;AAEF,sEAAsE;AACtE,sEAAsE;AACtE,qEAAqE;AACrE,sEAAsE;AACtE,mEAAmE;AACnE,sDAAsD;AACtD,IAAI,sBAAsB,GAAwB,IAAI,CAAC;AAE1C,QAAA,IAAI,GAAwB,IAAI,KAAK,CAAC,UAAU,EAAE;IAC7D,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;QACxB,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,OAAO,KAAK,EAAE,OAA0B,EAAiB,EAAE;gBACzD,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACjC,sBAAsB,EAAE,EAAE,CAAC;gBAC3B,sBAAsB,GAAG,IAAI,CAAC;gBAC9B,IAAI,OAAO,EAAE,oBAAoB,KAAK,KAAK,EAAE,CAAC;oBAC5C,sBAAsB,GAAG,IAAA,yCAAqB,EAAC;wBAC7C,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;4BACf,KAAK,MAAM;iCACR,KAAK,CAAC,KAAkB,CAAC;iCACzB,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;wBAC5B,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC,CAAC;AAEH,wDAAwD;AACxD,gDAA8B;AAE9B,kDAAkD;AAClD,iDAAkF;AAAzE,6GAAA,YAAY,OAAA;AAAE,gHAAA,eAAe,OAAA;AAAE,iHAAA,gBAAgB,OAAA;AAExD,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAEvB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAMpB,uCAA6D;AAApD,2GAAA,eAAe,OAAA;AAAE,0GAAA,cAAc,OAAA;AAExC,8CAA8C;AAC9C,mCAAyD;AAAhD,oGAAA,UAAU,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAGtC,oEAAoE;AACpE,+DAA+D;AAC/D,kBAAkB;AAClB,+CAMwB;AALtB,4GAAA,YAAY,OAAA;AACZ,+GAAA,eAAe,OAAA;AACf,iHAAA,iBAAiB,OAAA;AACjB,sHAAA,sBAAsB,OAAA;AAIxB,uDAAuD;AACvD,kEAAkE;AAClE,4DAA4D;AAC5D,6CAAgD;AAAvC,8GAAA,eAAe,OAAA;AAExB,sEAAsE;AACtE,sEAAsE;AACtE,gEAAgE;AAChE,yDAA4D;AAAnD,0HAAA,qBAAqB,OAAA"}
|
package/dist/screen-view.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MOBX-006 — screen-tracking convenience helper.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Since 2.2.2, `screen_view` auto-fires from the History API
|
|
5
|
+
* (`auto-screen-views.ts`, enabled by `initialize()` unless
|
|
6
|
+
* `autoTrackScreenViews: false`). This helper remains the manual lane
|
|
7
|
+
* for apps that want richer screen names than the URL path — wire it
|
|
8
|
+
* into the navigation layer (router listener, `useEffect` on route
|
|
9
|
+
* change, etc.); events land in the spec's canonical shape
|
|
9
10
|
* (`screen_name` / `previous_screen` — see `apex-spec/events.ts`).
|
|
10
11
|
*
|
|
11
12
|
* Delegates to `Apex.track()` so the offline queue / batch sender /
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen-view.d.ts","sourceRoot":"","sources":["../src/screen-view.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"screen-view.d.ts","sourceRoot":"","sources":["../src/screen-view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,2EAA2E;AAC3E,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
package/dist/screen-view.js
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* MOBX-006 — screen-tracking convenience helper.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* Since 2.2.2, `screen_view` auto-fires from the History API
|
|
6
|
+
* (`auto-screen-views.ts`, enabled by `initialize()` unless
|
|
7
|
+
* `autoTrackScreenViews: false`). This helper remains the manual lane
|
|
8
|
+
* for apps that want richer screen names than the URL path — wire it
|
|
9
|
+
* into the navigation layer (router listener, `useEffect` on route
|
|
10
|
+
* change, etc.); events land in the spec's canonical shape
|
|
10
11
|
* (`screen_name` / `previous_screen` — see `apex-spec/events.ts`).
|
|
11
12
|
*
|
|
12
13
|
* Delegates to `Apex.track()` so the offline queue / batch sender /
|
package/dist/screen-view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen-view.js","sourceRoot":"","sources":["../src/screen-view.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"screen-view.js","sourceRoot":"","sources":["../src/screen-view.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AAMH,0CAaC;AAjBD,mCAA+B;AAC/B,qCAAsC;AAEtC,2EAA2E;AACpE,KAAK,UAAU,eAAe,CACnC,UAAkB,EAClB,IAAkC;IAElC,MAAM,YAAI,CAAC,KAAK,CAAC;QACf,IAAI,EAAE,mBAAU,CAAC,UAAU;QAC3B,IAAI,EAAE;YACJ,WAAW,EAAE,UAAU;YACvB,GAAG,CAAC,IAAI,EAAE,cAAc;gBACtB,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE;gBAC1C,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apex-inc/capacitor-plugin",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.2",
|
|
4
4
|
"description": "Apex Capacitor plugin — iOS/Android attribution, events, deep linking, SKAN, and offline-tolerant tracking for Capacitor apps.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|