pulse-updates 1.3.6 → 1.3.7
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 +15 -0
- package/lib/commonjs/init.js +10 -7
- package/lib/commonjs/init.js.map +1 -1
- package/lib/commonjs/track.js +48 -6
- package/lib/commonjs/track.js.map +1 -1
- package/lib/module/init.js +10 -7
- package/lib/module/init.js.map +1 -1
- package/lib/module/track.js +48 -6
- package/lib/module/track.js.map +1 -1
- package/lib/typescript/init.d.ts +14 -6
- package/lib/typescript/init.d.ts.map +1 -1
- package/lib/typescript/track.d.ts +12 -1
- package/lib/typescript/track.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/init.ts +17 -6
- package/src/track.ts +70 -7
package/README.md
CHANGED
|
@@ -39,6 +39,15 @@ flushed from a persistent outbox in batches. `pulse.health()` exposes config fre
|
|
|
39
39
|
signature state, and event backlog. Retention needs nothing further: Pulse counts the install from the
|
|
40
40
|
config request it already makes.
|
|
41
41
|
|
|
42
|
+
Event identity is explicit. The default `eventIdentityMode: 'context'` preserves the
|
|
43
|
+
existing experiment-metric contract by using the config context's `deviceId`/`userId`.
|
|
44
|
+
Set `eventIdentityMode: 'anonymous_installation'` only for an event family that carries
|
|
45
|
+
its own experiment/variant dimensions. In that mode Pulse ignores context `deviceId` and
|
|
46
|
+
`userId`, persists a separate random UUID per app event outbox, and omits `userId`. The
|
|
47
|
+
server's legacy request field is still named `deviceId`, but its value is only that random
|
|
48
|
+
analytics-installation UUID — never IDFA, IDFV, a hardware id, an account id, or the app's
|
|
49
|
+
config identity.
|
|
50
|
+
|
|
42
51
|
Identity and consent stay explicit and reversible:
|
|
43
52
|
|
|
44
53
|
```ts
|
|
@@ -135,6 +144,12 @@ claims otherwise. A random install-attempt nonce may accompany later determinist
|
|
|
135
144
|
outcomes so the server can evaluate a shadow prediction; it is never exposed to the analytics
|
|
136
145
|
callback.
|
|
137
146
|
|
|
147
|
+
The Core integration sends only `app_open_confirmed`, `deferred_link_resolved`, and
|
|
148
|
+
`action_applied` in `anonymous_installation` identity mode. These campaign events must be
|
|
149
|
+
segmented by their explicit `experimentId` and `variantId` properties; they must not be
|
|
150
|
+
implicitly re-bucketed from the legacy request field, because that field contains the
|
|
151
|
+
separate anonymous analytics-installation UUID in this mode.
|
|
152
|
+
|
|
138
153
|
For the explicit iOS recovery fallback, render `DeferredLinkPasteButton` and pass its validated
|
|
139
154
|
token to `links.capture(token, 'ios_user_paste')`. It uses the system `UIPasteControl` on iOS 16+
|
|
140
155
|
and never reads the clipboard passively. Adding Pulse Links native capabilities requires a new
|
package/lib/commonjs/init.js
CHANGED
|
@@ -23,9 +23,10 @@ var _track = require("./track");
|
|
|
23
23
|
* - the urls, from the base url and the slug, which is what stops the two halves
|
|
24
24
|
* from ever addressing different apps;
|
|
25
25
|
* - platform and OS version, from React Native;
|
|
26
|
-
* - the
|
|
27
|
-
* identifier of its own
|
|
28
|
-
*
|
|
26
|
+
* - the config/experiment id, minted and persisted on first launch — an app that has
|
|
27
|
+
* a stable identifier of its own may pass it. Event tracking keeps the original
|
|
28
|
+
* context identity by default; privacy-sensitive campaign events can explicitly
|
|
29
|
+
* opt into a separate random app-scoped analytics installation UUID.
|
|
29
30
|
*
|
|
30
31
|
* Deliberately not automatic: the app version. Nothing here can read the store build
|
|
31
32
|
* reliably on both platforms, and a version guessed wrong aims a rollout at the wrong
|
|
@@ -36,7 +37,7 @@ const DEVICE_ID_KEY = 'pulse.device-id';
|
|
|
36
37
|
let activeClient = null;
|
|
37
38
|
let stopActiveRefresh = null;
|
|
38
39
|
|
|
39
|
-
/** Wires config and events
|
|
40
|
+
/** Wires config and events with an explicit event-envelope identity policy. */
|
|
40
41
|
function initPulse(opts) {
|
|
41
42
|
// Reconfiguration is synchronous. Calling the old async dispose without awaiting
|
|
42
43
|
// it lets its eventual flush tear down the brand-new tracker — exactly the race a
|
|
@@ -87,6 +88,7 @@ function initPulse(opts) {
|
|
|
87
88
|
(0, _track.configureTracking)({
|
|
88
89
|
url: trackUrl,
|
|
89
90
|
getContext,
|
|
91
|
+
identityMode: opts.eventIdentityMode,
|
|
90
92
|
flushIntervalMs: opts.flushIntervalMs,
|
|
91
93
|
storage: opts.storage,
|
|
92
94
|
storageKey: `pulse.${slug}.events.v1`,
|
|
@@ -174,12 +176,13 @@ function initPulse(opts) {
|
|
|
174
176
|
}
|
|
175
177
|
|
|
176
178
|
/**
|
|
177
|
-
* AsyncStorage-friendly one-call setup. It preloads only Pulse's
|
|
178
|
-
* records, then exposes the same
|
|
179
|
+
* AsyncStorage-friendly one-call setup. It preloads only Pulse's app-scoped config,
|
|
180
|
+
* event, analytics-installation and exposure records, then exposes the same
|
|
181
|
+
* synchronous hot-path API as initPulse.
|
|
179
182
|
*/
|
|
180
183
|
async function initPulseAsync(opts) {
|
|
181
184
|
const slug = opts.appSlug.trim();
|
|
182
|
-
const keys = [`pulse.${slug}.device-id`, `pulse.${slug}.config.v1`, `pulse.${slug}.events.v1`, `pulse.${slug}.exposures.v1`, DEVICE_ID_KEY];
|
|
185
|
+
const keys = [`pulse.${slug}.device-id`, `pulse.${slug}.config.v1`, `pulse.${slug}.events.v1`, `pulse.${slug}.events.v1.analytics-installation-id`, `pulse.${slug}.exposures.v1`, DEVICE_ID_KEY];
|
|
183
186
|
const loaded = await Promise.all(keys.map(async key => [key, await opts.storage.getItem(key)]));
|
|
184
187
|
const memory = new Map(loaded.filter(entry => entry[1] !== null));
|
|
185
188
|
const storage = {
|
package/lib/commonjs/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_config","require","_track","DEVICE_ID_KEY","activeClient","stopActiveRefresh","initPulse","opts","disposeTracking","base","apiUrl","replace","slug","appSlug","trim","configUrl","trackUrl","deviceStorageKey","deviceId","resolveDeviceId","storage","platform","detectPlatform","osVersion","detectOsVersion","appVersion","detectAppVersion","language","detectLanguage","userId","userAttributes","consentOverride","analyticsConsent","undefined","hasConsent","getContext","getUserId","getUserAttributes","configureConfig","url","defaults","storageKey","exposureStorageKey","reportExposure","pollIntervalMs","onError","signingPublicKey","signingKeyId","requireSignature","requireConfigSignature","verifySignature","verifyConfigSignature","verifyWithNativeKey","configureTracking","flushIntervalMs","propertyAllowlist","eventPropertyAllowlist","redactProperties","redactEventProperties","appState","onIgnored","onIgnoredEvents","Error","fetchConfig","stopRefresh","startConfigAutoRefresh","client","track","flush","flushEvents","setUser","nextUserId","attributes","sanitizeAttributes","clearUser","setAnalyticsConsent","granted","resetInstallId","randomId","set","health","config","getConfigInfo","events","getTrackingInfo","exposures","getExposureDeliveryInfo","boolean","getConfigBoolean","number","getConfigNumber","string","getConfigString","json","getConfigJson","refresh","dispose","initPulseAsync","keys","loaded","Promise","all","map","key","getItem","memory","Map","filter","entry","getString","get","value","setItem","existing","minted","clean","Object","fromEntries","entries","slice","length","bytes","Uint8Array","crypto","globalThis","getRandomValues","i","Math","floor","random","hex","Array","from","b","toString","padStart","join","rn","Platform","OS","version","Version","String","default","getVersion","canonicalPayload","signature","updates","verifyConfigSignatureAsync","localize","getLocales","languageTag","Intl","DateTimeFormat","resolvedOptions","locale"],"sourceRoot":"../../src","sources":["init.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_config","require","_track","DEVICE_ID_KEY","activeClient","stopActiveRefresh","initPulse","opts","disposeTracking","base","apiUrl","replace","slug","appSlug","trim","configUrl","trackUrl","deviceStorageKey","deviceId","resolveDeviceId","storage","platform","detectPlatform","osVersion","detectOsVersion","appVersion","detectAppVersion","language","detectLanguage","userId","userAttributes","consentOverride","analyticsConsent","undefined","hasConsent","getContext","getUserId","getUserAttributes","configureConfig","url","defaults","storageKey","exposureStorageKey","reportExposure","pollIntervalMs","onError","signingPublicKey","signingKeyId","requireSignature","requireConfigSignature","verifySignature","verifyConfigSignature","verifyWithNativeKey","configureTracking","identityMode","eventIdentityMode","flushIntervalMs","propertyAllowlist","eventPropertyAllowlist","redactProperties","redactEventProperties","appState","onIgnored","onIgnoredEvents","Error","fetchConfig","stopRefresh","startConfigAutoRefresh","client","track","flush","flushEvents","setUser","nextUserId","attributes","sanitizeAttributes","clearUser","setAnalyticsConsent","granted","resetInstallId","randomId","set","health","config","getConfigInfo","events","getTrackingInfo","exposures","getExposureDeliveryInfo","boolean","getConfigBoolean","number","getConfigNumber","string","getConfigString","json","getConfigJson","refresh","dispose","initPulseAsync","keys","loaded","Promise","all","map","key","getItem","memory","Map","filter","entry","getString","get","value","setItem","existing","minted","clean","Object","fromEntries","entries","slice","length","bytes","Uint8Array","crypto","globalThis","getRandomValues","i","Math","floor","random","hex","Array","from","b","toString","padStart","join","rn","Platform","OS","version","Version","String","default","getVersion","canonicalPayload","signature","updates","verifyConfigSignatureAsync","localize","getLocales","languageTag","Intl","DateTimeFormat","resolvedOptions","locale"],"sourceRoot":"../../src","sources":["init.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/track.js
CHANGED
|
@@ -38,8 +38,11 @@ const DEFAULT_MAX_QUEUE = 500;
|
|
|
38
38
|
const DEFAULT_TIMEOUT_MS = 10_000;
|
|
39
39
|
const DEFAULT_MAX_ATTEMPTS = 10;
|
|
40
40
|
const DEFAULT_STORAGE_KEY = 'pulse.events.v1';
|
|
41
|
+
const ANALYTICS_INSTALLATION_ID_SUFFIX = '.analytics-installation-id';
|
|
42
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
41
43
|
let options = null;
|
|
42
44
|
let queue = [];
|
|
45
|
+
let analyticsInstallationId = '';
|
|
43
46
|
let timer = null;
|
|
44
47
|
let sending = false;
|
|
45
48
|
let nextAttemptAt = 0;
|
|
@@ -55,6 +58,7 @@ function configureTracking(opts) {
|
|
|
55
58
|
disposeTracking();
|
|
56
59
|
options = opts;
|
|
57
60
|
queue = readQueue(opts);
|
|
61
|
+
analyticsInstallationId = opts.identityMode === 'anonymous_installation' ? resolveAnalyticsInstallationId(opts) : '';
|
|
58
62
|
nextAttemptAt = 0;
|
|
59
63
|
startTimer();
|
|
60
64
|
lifecycleSubscription = opts.appState?.addEventListener('change', state => {
|
|
@@ -110,11 +114,12 @@ async function flushEvents() {
|
|
|
110
114
|
const opts = options;
|
|
111
115
|
const requestGeneration = trackingGeneration;
|
|
112
116
|
const ctx = opts.getContext?.() ?? {};
|
|
117
|
+
const anonymousInstallation = opts.identityMode === 'anonymous_installation';
|
|
113
118
|
|
|
114
|
-
//
|
|
115
|
-
//
|
|
116
|
-
|
|
117
|
-
|
|
119
|
+
// The legacy/default mode intentionally preserves the original experiment-event
|
|
120
|
+
// contract. Anonymous campaign events opt into a separate identity explicitly.
|
|
121
|
+
if (!anonymousInstallation && !ctx.deviceId) return 0;
|
|
122
|
+
const requestDeviceId = anonymousInstallation ? analyticsInstallationId : ctx.deviceId;
|
|
118
123
|
const batch = queue.slice(0, opts.maxBatch ?? DEFAULT_MAX_BATCH);
|
|
119
124
|
queue = queue.slice(batch.length);
|
|
120
125
|
persistQueue();
|
|
@@ -128,8 +133,12 @@ async function flushEvents() {
|
|
|
128
133
|
'Content-Type': 'application/json'
|
|
129
134
|
},
|
|
130
135
|
body: JSON.stringify({
|
|
131
|
-
deviceId:
|
|
132
|
-
|
|
136
|
+
deviceId: requestDeviceId,
|
|
137
|
+
// Anonymous mode deliberately omits the property rather than serializing an
|
|
138
|
+
// empty identifier. Context mode remains backwards compatible.
|
|
139
|
+
...(anonymousInstallation ? {} : {
|
|
140
|
+
userId: ctx.userId
|
|
141
|
+
}),
|
|
133
142
|
platform: ctx.platform,
|
|
134
143
|
appVersion: ctx.appVersion,
|
|
135
144
|
events: batch.map(e => ({
|
|
@@ -194,6 +203,7 @@ function stopTracking() {
|
|
|
194
203
|
disposeTracking();
|
|
195
204
|
options = null;
|
|
196
205
|
queue = [];
|
|
206
|
+
analyticsInstallationId = '';
|
|
197
207
|
sending = false;
|
|
198
208
|
nextAttemptAt = 0;
|
|
199
209
|
}
|
|
@@ -263,6 +273,28 @@ function restoreStaleBatch(opts, batch, status) {
|
|
|
263
273
|
function storageKey(opts) {
|
|
264
274
|
return opts.storageKey?.trim() || DEFAULT_STORAGE_KEY;
|
|
265
275
|
}
|
|
276
|
+
function analyticsInstallationIdStorageKey(opts) {
|
|
277
|
+
return `${storageKey(opts)}${ANALYTICS_INSTALLATION_ID_SUFFIX}`;
|
|
278
|
+
}
|
|
279
|
+
function resolveAnalyticsInstallationId(opts) {
|
|
280
|
+
if (opts.storage) {
|
|
281
|
+
try {
|
|
282
|
+
const stored = opts.storage.getString(analyticsInstallationIdStorageKey(opts))?.trim();
|
|
283
|
+
if (stored && UUID_PATTERN.test(stored)) return stored.toLowerCase();
|
|
284
|
+
} catch {
|
|
285
|
+
// A telemetry identifier can stay memory-only when storage is unavailable.
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
const generated = randomAnalyticsInstallationId();
|
|
289
|
+
if (opts.storage) {
|
|
290
|
+
try {
|
|
291
|
+
opts.storage.set(analyticsInstallationIdStorageKey(opts), generated);
|
|
292
|
+
} catch {
|
|
293
|
+
// A telemetry identifier can stay memory-only when storage is unavailable.
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
return generated;
|
|
297
|
+
}
|
|
266
298
|
function readQueue(opts) {
|
|
267
299
|
if (!opts.storage) return [];
|
|
268
300
|
try {
|
|
@@ -288,4 +320,14 @@ function randomEventId() {
|
|
|
288
320
|
if (typeof cryptoLike?.randomUUID === 'function') return cryptoLike.randomUUID();
|
|
289
321
|
return `evt-${Date.now()}-${Math.random().toString(36).slice(2, 14)}`;
|
|
290
322
|
}
|
|
323
|
+
function randomAnalyticsInstallationId() {
|
|
324
|
+
const cryptoLike = globalThis.crypto;
|
|
325
|
+
if (typeof cryptoLike?.randomUUID === 'function') return cryptoLike.randomUUID().toLowerCase();
|
|
326
|
+
const bytes = new Uint8Array(16);
|
|
327
|
+
if (typeof cryptoLike?.getRandomValues === 'function') cryptoLike.getRandomValues(bytes);else for (let i = 0; i < bytes.length; i++) bytes[i] = Math.floor(Math.random() * 256);
|
|
328
|
+
bytes[6] = (bytes[6] ?? 0) & 0x0f | 0x40;
|
|
329
|
+
bytes[8] = (bytes[8] ?? 0) & 0x3f | 0x80;
|
|
330
|
+
const hex = Array.from(bytes, value => value.toString(16).padStart(2, '0')).join('');
|
|
331
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
332
|
+
}
|
|
291
333
|
//# sourceMappingURL=track.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_FLUSH_MS","DEFAULT_MAX_BATCH","DEFAULT_MAX_QUEUE","DEFAULT_TIMEOUT_MS","DEFAULT_MAX_ATTEMPTS","DEFAULT_STORAGE_KEY","options","queue","timer","sending","nextAttemptAt","lifecycleSubscription","trackingGeneration","trackUrl","url","trimmed","replace","includes","configureTracking","opts","disposeTracking","readQueue","startTimer","appState","addEventListener","state","flushEvents","track","event","props","time","hasConsent","onDropped","flat","allow","propertyAllowlist","Set","redact","redactProperties","key","value","Object","entries","undefined","has","String","push","id","randomEventId","Date","toISOString","attempts","maxQueue","length","dropped","slice","persistQueue","maxBatch","now","requestGeneration","ctx","getContext","deviceId","batch","controller","AbortController","timeout","setTimeout","abort","timeoutMs","response","fetch","method","headers","body","JSON","stringify","userId","platform","appVersion","events","map","e","signal","ok","requeueWithBackoff","status","restoreStaleBatch","onError","Error","json","accepted","ignored","onIgnored","error","clearTimeout","pendingEventCount","getTrackingInfo","queueDepth","clearInterval","remove","stopTracking","every","flushIntervalMs","setInterval","unref","maxAttempts","retryable","next","reduce","max","Math","base","min","floor","random","currentOptions","sameOutbox","storage","storageKey","stored","restored","set","trim","raw","getString","parsed","parse","Array","isArray","filter","item","Boolean","cryptoLike","globalThis","crypto","randomUUID","toString"],"sourceRoot":"../../src","sources":["track.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DEFAULT_FLUSH_MS","DEFAULT_MAX_BATCH","DEFAULT_MAX_QUEUE","DEFAULT_TIMEOUT_MS","DEFAULT_MAX_ATTEMPTS","DEFAULT_STORAGE_KEY","ANALYTICS_INSTALLATION_ID_SUFFIX","UUID_PATTERN","options","queue","analyticsInstallationId","timer","sending","nextAttemptAt","lifecycleSubscription","trackingGeneration","trackUrl","url","trimmed","replace","includes","configureTracking","opts","disposeTracking","readQueue","identityMode","resolveAnalyticsInstallationId","startTimer","appState","addEventListener","state","flushEvents","track","event","props","time","hasConsent","onDropped","flat","allow","propertyAllowlist","Set","redact","redactProperties","key","value","Object","entries","undefined","has","String","push","id","randomEventId","Date","toISOString","attempts","maxQueue","length","dropped","slice","persistQueue","maxBatch","now","requestGeneration","ctx","getContext","anonymousInstallation","deviceId","requestDeviceId","batch","controller","AbortController","timeout","setTimeout","abort","timeoutMs","response","fetch","method","headers","body","JSON","stringify","userId","platform","appVersion","events","map","e","signal","ok","requeueWithBackoff","status","restoreStaleBatch","onError","Error","json","accepted","ignored","onIgnored","error","clearTimeout","pendingEventCount","getTrackingInfo","queueDepth","clearInterval","remove","stopTracking","every","flushIntervalMs","setInterval","unref","maxAttempts","retryable","next","reduce","max","Math","base","min","floor","random","currentOptions","sameOutbox","storage","storageKey","stored","restored","set","trim","analyticsInstallationIdStorageKey","getString","test","toLowerCase","generated","randomAnalyticsInstallationId","raw","parsed","parse","Array","isArray","filter","item","Boolean","cryptoLike","globalThis","crypto","randomUUID","toString","bytes","Uint8Array","getRandomValues","i","hex","from","padStart","join"],"sourceRoot":"../../src","sources":["track.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/init.js
CHANGED
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
* - the urls, from the base url and the slug, which is what stops the two halves
|
|
15
15
|
* from ever addressing different apps;
|
|
16
16
|
* - platform and OS version, from React Native;
|
|
17
|
-
* - the
|
|
18
|
-
* identifier of its own
|
|
19
|
-
*
|
|
17
|
+
* - the config/experiment id, minted and persisted on first launch — an app that has
|
|
18
|
+
* a stable identifier of its own may pass it. Event tracking keeps the original
|
|
19
|
+
* context identity by default; privacy-sensitive campaign events can explicitly
|
|
20
|
+
* opt into a separate random app-scoped analytics installation UUID.
|
|
20
21
|
*
|
|
21
22
|
* Deliberately not automatic: the app version. Nothing here can read the store build
|
|
22
23
|
* reliably on both platforms, and a version guessed wrong aims a rollout at the wrong
|
|
@@ -29,7 +30,7 @@ const DEVICE_ID_KEY = 'pulse.device-id';
|
|
|
29
30
|
let activeClient = null;
|
|
30
31
|
let stopActiveRefresh = null;
|
|
31
32
|
|
|
32
|
-
/** Wires config and events
|
|
33
|
+
/** Wires config and events with an explicit event-envelope identity policy. */
|
|
33
34
|
export function initPulse(opts) {
|
|
34
35
|
// Reconfiguration is synchronous. Calling the old async dispose without awaiting
|
|
35
36
|
// it lets its eventual flush tear down the brand-new tracker — exactly the race a
|
|
@@ -80,6 +81,7 @@ export function initPulse(opts) {
|
|
|
80
81
|
configureTracking({
|
|
81
82
|
url: trackUrl,
|
|
82
83
|
getContext,
|
|
84
|
+
identityMode: opts.eventIdentityMode,
|
|
83
85
|
flushIntervalMs: opts.flushIntervalMs,
|
|
84
86
|
storage: opts.storage,
|
|
85
87
|
storageKey: `pulse.${slug}.events.v1`,
|
|
@@ -167,12 +169,13 @@ export function initPulse(opts) {
|
|
|
167
169
|
}
|
|
168
170
|
|
|
169
171
|
/**
|
|
170
|
-
* AsyncStorage-friendly one-call setup. It preloads only Pulse's
|
|
171
|
-
* records, then exposes the same
|
|
172
|
+
* AsyncStorage-friendly one-call setup. It preloads only Pulse's app-scoped config,
|
|
173
|
+
* event, analytics-installation and exposure records, then exposes the same
|
|
174
|
+
* synchronous hot-path API as initPulse.
|
|
172
175
|
*/
|
|
173
176
|
export async function initPulseAsync(opts) {
|
|
174
177
|
const slug = opts.appSlug.trim();
|
|
175
|
-
const keys = [`pulse.${slug}.device-id`, `pulse.${slug}.config.v1`, `pulse.${slug}.events.v1`, `pulse.${slug}.exposures.v1`, DEVICE_ID_KEY];
|
|
178
|
+
const keys = [`pulse.${slug}.device-id`, `pulse.${slug}.config.v1`, `pulse.${slug}.events.v1`, `pulse.${slug}.events.v1.analytics-installation-id`, `pulse.${slug}.exposures.v1`, DEVICE_ID_KEY];
|
|
176
179
|
const loaded = await Promise.all(keys.map(async key => [key, await opts.storage.getItem(key)]));
|
|
177
180
|
const memory = new Map(loaded.filter(entry => entry[1] !== null));
|
|
178
181
|
const storage = {
|
package/lib/module/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["configureConfig","fetchConfig","startConfigAutoRefresh","getConfigInfo","getConfigBoolean","getConfigNumber","getConfigString","getConfigJson","getExposureDeliveryInfo","configureTracking","disposeTracking","flushEvents","getTrackingInfo","track","DEVICE_ID_KEY","activeClient","stopActiveRefresh","initPulse","opts","base","apiUrl","replace","slug","appSlug","trim","configUrl","trackUrl","deviceStorageKey","deviceId","resolveDeviceId","storage","platform","detectPlatform","osVersion","detectOsVersion","appVersion","detectAppVersion","language","detectLanguage","userId","userAttributes","consentOverride","analyticsConsent","undefined","hasConsent","getContext","getUserId","getUserAttributes","url","defaults","storageKey","exposureStorageKey","reportExposure","pollIntervalMs","onError","signingPublicKey","signingKeyId","requireSignature","requireConfigSignature","verifySignature","verifyConfigSignature","verifyWithNativeKey","flushIntervalMs","propertyAllowlist","eventPropertyAllowlist","redactProperties","redactEventProperties","appState","onIgnored","onIgnoredEvents","Error","stopRefresh","client","flush","setUser","nextUserId","attributes","sanitizeAttributes","clearUser","setAnalyticsConsent","granted","resetInstallId","randomId","set","health","config","events","exposures","boolean","number","string","json","refresh","dispose","initPulseAsync","keys","loaded","Promise","all","map","key","getItem","memory","Map","filter","entry","getString","get","value","setItem","existing","minted","clean","Object","fromEntries","entries","slice","length","bytes","Uint8Array","crypto","globalThis","getRandomValues","i","Math","floor","random","hex","Array","from","b","toString","padStart","join","rn","require","Platform","OS","version","Version","String","default","getVersion","canonicalPayload","signature","updates","verifyConfigSignatureAsync","localize","getLocales","languageTag","Intl","DateTimeFormat","resolvedOptions","locale"],"sourceRoot":"../../src","sources":["init.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["configureConfig","fetchConfig","startConfigAutoRefresh","getConfigInfo","getConfigBoolean","getConfigNumber","getConfigString","getConfigJson","getExposureDeliveryInfo","configureTracking","disposeTracking","flushEvents","getTrackingInfo","track","DEVICE_ID_KEY","activeClient","stopActiveRefresh","initPulse","opts","base","apiUrl","replace","slug","appSlug","trim","configUrl","trackUrl","deviceStorageKey","deviceId","resolveDeviceId","storage","platform","detectPlatform","osVersion","detectOsVersion","appVersion","detectAppVersion","language","detectLanguage","userId","userAttributes","consentOverride","analyticsConsent","undefined","hasConsent","getContext","getUserId","getUserAttributes","url","defaults","storageKey","exposureStorageKey","reportExposure","pollIntervalMs","onError","signingPublicKey","signingKeyId","requireSignature","requireConfigSignature","verifySignature","verifyConfigSignature","verifyWithNativeKey","identityMode","eventIdentityMode","flushIntervalMs","propertyAllowlist","eventPropertyAllowlist","redactProperties","redactEventProperties","appState","onIgnored","onIgnoredEvents","Error","stopRefresh","client","flush","setUser","nextUserId","attributes","sanitizeAttributes","clearUser","setAnalyticsConsent","granted","resetInstallId","randomId","set","health","config","events","exposures","boolean","number","string","json","refresh","dispose","initPulseAsync","keys","loaded","Promise","all","map","key","getItem","memory","Map","filter","entry","getString","get","value","setItem","existing","minted","clean","Object","fromEntries","entries","slice","length","bytes","Uint8Array","crypto","globalThis","getRandomValues","i","Math","floor","random","hex","Array","from","b","toString","padStart","join","rn","require","Platform","OS","version","Version","String","default","getVersion","canonicalPayload","signature","updates","verifyConfigSignatureAsync","localize","getLocales","languageTag","Intl","DateTimeFormat","resolvedOptions","locale"],"sourceRoot":"../../src","sources":["init.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/track.js
CHANGED
|
@@ -26,8 +26,11 @@ const DEFAULT_MAX_QUEUE = 500;
|
|
|
26
26
|
const DEFAULT_TIMEOUT_MS = 10_000;
|
|
27
27
|
const DEFAULT_MAX_ATTEMPTS = 10;
|
|
28
28
|
const DEFAULT_STORAGE_KEY = 'pulse.events.v1';
|
|
29
|
+
const ANALYTICS_INSTALLATION_ID_SUFFIX = '.analytics-installation-id';
|
|
30
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
29
31
|
let options = null;
|
|
30
32
|
let queue = [];
|
|
33
|
+
let analyticsInstallationId = '';
|
|
31
34
|
let timer = null;
|
|
32
35
|
let sending = false;
|
|
33
36
|
let nextAttemptAt = 0;
|
|
@@ -43,6 +46,7 @@ export function configureTracking(opts) {
|
|
|
43
46
|
disposeTracking();
|
|
44
47
|
options = opts;
|
|
45
48
|
queue = readQueue(opts);
|
|
49
|
+
analyticsInstallationId = opts.identityMode === 'anonymous_installation' ? resolveAnalyticsInstallationId(opts) : '';
|
|
46
50
|
nextAttemptAt = 0;
|
|
47
51
|
startTimer();
|
|
48
52
|
lifecycleSubscription = opts.appState?.addEventListener('change', state => {
|
|
@@ -98,11 +102,12 @@ export async function flushEvents() {
|
|
|
98
102
|
const opts = options;
|
|
99
103
|
const requestGeneration = trackingGeneration;
|
|
100
104
|
const ctx = opts.getContext?.() ?? {};
|
|
105
|
+
const anonymousInstallation = opts.identityMode === 'anonymous_installation';
|
|
101
106
|
|
|
102
|
-
//
|
|
103
|
-
//
|
|
104
|
-
|
|
105
|
-
|
|
107
|
+
// The legacy/default mode intentionally preserves the original experiment-event
|
|
108
|
+
// contract. Anonymous campaign events opt into a separate identity explicitly.
|
|
109
|
+
if (!anonymousInstallation && !ctx.deviceId) return 0;
|
|
110
|
+
const requestDeviceId = anonymousInstallation ? analyticsInstallationId : ctx.deviceId;
|
|
106
111
|
const batch = queue.slice(0, opts.maxBatch ?? DEFAULT_MAX_BATCH);
|
|
107
112
|
queue = queue.slice(batch.length);
|
|
108
113
|
persistQueue();
|
|
@@ -116,8 +121,12 @@ export async function flushEvents() {
|
|
|
116
121
|
'Content-Type': 'application/json'
|
|
117
122
|
},
|
|
118
123
|
body: JSON.stringify({
|
|
119
|
-
deviceId:
|
|
120
|
-
|
|
124
|
+
deviceId: requestDeviceId,
|
|
125
|
+
// Anonymous mode deliberately omits the property rather than serializing an
|
|
126
|
+
// empty identifier. Context mode remains backwards compatible.
|
|
127
|
+
...(anonymousInstallation ? {} : {
|
|
128
|
+
userId: ctx.userId
|
|
129
|
+
}),
|
|
121
130
|
platform: ctx.platform,
|
|
122
131
|
appVersion: ctx.appVersion,
|
|
123
132
|
events: batch.map(e => ({
|
|
@@ -182,6 +191,7 @@ export function stopTracking() {
|
|
|
182
191
|
disposeTracking();
|
|
183
192
|
options = null;
|
|
184
193
|
queue = [];
|
|
194
|
+
analyticsInstallationId = '';
|
|
185
195
|
sending = false;
|
|
186
196
|
nextAttemptAt = 0;
|
|
187
197
|
}
|
|
@@ -251,6 +261,28 @@ function restoreStaleBatch(opts, batch, status) {
|
|
|
251
261
|
function storageKey(opts) {
|
|
252
262
|
return opts.storageKey?.trim() || DEFAULT_STORAGE_KEY;
|
|
253
263
|
}
|
|
264
|
+
function analyticsInstallationIdStorageKey(opts) {
|
|
265
|
+
return `${storageKey(opts)}${ANALYTICS_INSTALLATION_ID_SUFFIX}`;
|
|
266
|
+
}
|
|
267
|
+
function resolveAnalyticsInstallationId(opts) {
|
|
268
|
+
if (opts.storage) {
|
|
269
|
+
try {
|
|
270
|
+
const stored = opts.storage.getString(analyticsInstallationIdStorageKey(opts))?.trim();
|
|
271
|
+
if (stored && UUID_PATTERN.test(stored)) return stored.toLowerCase();
|
|
272
|
+
} catch {
|
|
273
|
+
// A telemetry identifier can stay memory-only when storage is unavailable.
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
const generated = randomAnalyticsInstallationId();
|
|
277
|
+
if (opts.storage) {
|
|
278
|
+
try {
|
|
279
|
+
opts.storage.set(analyticsInstallationIdStorageKey(opts), generated);
|
|
280
|
+
} catch {
|
|
281
|
+
// A telemetry identifier can stay memory-only when storage is unavailable.
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
return generated;
|
|
285
|
+
}
|
|
254
286
|
function readQueue(opts) {
|
|
255
287
|
if (!opts.storage) return [];
|
|
256
288
|
try {
|
|
@@ -276,4 +308,14 @@ function randomEventId() {
|
|
|
276
308
|
if (typeof cryptoLike?.randomUUID === 'function') return cryptoLike.randomUUID();
|
|
277
309
|
return `evt-${Date.now()}-${Math.random().toString(36).slice(2, 14)}`;
|
|
278
310
|
}
|
|
311
|
+
function randomAnalyticsInstallationId() {
|
|
312
|
+
const cryptoLike = globalThis.crypto;
|
|
313
|
+
if (typeof cryptoLike?.randomUUID === 'function') return cryptoLike.randomUUID().toLowerCase();
|
|
314
|
+
const bytes = new Uint8Array(16);
|
|
315
|
+
if (typeof cryptoLike?.getRandomValues === 'function') cryptoLike.getRandomValues(bytes);else for (let i = 0; i < bytes.length; i++) bytes[i] = Math.floor(Math.random() * 256);
|
|
316
|
+
bytes[6] = (bytes[6] ?? 0) & 0x0f | 0x40;
|
|
317
|
+
bytes[8] = (bytes[8] ?? 0) & 0x3f | 0x80;
|
|
318
|
+
const hex = Array.from(bytes, value => value.toString(16).padStart(2, '0')).join('');
|
|
319
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
320
|
+
}
|
|
279
321
|
//# sourceMappingURL=track.js.map
|
package/lib/module/track.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_FLUSH_MS","DEFAULT_MAX_BATCH","DEFAULT_MAX_QUEUE","DEFAULT_TIMEOUT_MS","DEFAULT_MAX_ATTEMPTS","DEFAULT_STORAGE_KEY","options","queue","timer","sending","nextAttemptAt","lifecycleSubscription","trackingGeneration","trackUrl","url","trimmed","replace","includes","configureTracking","opts","disposeTracking","readQueue","startTimer","appState","addEventListener","state","flushEvents","track","event","props","time","hasConsent","onDropped","flat","allow","propertyAllowlist","Set","redact","redactProperties","key","value","Object","entries","undefined","has","String","push","id","randomEventId","Date","toISOString","attempts","maxQueue","length","dropped","slice","persistQueue","maxBatch","now","requestGeneration","ctx","getContext","deviceId","batch","controller","AbortController","timeout","setTimeout","abort","timeoutMs","response","fetch","method","headers","body","JSON","stringify","userId","platform","appVersion","events","map","e","signal","ok","requeueWithBackoff","status","restoreStaleBatch","onError","Error","json","accepted","ignored","onIgnored","error","clearTimeout","pendingEventCount","getTrackingInfo","queueDepth","clearInterval","remove","stopTracking","every","flushIntervalMs","setInterval","unref","maxAttempts","retryable","next","reduce","max","Math","base","min","floor","random","currentOptions","sameOutbox","storage","storageKey","stored","restored","set","trim","raw","getString","parsed","parse","Array","isArray","filter","item","Boolean","cryptoLike","globalThis","crypto","randomUUID","toString"],"sourceRoot":"../../src","sources":["track.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DEFAULT_FLUSH_MS","DEFAULT_MAX_BATCH","DEFAULT_MAX_QUEUE","DEFAULT_TIMEOUT_MS","DEFAULT_MAX_ATTEMPTS","DEFAULT_STORAGE_KEY","ANALYTICS_INSTALLATION_ID_SUFFIX","UUID_PATTERN","options","queue","analyticsInstallationId","timer","sending","nextAttemptAt","lifecycleSubscription","trackingGeneration","trackUrl","url","trimmed","replace","includes","configureTracking","opts","disposeTracking","readQueue","identityMode","resolveAnalyticsInstallationId","startTimer","appState","addEventListener","state","flushEvents","track","event","props","time","hasConsent","onDropped","flat","allow","propertyAllowlist","Set","redact","redactProperties","key","value","Object","entries","undefined","has","String","push","id","randomEventId","Date","toISOString","attempts","maxQueue","length","dropped","slice","persistQueue","maxBatch","now","requestGeneration","ctx","getContext","anonymousInstallation","deviceId","requestDeviceId","batch","controller","AbortController","timeout","setTimeout","abort","timeoutMs","response","fetch","method","headers","body","JSON","stringify","userId","platform","appVersion","events","map","e","signal","ok","requeueWithBackoff","status","restoreStaleBatch","onError","Error","json","accepted","ignored","onIgnored","error","clearTimeout","pendingEventCount","getTrackingInfo","queueDepth","clearInterval","remove","stopTracking","every","flushIntervalMs","setInterval","unref","maxAttempts","retryable","next","reduce","max","Math","base","min","floor","random","currentOptions","sameOutbox","storage","storageKey","stored","restored","set","trim","analyticsInstallationIdStorageKey","getString","test","toLowerCase","generated","randomAnalyticsInstallationId","raw","parsed","parse","Array","isArray","filter","item","Boolean","cryptoLike","globalThis","crypto","randomUUID","toString","bytes","Uint8Array","getRandomValues","i","hex","from","padStart","join"],"sourceRoot":"../../src","sources":["track.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/typescript/init.d.ts
CHANGED
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
* - the urls, from the base url and the slug, which is what stops the two halves
|
|
15
15
|
* from ever addressing different apps;
|
|
16
16
|
* - platform and OS version, from React Native;
|
|
17
|
-
* - the
|
|
18
|
-
* identifier of its own
|
|
19
|
-
*
|
|
17
|
+
* - the config/experiment id, minted and persisted on first launch — an app that has
|
|
18
|
+
* a stable identifier of its own may pass it. Event tracking keeps the original
|
|
19
|
+
* context identity by default; privacy-sensitive campaign events can explicitly
|
|
20
|
+
* opt into a separate random app-scoped analytics installation UUID.
|
|
20
21
|
*
|
|
21
22
|
* Deliberately not automatic: the app version. Nothing here can read the store build
|
|
22
23
|
* reliably on both platforms, and a version guessed wrong aims a rollout at the wrong
|
|
@@ -58,6 +59,12 @@ export interface InitPulseOptions {
|
|
|
58
59
|
/** Privacy guardrails applied to every track() call. */
|
|
59
60
|
eventPropertyAllowlist?: readonly string[];
|
|
60
61
|
redactEventProperties?: readonly string[];
|
|
62
|
+
/**
|
|
63
|
+
* Event-envelope identity. Defaults to the backwards-compatible config context.
|
|
64
|
+
* Use `anonymous_installation` for events that carry their own experiment/variant
|
|
65
|
+
* dimensions and must never transmit the app's device or account identifier.
|
|
66
|
+
*/
|
|
67
|
+
eventIdentityMode?: 'context' | 'anonymous_installation';
|
|
61
68
|
/** Signed config uses the same Ed25519 public key as OTA updates. */
|
|
62
69
|
signingPublicKey?: string;
|
|
63
70
|
signingKeyId?: string;
|
|
@@ -111,11 +118,12 @@ export interface AsyncPulseStorage {
|
|
|
111
118
|
getItem(key: string): Promise<string | null>;
|
|
112
119
|
setItem(key: string, value: string): Promise<void>;
|
|
113
120
|
}
|
|
114
|
-
/** Wires config and events
|
|
121
|
+
/** Wires config and events with an explicit event-envelope identity policy. */
|
|
115
122
|
export declare function initPulse(opts: InitPulseOptions): PulseClient;
|
|
116
123
|
/**
|
|
117
|
-
* AsyncStorage-friendly one-call setup. It preloads only Pulse's
|
|
118
|
-
* records, then exposes the same
|
|
124
|
+
* AsyncStorage-friendly one-call setup. It preloads only Pulse's app-scoped config,
|
|
125
|
+
* event, analytics-installation and exposure records, then exposes the same
|
|
126
|
+
* synchronous hot-path API as initPulse.
|
|
119
127
|
*/
|
|
120
128
|
export declare function initPulseAsync(opts: Omit<InitPulseOptions, 'storage'> & {
|
|
121
129
|
storage: AsyncPulseStorage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,8 +28,19 @@ export interface TrackOptions {
|
|
|
28
28
|
* app's registry and read as an empty metric on both sides.
|
|
29
29
|
*/
|
|
30
30
|
url: string;
|
|
31
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* Request context shared with config. `context` identity mode reads deviceId/userId
|
|
33
|
+
* for backwards-compatible experiment metrics; `anonymous_installation` ignores
|
|
34
|
+
* them and reads only platform/appVersion.
|
|
35
|
+
*/
|
|
32
36
|
getContext?: () => ConfigContext;
|
|
37
|
+
/**
|
|
38
|
+
* `context` preserves the original experiment-event contract and sends the context
|
|
39
|
+
* deviceId/userId. `anonymous_installation` is an explicit privacy mode: it ignores
|
|
40
|
+
* both and sends only an SDK-minted app-scoped random UUID under the legacy wire
|
|
41
|
+
* field `deviceId`. Defaults to `context` for backwards compatibility.
|
|
42
|
+
*/
|
|
43
|
+
identityMode?: 'context' | 'anonymous_installation';
|
|
33
44
|
/** How often a non-empty queue is sent. Default 10s. */
|
|
34
45
|
flushIntervalMs?: number;
|
|
35
46
|
/** Events per request. The server refuses more than 100. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../../src/track.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ
|
|
1
|
+
{"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../../src/track.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,aAAa,CAAC;IAEjC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,wBAAwB,CAAC;IAEpD,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAE3B,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEtC,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE;QAAE,gBAAgB,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK;YAAE,MAAM,EAAE,MAAM,IAAI,CAAA;SAAE,CAAA;KAAE,CAAC;IAE9G,+DAA+D;IAC/D,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAEvC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,cAAc,GAAG,YAAY,KAAK,IAAI,CAAC;IAE1F,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACrE,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAoCD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAY1D;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CA2B1F;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAiEnD;AAED,2FAA2F;AAC3F,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,eAAe,IAAI;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAEA;AAED,qEAAqE;AACrE,wBAAgB,eAAe,IAAI,IAAI,CAStC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAOnC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pulse-updates",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.7",
|
|
4
4
|
"description": "Pulse app-experience SDK for React Native: updates, config, experiments, events, decisions and first-party links",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
package/src/init.ts
CHANGED
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
* - the urls, from the base url and the slug, which is what stops the two halves
|
|
15
15
|
* from ever addressing different apps;
|
|
16
16
|
* - platform and OS version, from React Native;
|
|
17
|
-
* - the
|
|
18
|
-
* identifier of its own
|
|
19
|
-
*
|
|
17
|
+
* - the config/experiment id, minted and persisted on first launch — an app that has
|
|
18
|
+
* a stable identifier of its own may pass it. Event tracking keeps the original
|
|
19
|
+
* context identity by default; privacy-sensitive campaign events can explicitly
|
|
20
|
+
* opt into a separate random app-scoped analytics installation UUID.
|
|
20
21
|
*
|
|
21
22
|
* Deliberately not automatic: the app version. Nothing here can read the store build
|
|
22
23
|
* reliably on both platforms, and a version guessed wrong aims a rollout at the wrong
|
|
@@ -92,6 +93,13 @@ export interface InitPulseOptions {
|
|
|
92
93
|
eventPropertyAllowlist?: readonly string[];
|
|
93
94
|
redactEventProperties?: readonly string[];
|
|
94
95
|
|
|
96
|
+
/**
|
|
97
|
+
* Event-envelope identity. Defaults to the backwards-compatible config context.
|
|
98
|
+
* Use `anonymous_installation` for events that carry their own experiment/variant
|
|
99
|
+
* dimensions and must never transmit the app's device or account identifier.
|
|
100
|
+
*/
|
|
101
|
+
eventIdentityMode?: 'context' | 'anonymous_installation';
|
|
102
|
+
|
|
95
103
|
/** Signed config uses the same Ed25519 public key as OTA updates. */
|
|
96
104
|
signingPublicKey?: string;
|
|
97
105
|
signingKeyId?: string;
|
|
@@ -156,7 +164,7 @@ export interface AsyncPulseStorage {
|
|
|
156
164
|
let activeClient: PulseClient | null = null;
|
|
157
165
|
let stopActiveRefresh: (() => void) | null = null;
|
|
158
166
|
|
|
159
|
-
/** Wires config and events
|
|
167
|
+
/** Wires config and events with an explicit event-envelope identity policy. */
|
|
160
168
|
export function initPulse(opts: InitPulseOptions): PulseClient {
|
|
161
169
|
// Reconfiguration is synchronous. Calling the old async dispose without awaiting
|
|
162
170
|
// it lets its eventual flush tear down the brand-new tracker — exactly the race a
|
|
@@ -216,6 +224,7 @@ export function initPulse(opts: InitPulseOptions): PulseClient {
|
|
|
216
224
|
configureTracking({
|
|
217
225
|
url: trackUrl,
|
|
218
226
|
getContext,
|
|
227
|
+
identityMode: opts.eventIdentityMode,
|
|
219
228
|
flushIntervalMs: opts.flushIntervalMs,
|
|
220
229
|
storage: opts.storage,
|
|
221
230
|
storageKey: `pulse.${slug}.events.v1`,
|
|
@@ -300,8 +309,9 @@ export function initPulse(opts: InitPulseOptions): PulseClient {
|
|
|
300
309
|
}
|
|
301
310
|
|
|
302
311
|
/**
|
|
303
|
-
* AsyncStorage-friendly one-call setup. It preloads only Pulse's
|
|
304
|
-
* records, then exposes the same
|
|
312
|
+
* AsyncStorage-friendly one-call setup. It preloads only Pulse's app-scoped config,
|
|
313
|
+
* event, analytics-installation and exposure records, then exposes the same
|
|
314
|
+
* synchronous hot-path API as initPulse.
|
|
305
315
|
*/
|
|
306
316
|
export async function initPulseAsync(
|
|
307
317
|
opts: Omit<InitPulseOptions, 'storage'> & { storage: AsyncPulseStorage },
|
|
@@ -311,6 +321,7 @@ export async function initPulseAsync(
|
|
|
311
321
|
`pulse.${slug}.device-id`,
|
|
312
322
|
`pulse.${slug}.config.v1`,
|
|
313
323
|
`pulse.${slug}.events.v1`,
|
|
324
|
+
`pulse.${slug}.events.v1.analytics-installation-id`,
|
|
314
325
|
`pulse.${slug}.exposures.v1`,
|
|
315
326
|
DEVICE_ID_KEY,
|
|
316
327
|
];
|
package/src/track.ts
CHANGED
|
@@ -31,9 +31,21 @@ export interface TrackOptions {
|
|
|
31
31
|
*/
|
|
32
32
|
url: string;
|
|
33
33
|
|
|
34
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
* Request context shared with config. `context` identity mode reads deviceId/userId
|
|
36
|
+
* for backwards-compatible experiment metrics; `anonymous_installation` ignores
|
|
37
|
+
* them and reads only platform/appVersion.
|
|
38
|
+
*/
|
|
35
39
|
getContext?: () => ConfigContext;
|
|
36
40
|
|
|
41
|
+
/**
|
|
42
|
+
* `context` preserves the original experiment-event contract and sends the context
|
|
43
|
+
* deviceId/userId. `anonymous_installation` is an explicit privacy mode: it ignores
|
|
44
|
+
* both and sends only an SDK-minted app-scoped random UUID under the legacy wire
|
|
45
|
+
* field `deviceId`. Defaults to `context` for backwards compatibility.
|
|
46
|
+
*/
|
|
47
|
+
identityMode?: 'context' | 'anonymous_installation';
|
|
48
|
+
|
|
37
49
|
/** How often a non-empty queue is sent. Default 10s. */
|
|
38
50
|
flushIntervalMs?: number;
|
|
39
51
|
|
|
@@ -95,9 +107,12 @@ const DEFAULT_MAX_QUEUE = 500;
|
|
|
95
107
|
const DEFAULT_TIMEOUT_MS = 10_000;
|
|
96
108
|
const DEFAULT_MAX_ATTEMPTS = 10;
|
|
97
109
|
const DEFAULT_STORAGE_KEY = 'pulse.events.v1';
|
|
110
|
+
const ANALYTICS_INSTALLATION_ID_SUFFIX = '.analytics-installation-id';
|
|
111
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
98
112
|
|
|
99
113
|
let options: TrackOptions | null = null;
|
|
100
114
|
let queue: QueuedEvent[] = [];
|
|
115
|
+
let analyticsInstallationId = '';
|
|
101
116
|
let timer: ReturnType<typeof setInterval> | null = null;
|
|
102
117
|
let sending = false;
|
|
103
118
|
let nextAttemptAt = 0;
|
|
@@ -116,6 +131,9 @@ export function configureTracking(opts: TrackOptions): void {
|
|
|
116
131
|
disposeTracking();
|
|
117
132
|
options = opts;
|
|
118
133
|
queue = readQueue(opts);
|
|
134
|
+
analyticsInstallationId = opts.identityMode === 'anonymous_installation'
|
|
135
|
+
? resolveAnalyticsInstallationId(opts)
|
|
136
|
+
: '';
|
|
119
137
|
nextAttemptAt = 0;
|
|
120
138
|
startTimer();
|
|
121
139
|
lifecycleSubscription = opts.appState?.addEventListener('change', (state) => {
|
|
@@ -170,11 +188,12 @@ export async function flushEvents(): Promise<number> {
|
|
|
170
188
|
const opts = options;
|
|
171
189
|
const requestGeneration = trackingGeneration;
|
|
172
190
|
const ctx = opts.getContext?.() ?? {};
|
|
191
|
+
const anonymousInstallation = opts.identityMode === 'anonymous_installation';
|
|
173
192
|
|
|
174
|
-
//
|
|
175
|
-
//
|
|
176
|
-
|
|
177
|
-
|
|
193
|
+
// The legacy/default mode intentionally preserves the original experiment-event
|
|
194
|
+
// contract. Anonymous campaign events opt into a separate identity explicitly.
|
|
195
|
+
if (!anonymousInstallation && !ctx.deviceId) return 0;
|
|
196
|
+
const requestDeviceId = anonymousInstallation ? analyticsInstallationId : ctx.deviceId;
|
|
178
197
|
|
|
179
198
|
const batch = queue.slice(0, opts.maxBatch ?? DEFAULT_MAX_BATCH);
|
|
180
199
|
queue = queue.slice(batch.length);
|
|
@@ -191,8 +210,10 @@ export async function flushEvents(): Promise<number> {
|
|
|
191
210
|
method: 'POST',
|
|
192
211
|
headers: { 'Content-Type': 'application/json' },
|
|
193
212
|
body: JSON.stringify({
|
|
194
|
-
deviceId:
|
|
195
|
-
|
|
213
|
+
deviceId: requestDeviceId,
|
|
214
|
+
// Anonymous mode deliberately omits the property rather than serializing an
|
|
215
|
+
// empty identifier. Context mode remains backwards compatible.
|
|
216
|
+
...(anonymousInstallation ? {} : { userId: ctx.userId }),
|
|
196
217
|
platform: ctx.platform,
|
|
197
218
|
appVersion: ctx.appVersion,
|
|
198
219
|
events: batch.map((e) => ({ id: e.id, event: e.event, time: e.time, props: e.props })),
|
|
@@ -257,6 +278,7 @@ export function stopTracking(): void {
|
|
|
257
278
|
disposeTracking();
|
|
258
279
|
options = null;
|
|
259
280
|
queue = [];
|
|
281
|
+
analyticsInstallationId = '';
|
|
260
282
|
sending = false;
|
|
261
283
|
nextAttemptAt = 0;
|
|
262
284
|
}
|
|
@@ -329,6 +351,31 @@ function storageKey(opts: TrackOptions): string {
|
|
|
329
351
|
return opts.storageKey?.trim() || DEFAULT_STORAGE_KEY;
|
|
330
352
|
}
|
|
331
353
|
|
|
354
|
+
function analyticsInstallationIdStorageKey(opts: TrackOptions): string {
|
|
355
|
+
return `${storageKey(opts)}${ANALYTICS_INSTALLATION_ID_SUFFIX}`;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
function resolveAnalyticsInstallationId(opts: TrackOptions): string {
|
|
359
|
+
if (opts.storage) {
|
|
360
|
+
try {
|
|
361
|
+
const stored = opts.storage.getString(analyticsInstallationIdStorageKey(opts))?.trim();
|
|
362
|
+
if (stored && UUID_PATTERN.test(stored)) return stored.toLowerCase();
|
|
363
|
+
} catch {
|
|
364
|
+
// A telemetry identifier can stay memory-only when storage is unavailable.
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
const generated = randomAnalyticsInstallationId();
|
|
369
|
+
if (opts.storage) {
|
|
370
|
+
try {
|
|
371
|
+
opts.storage.set(analyticsInstallationIdStorageKey(opts), generated);
|
|
372
|
+
} catch {
|
|
373
|
+
// A telemetry identifier can stay memory-only when storage is unavailable.
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
return generated;
|
|
377
|
+
}
|
|
378
|
+
|
|
332
379
|
function readQueue(opts: TrackOptions): QueuedEvent[] {
|
|
333
380
|
if (!opts.storage) return [];
|
|
334
381
|
try {
|
|
@@ -360,3 +407,19 @@ function randomEventId(): string {
|
|
|
360
407
|
if (typeof cryptoLike?.randomUUID === 'function') return cryptoLike.randomUUID();
|
|
361
408
|
return `evt-${Date.now()}-${Math.random().toString(36).slice(2, 14)}`;
|
|
362
409
|
}
|
|
410
|
+
|
|
411
|
+
function randomAnalyticsInstallationId(): string {
|
|
412
|
+
const cryptoLike = globalThis.crypto as {
|
|
413
|
+
randomUUID?: () => string;
|
|
414
|
+
getRandomValues?: (values: Uint8Array) => Uint8Array;
|
|
415
|
+
} | undefined;
|
|
416
|
+
if (typeof cryptoLike?.randomUUID === 'function') return cryptoLike.randomUUID().toLowerCase();
|
|
417
|
+
|
|
418
|
+
const bytes = new Uint8Array(16);
|
|
419
|
+
if (typeof cryptoLike?.getRandomValues === 'function') cryptoLike.getRandomValues(bytes);
|
|
420
|
+
else for (let i = 0; i < bytes.length; i++) bytes[i] = Math.floor(Math.random() * 256);
|
|
421
|
+
bytes[6] = ((bytes[6] ?? 0) & 0x0f) | 0x40;
|
|
422
|
+
bytes[8] = ((bytes[8] ?? 0) & 0x3f) | 0x80;
|
|
423
|
+
const hex = Array.from(bytes, (value) => value.toString(16).padStart(2, '0')).join('');
|
|
424
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
425
|
+
}
|