@solomon-tech/events-eitri 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -2
- package/dist/attribution/deep-link.d.ts +24 -0
- package/dist/attribution/deep-link.d.ts.map +1 -0
- package/dist/attribution/deep-link.js +139 -0
- package/dist/attribution/deep-link.js.map +1 -0
- package/dist/attribution/touchpoint.d.ts +14 -0
- package/dist/attribution/touchpoint.d.ts.map +1 -0
- package/dist/attribution/touchpoint.js +28 -0
- package/dist/attribution/touchpoint.js.map +1 -0
- package/dist/attribution/utm.d.ts +19 -0
- package/dist/attribution/utm.d.ts.map +1 -0
- package/dist/attribution/utm.js +47 -0
- package/dist/attribution/utm.js.map +1 -0
- package/dist/core/client.d.ts +34 -0
- package/dist/core/client.d.ts.map +1 -0
- package/dist/core/client.js +332 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/events.d.ts +54 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +2 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/types.d.ts +29 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/device/info.d.ts +17 -0
- package/dist/device/info.d.ts.map +1 -0
- package/dist/device/info.js +69 -0
- package/dist/device/info.js.map +1 -0
- package/dist/device/install-referrer.d.ts +3 -0
- package/dist/device/install-referrer.d.ts.map +1 -0
- package/dist/device/install-referrer.js +4 -0
- package/dist/device/install-referrer.js.map +1 -0
- package/dist/events/builder.d.ts +17 -0
- package/dist/events/builder.d.ts.map +1 -0
- package/dist/events/builder.js +17 -0
- package/dist/events/builder.js.map +1 -0
- package/dist/events/touchpoint-builder.d.ts +18 -0
- package/dist/events/touchpoint-builder.d.ts.map +1 -0
- package/dist/events/touchpoint-builder.js +27 -0
- package/dist/events/touchpoint-builder.js.map +1 -0
- package/dist/host.d.ts +22 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +33 -0
- package/dist/host.js.map +1 -0
- package/dist/identity/durable-id.d.ts +8 -0
- package/dist/identity/durable-id.d.ts.map +1 -0
- package/dist/identity/durable-id.js +25 -0
- package/dist/identity/durable-id.js.map +1 -0
- package/dist/identity/legacy.d.ts +4 -0
- package/dist/identity/legacy.d.ts.map +1 -0
- package/dist/identity/legacy.js +10 -0
- package/dist/identity/legacy.js.map +1 -0
- package/dist/identity/session.d.ts +3 -0
- package/dist/identity/session.d.ts.map +1 -0
- package/dist/identity/session.js +15 -0
- package/dist/identity/session.js.map +1 -0
- package/dist/identity/stable-id.d.ts +11 -0
- package/dist/identity/stable-id.d.ts.map +1 -0
- package/dist/identity/stable-id.js +23 -0
- package/dist/identity/stable-id.js.map +1 -0
- package/dist/identity/user.d.ts +3 -0
- package/dist/identity/user.d.ts.map +1 -0
- package/dist/identity/user.js +11 -0
- package/dist/identity/user.js.map +1 -0
- package/dist/identity/uuid.d.ts +3 -0
- package/dist/identity/uuid.d.ts.map +1 -0
- package/dist/identity/uuid.js +18 -0
- package/dist/identity/uuid.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/network/endpoints.d.ts +3 -0
- package/dist/network/endpoints.d.ts.map +1 -0
- package/dist/network/endpoints.js +3 -0
- package/dist/network/endpoints.js.map +1 -0
- package/dist/network/publisher.d.ts +3 -0
- package/dist/network/publisher.d.ts.map +1 -0
- package/dist/network/publisher.js +51 -0
- package/dist/network/publisher.js.map +1 -0
- package/dist/storage/adapter.d.ts +6 -0
- package/dist/storage/adapter.d.ts.map +1 -0
- package/dist/storage/adapter.js +2 -0
- package/dist/storage/adapter.js.map +1 -0
- package/dist/storage/eitri-storage.d.ts +10 -0
- package/dist/storage/eitri-storage.d.ts.map +1 -0
- package/dist/storage/eitri-storage.js +17 -0
- package/dist/storage/eitri-storage.js.map +1 -0
- package/dist/storage/timed-value.d.ts +5 -0
- package/dist/storage/timed-value.d.ts.map +1 -0
- package/dist/storage/timed-value.js +39 -0
- package/dist/storage/timed-value.js.map +1 -0
- package/dist/wiring.d.ts +3 -0
- package/dist/wiring.d.ts.map +1 -0
- package/dist/wiring.js +21 -0
- package/dist/wiring.js.map +1 -0
- package/package.json +42 -4
package/README.md
CHANGED
|
@@ -1,3 +1,68 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @solomon-tech/events-eitri
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
SDK de analytics da Solomon para **apps Eitri** (TypeScript, sobre o Bifrost).
|
|
4
|
+
|
|
5
|
+
Rastreia eventos de funil de e-commerce em apps Eitri e os envia para o backend de analytics da Solomon (pixel + webanalytics), que faz a atribuição. É um módulo TypeScript puro que roda no runtime do eitri-app e usa a API `Eitri.*` (`eitri-bifrost`) para rede, storage e device.
|
|
6
|
+
|
|
7
|
+
## Instalação
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @solomon-tech/events-eitri
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
`eitri-bifrost` é uma `peerDependency` — já está disponível no runtime do eitri-app.
|
|
14
|
+
|
|
15
|
+
## Uso
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import SolomonSDK, { registerSolomonHost } from '@solomon-tech/events-eitri';
|
|
19
|
+
|
|
20
|
+
const solomon = new SolomonSDK({
|
|
21
|
+
companyId: 'SEU_COMPANY_ID',
|
|
22
|
+
useTouchpoint: true, // default true
|
|
23
|
+
installStateFromHost: true, // o host (Eitri) informa install/reinstall
|
|
24
|
+
onDeepLink: (deepLinkValue, params) => {
|
|
25
|
+
// rotear a navegação do app com base no deep link
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
// Expõe o SDK para o host (Eitri) chamar os métodos de sessão/instalação:
|
|
30
|
+
registerSolomonHost(solomon);
|
|
31
|
+
|
|
32
|
+
// Rastreio de tela + eventos:
|
|
33
|
+
solomon.setScreenName('ProductScreen');
|
|
34
|
+
solomon.track('ADD_TO_CART', { item_id: '123', item_quantity: 2 }, { email: 'x@y.com' });
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Integração com o host (Eitri)
|
|
38
|
+
|
|
39
|
+
A Eitri resolve o deep link e o lifecycle de instalação e **chama** o SDK:
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
// Params de todos os query params da URL que abriu/reativou o app
|
|
43
|
+
// (utm_*, sol_*, click_id, fbclid, deep_link_value). Cold start E runtime.
|
|
44
|
+
solomon.setSessionAttributes(urlParams);
|
|
45
|
+
|
|
46
|
+
// Lifecycle vindo do host (install referrer / ciclo de vida nativo).
|
|
47
|
+
solomon.setInstallState({ isInstall, isReinstall });
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Se o host chamar por um ponto global em vez da instância, `registerSolomonHost(solomon)`
|
|
51
|
+
expõe `globalThis.__SOLOMON_EITRI__` com os mesmos dois métodos.
|
|
52
|
+
|
|
53
|
+
## Eventos
|
|
54
|
+
|
|
55
|
+
`VIEW_PAGE`, `CONTENT_VIEW`, `ADD_TO_CART`, `INITIATE_CHECKOUT`, `ADD_SHIPPING_INFO`,
|
|
56
|
+
`ADD_CUSTOMER_INFO`, `ADD_PAYMENT_INFO`, `CHECKOUT_COMPLETED`, além de `APP_INSTALL` /
|
|
57
|
+
`APP_REINSTALL` (automáticos).
|
|
58
|
+
|
|
59
|
+
## Notas
|
|
60
|
+
|
|
61
|
+
- **Install referrer**: o Bifrost não expõe install referrer; a atribuição de instalação usa
|
|
62
|
+
`click_id` + fingerprint (fallback). `id_source='shared_storage'`.
|
|
63
|
+
- Campos de enriquecimento ausentes no runtime (locale/timezone/dimensões de tela) degradam para
|
|
64
|
+
`''`/`0` sem quebrar os eventos.
|
|
65
|
+
|
|
66
|
+
## Licença
|
|
67
|
+
|
|
68
|
+
MIT
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface DeepLinkParams {
|
|
2
|
+
utm_source: string;
|
|
3
|
+
utm_medium: string;
|
|
4
|
+
utm_campaign: string;
|
|
5
|
+
utm_term: string;
|
|
6
|
+
utm_content: string;
|
|
7
|
+
sol_source: string;
|
|
8
|
+
sol_medium: string;
|
|
9
|
+
sol_campaign: string;
|
|
10
|
+
sol_content: string;
|
|
11
|
+
fbclid: string;
|
|
12
|
+
click_id: string;
|
|
13
|
+
queryString: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function parseDeepLinkUrl(url: string): DeepLinkParams;
|
|
16
|
+
/** True se a URL é um link do link-service (host = linkDomain) com slug — ex.: l.solomon.com.br/2leihlnl */
|
|
17
|
+
export declare function isSolomonLink(url: string, linkDomain: string): boolean;
|
|
18
|
+
export interface ResolvedLink {
|
|
19
|
+
params: DeepLinkParams;
|
|
20
|
+
deep_link_value: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function resolveSolomonLink(url: string): Promise<ResolvedLink | null>;
|
|
23
|
+
export declare function parseInstallReferrer(referrer: string): DeepLinkParams;
|
|
24
|
+
//# sourceMappingURL=deep-link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep-link.d.ts","sourceRoot":"","sources":["../../src/attribution/deep-link.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AA8CD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAY5D;AAED,4GAA4G;AAC5G,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAMtE;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAeD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAsBlF;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAWrE"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import Eitri from 'eitri-bifrost';
|
|
2
|
+
const CLICK_ID_RE = /^[a-f0-9]{16,}$|^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i;
|
|
3
|
+
function emptyParams() {
|
|
4
|
+
return {
|
|
5
|
+
utm_source: '', utm_medium: '', utm_campaign: '', utm_term: '', utm_content: '',
|
|
6
|
+
sol_source: '', sol_medium: '', sol_campaign: '', sol_content: '',
|
|
7
|
+
fbclid: '', click_id: '', queryString: '',
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
function parseQueryString(query) {
|
|
11
|
+
const params = emptyParams();
|
|
12
|
+
if (!query)
|
|
13
|
+
return params;
|
|
14
|
+
const pairs = query.split('&');
|
|
15
|
+
for (const pair of pairs) {
|
|
16
|
+
const eqIdx = pair.indexOf('=');
|
|
17
|
+
if (eqIdx === -1)
|
|
18
|
+
continue;
|
|
19
|
+
let key;
|
|
20
|
+
let value;
|
|
21
|
+
try {
|
|
22
|
+
key = decodeURIComponent(pair.substring(0, eqIdx));
|
|
23
|
+
value = decodeURIComponent(pair.substring(eqIdx + 1));
|
|
24
|
+
}
|
|
25
|
+
catch (_a) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
switch (key) {
|
|
29
|
+
case 'utm_source':
|
|
30
|
+
params.utm_source = value;
|
|
31
|
+
break;
|
|
32
|
+
case 'utm_medium':
|
|
33
|
+
params.utm_medium = value;
|
|
34
|
+
break;
|
|
35
|
+
case 'utm_campaign':
|
|
36
|
+
params.utm_campaign = value;
|
|
37
|
+
break;
|
|
38
|
+
case 'utm_term':
|
|
39
|
+
params.utm_term = value;
|
|
40
|
+
break;
|
|
41
|
+
case 'utm_content':
|
|
42
|
+
params.utm_content = value;
|
|
43
|
+
break;
|
|
44
|
+
case 'sol_source':
|
|
45
|
+
params.sol_source = value;
|
|
46
|
+
break;
|
|
47
|
+
case 'sol_medium':
|
|
48
|
+
params.sol_medium = value;
|
|
49
|
+
break;
|
|
50
|
+
case 'sol_campaign':
|
|
51
|
+
params.sol_campaign = value;
|
|
52
|
+
break;
|
|
53
|
+
case 'sol_content':
|
|
54
|
+
params.sol_content = value;
|
|
55
|
+
break;
|
|
56
|
+
case 'fbclid':
|
|
57
|
+
params.fbclid = value;
|
|
58
|
+
break;
|
|
59
|
+
case 'click_id':
|
|
60
|
+
params.click_id = value;
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return params;
|
|
65
|
+
}
|
|
66
|
+
export function parseDeepLinkUrl(url) {
|
|
67
|
+
let queryString = '';
|
|
68
|
+
const questionIdx = url.indexOf('?');
|
|
69
|
+
if (questionIdx !== -1) {
|
|
70
|
+
queryString = url.substring(questionIdx + 1);
|
|
71
|
+
const hashIdx = queryString.indexOf('#');
|
|
72
|
+
if (hashIdx !== -1)
|
|
73
|
+
queryString = queryString.substring(0, hashIdx);
|
|
74
|
+
}
|
|
75
|
+
const params = parseQueryString(queryString);
|
|
76
|
+
params.queryString = queryString ? '?' + queryString : '';
|
|
77
|
+
return params;
|
|
78
|
+
}
|
|
79
|
+
/** True se a URL é um link do link-service (host = linkDomain) com slug — ex.: l.solomon.com.br/2leihlnl */
|
|
80
|
+
export function isSolomonLink(url, linkDomain) {
|
|
81
|
+
if (!url || !linkDomain)
|
|
82
|
+
return false;
|
|
83
|
+
const noScheme = url.replace(/^https?:\/\//i, '');
|
|
84
|
+
const host = noScheme.split('/')[0].split('?')[0].toLowerCase();
|
|
85
|
+
const path = noScheme.split('/').slice(1).join('/').split('?')[0];
|
|
86
|
+
return host === linkDomain.toLowerCase() && !!path && !path.startsWith('.well-known');
|
|
87
|
+
}
|
|
88
|
+
/** Extrai o corpo JSON de uma HttpResponse do Bifrost (axios-like `data`, ou `body`/string). */
|
|
89
|
+
function extractJson(resp) {
|
|
90
|
+
var _a, _b, _c;
|
|
91
|
+
if (!resp)
|
|
92
|
+
return null;
|
|
93
|
+
const status = (_a = resp.status) !== null && _a !== void 0 ? _a : resp.statusCode;
|
|
94
|
+
if (typeof status === 'number' && (status < 200 || status >= 300))
|
|
95
|
+
return null;
|
|
96
|
+
const raw = (_c = (_b = resp.data) !== null && _b !== void 0 ? _b : resp.body) !== null && _c !== void 0 ? _c : resp;
|
|
97
|
+
if (raw && typeof raw === 'object')
|
|
98
|
+
return raw;
|
|
99
|
+
if (typeof raw === 'string') {
|
|
100
|
+
try {
|
|
101
|
+
return JSON.parse(raw);
|
|
102
|
+
}
|
|
103
|
+
catch (_d) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
export async function resolveSolomonLink(url) {
|
|
110
|
+
try {
|
|
111
|
+
const sep = url.includes('?') ? '&' : '?';
|
|
112
|
+
const resp = await Eitri.http.get(`${url}${sep}mode=resolve`, {
|
|
113
|
+
headers: { Accept: 'application/json' },
|
|
114
|
+
});
|
|
115
|
+
const d = extractJson(resp);
|
|
116
|
+
if (!d)
|
|
117
|
+
return null;
|
|
118
|
+
return {
|
|
119
|
+
params: Object.assign(Object.assign({}, emptyParams()), { utm_source: d.utm_source || '', utm_medium: d.utm_medium || '', utm_campaign: d.utm_campaign || '', utm_term: d.utm_term || '', utm_content: d.utm_content || '', sol_source: d.sol_source || '', sol_medium: d.sol_medium || '', sol_campaign: d.sol_campaign || '', sol_content: d.sol_content || '', click_id: d.click_id || '' }),
|
|
120
|
+
deep_link_value: d.deep_link_value || '',
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
catch (_a) {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
export function parseInstallReferrer(referrer) {
|
|
128
|
+
if (!referrer)
|
|
129
|
+
return emptyParams();
|
|
130
|
+
const trimmed = referrer.trim();
|
|
131
|
+
if (trimmed.includes('=')) {
|
|
132
|
+
return parseQueryString(trimmed);
|
|
133
|
+
}
|
|
134
|
+
if (CLICK_ID_RE.test(trimmed)) {
|
|
135
|
+
return Object.assign(Object.assign({}, emptyParams()), { click_id: trimmed });
|
|
136
|
+
}
|
|
137
|
+
return emptyParams();
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=deep-link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deep-link.js","sourceRoot":"","sources":["../../src/attribution/deep-link.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { StorageAdapter } from '../storage/adapter';
|
|
2
|
+
export declare function updateUtmsTrack(storage: StorageAdapter, eventData: {
|
|
3
|
+
utm_source: string;
|
|
4
|
+
utm_medium: string;
|
|
5
|
+
utm_campaign: string;
|
|
6
|
+
utm_term: string;
|
|
7
|
+
utm_content: string;
|
|
8
|
+
sol_source: string;
|
|
9
|
+
sol_medium: string;
|
|
10
|
+
sol_campaign: string;
|
|
11
|
+
sol_content: string;
|
|
12
|
+
}): Promise<string>;
|
|
13
|
+
export declare function getUtmsTrack(storage: StorageAdapter): Promise<string>;
|
|
14
|
+
//# sourceMappingURL=touchpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"touchpoint.d.ts","sourceRoot":"","sources":["../../src/attribution/touchpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE;IACT,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB,GACA,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3E"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const UTMS_TRACK_KEY = '@solomon/utms_track';
|
|
2
|
+
export async function updateUtmsTrack(storage, eventData) {
|
|
3
|
+
const utmEntries = {
|
|
4
|
+
utm_source: eventData.utm_source,
|
|
5
|
+
utm_medium: eventData.utm_medium,
|
|
6
|
+
utm_campaign: eventData.utm_campaign,
|
|
7
|
+
utm_term: eventData.utm_term,
|
|
8
|
+
utm_content: eventData.utm_content,
|
|
9
|
+
sol_source: eventData.sol_source,
|
|
10
|
+
sol_medium: eventData.sol_medium,
|
|
11
|
+
sol_campaign: eventData.sol_campaign,
|
|
12
|
+
sol_content: eventData.sol_content,
|
|
13
|
+
};
|
|
14
|
+
// Build utmsTrack string only from eventData (which comes from getAllUtms, the single source of truth)
|
|
15
|
+
const parts = [];
|
|
16
|
+
for (const key in utmEntries) {
|
|
17
|
+
if (utmEntries[key]) {
|
|
18
|
+
parts.push(key + '=' + utmEntries[key]);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const utmsTrackString = parts.join('&');
|
|
22
|
+
await storage.setItem(UTMS_TRACK_KEY, utmsTrackString);
|
|
23
|
+
return utmsTrackString;
|
|
24
|
+
}
|
|
25
|
+
export async function getUtmsTrack(storage) {
|
|
26
|
+
return (await storage.getItem(UTMS_TRACK_KEY)) || '';
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=touchpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"touchpoint.js","sourceRoot":"","sources":["../../src/attribution/touchpoint.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAuB,EACvB,SAUC;IAED,MAAM,UAAU,GAA2B;QACzC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,WAAW,EAAE,SAAS,CAAC,WAAW;KACnC,CAAC;IAEF,uGAAuG;IACvG,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;IAEvD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAuB;IACxD,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { StorageAdapter } from '../storage/adapter';
|
|
2
|
+
import { DeepLinkParams } from './deep-link';
|
|
3
|
+
export declare function storeUtms(storage: StorageAdapter, params: DeepLinkParams): Promise<void>;
|
|
4
|
+
export declare function getUtm(storage: StorageAdapter, key: string): Promise<string>;
|
|
5
|
+
export interface AllUtms {
|
|
6
|
+
utm_source: string;
|
|
7
|
+
utm_medium: string;
|
|
8
|
+
utm_campaign: string;
|
|
9
|
+
utm_term: string;
|
|
10
|
+
utm_content: string;
|
|
11
|
+
sol_source: string;
|
|
12
|
+
sol_medium: string;
|
|
13
|
+
sol_campaign: string;
|
|
14
|
+
sol_content: string;
|
|
15
|
+
fbclid: string;
|
|
16
|
+
click_id: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function getAllUtms(storage: StorageAdapter): Promise<AllUtms>;
|
|
19
|
+
//# sourceMappingURL=utm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utm.d.ts","sourceRoot":"","sources":["../../src/attribution/utm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAW7C,wBAAsB,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB9F;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGlF;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAwB1E"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
const UTM_KEYS = [
|
|
2
|
+
'utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',
|
|
3
|
+
'sol_source', 'sol_medium', 'sol_campaign', 'sol_content',
|
|
4
|
+
];
|
|
5
|
+
const STORAGE_PREFIX = '@solomon/';
|
|
6
|
+
const FBCLID_KEY = '@solomon/fbclid';
|
|
7
|
+
const CLICK_ID_KEY = '@solomon/click_id';
|
|
8
|
+
export async function storeUtms(storage, params) {
|
|
9
|
+
const promises = [];
|
|
10
|
+
for (const key of UTM_KEYS) {
|
|
11
|
+
if (params[key]) {
|
|
12
|
+
promises.push(storage.setItem(STORAGE_PREFIX + key, params[key]));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
if (params.fbclid) {
|
|
16
|
+
promises.push(storage.setItem(FBCLID_KEY, params.fbclid));
|
|
17
|
+
}
|
|
18
|
+
if (params.click_id) {
|
|
19
|
+
promises.push(storage.setItem(CLICK_ID_KEY, params.click_id));
|
|
20
|
+
}
|
|
21
|
+
await Promise.all(promises);
|
|
22
|
+
}
|
|
23
|
+
export async function getUtm(storage, key) {
|
|
24
|
+
const value = await storage.getItem(STORAGE_PREFIX + key);
|
|
25
|
+
return value || '';
|
|
26
|
+
}
|
|
27
|
+
export async function getAllUtms(storage) {
|
|
28
|
+
const [utm_source, utm_medium, utm_campaign, utm_term, utm_content, sol_source, sol_medium, sol_campaign, sol_content, fbclid, click_id,] = await Promise.all([
|
|
29
|
+
getUtm(storage, 'utm_source'),
|
|
30
|
+
getUtm(storage, 'utm_medium'),
|
|
31
|
+
getUtm(storage, 'utm_campaign'),
|
|
32
|
+
getUtm(storage, 'utm_term'),
|
|
33
|
+
getUtm(storage, 'utm_content'),
|
|
34
|
+
getUtm(storage, 'sol_source'),
|
|
35
|
+
getUtm(storage, 'sol_medium'),
|
|
36
|
+
getUtm(storage, 'sol_campaign'),
|
|
37
|
+
getUtm(storage, 'sol_content'),
|
|
38
|
+
storage.getItem(FBCLID_KEY).then((v) => v || ''),
|
|
39
|
+
storage.getItem(CLICK_ID_KEY).then((v) => v || ''),
|
|
40
|
+
]);
|
|
41
|
+
return {
|
|
42
|
+
utm_source, utm_medium, utm_campaign, utm_term, utm_content,
|
|
43
|
+
sol_source, sol_medium, sol_campaign, sol_content,
|
|
44
|
+
fbclid, click_id,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=utm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utm.js","sourceRoot":"","sources":["../../src/attribution/utm.ts"],"names":[],"mappings":"AAGA,MAAM,QAAQ,GAAG;IACf,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa;IACrE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa;CACjD,CAAC;AAEX,MAAM,cAAc,GAAG,WAAW,CAAC;AACnC,MAAM,UAAU,GAAG,iBAAiB,CAAC;AACrC,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAuB,EAAE,MAAsB;IAC7E,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,GAAG,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAuB,EAAE,GAAW;IAC/D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC;IAC1D,OAAO,KAAK,IAAI,EAAE,CAAC;AACrB,CAAC;AAgBD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAuB;IACtD,MAAM,CACJ,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAC3D,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EACjD,MAAM,EAAE,QAAQ,EACjB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC;QAC7B,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC;QAC7B,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC;QAC/B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;QAC3B,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC;QAC9B,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC;QAC7B,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC;QAC7B,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC;QAC/B,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;KACnD,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW;QAC3D,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW;QACjD,MAAM,EAAE,QAAQ;KACjB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { SDKConfig, CustomAliases } from './types';
|
|
2
|
+
import { SolomonEvent, SolomonPayload } from './events';
|
|
3
|
+
export declare class SolomonSDK {
|
|
4
|
+
private config;
|
|
5
|
+
private storage;
|
|
6
|
+
private appIdentifier;
|
|
7
|
+
private currentScreen;
|
|
8
|
+
private previousScreen;
|
|
9
|
+
private queryString;
|
|
10
|
+
private deepLinkValue;
|
|
11
|
+
private installReferrer;
|
|
12
|
+
private deviceInfoCache;
|
|
13
|
+
private stableId;
|
|
14
|
+
private initPromise;
|
|
15
|
+
private installEmitted;
|
|
16
|
+
constructor(config: SDKConfig);
|
|
17
|
+
private _init;
|
|
18
|
+
private _emitInstallEvent;
|
|
19
|
+
setScreenName(name: string): void;
|
|
20
|
+
setSessionAttributes(attributes: Record<string, any> | null | undefined): Promise<void>;
|
|
21
|
+
applyInitParams(info: Record<string, any> | null | undefined): Promise<void>;
|
|
22
|
+
private _buildQueryString;
|
|
23
|
+
handleDeepLink(url: string): void;
|
|
24
|
+
getDeepLinkValue(): string;
|
|
25
|
+
setInstallState(state: {
|
|
26
|
+
isInstall?: boolean;
|
|
27
|
+
isReinstall?: boolean;
|
|
28
|
+
} | null | undefined): Promise<void>;
|
|
29
|
+
track<E extends SolomonEvent>(event: E, payload?: SolomonPayload<E>, aliases?: CustomAliases): Promise<void>;
|
|
30
|
+
private _buildEventPayload;
|
|
31
|
+
flush(): Promise<void>;
|
|
32
|
+
destroy(): void;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA2BxD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,cAAc,CAAkB;gBAE5B,MAAM,EAAE,SAAS;YAaf,KAAK;YAiDL,iBAAiB;IA8C/B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAU3B,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CvF,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlF,OAAO,CAAC,iBAAiB;IAWzB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAoCjC,gBAAgB,IAAI,MAAM;IAIpB,eAAe,CAAC,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxG,KAAK,CAAC,CAAC,SAAS,YAAY,EAChC,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC;IAsDhB,OAAO,CAAC,kBAAkB;IA0BpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,OAAO,IAAI,IAAI;CAKhB"}
|