@encorekit/web-sdk 0.1.5 → 0.1.8
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 +86 -8
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/umd/encore.min.js +1 -1
- package/dist/umd/encore.min.js.map +1 -1
- package/embed/README.md +409 -0
- package/embed/index.html +57 -0
- package/embed/styles.css +154 -0
- package/examples/ios-webview/EncoreURLBuilder.swift +87 -0
- package/examples/ios-webview/EncoreWebViewBridge.swift +426 -0
- package/examples/ios-webview/ExampleViewController.swift +233 -0
- package/examples/ios-webview/README.md +416 -0
- package/examples/ios-webview/SimpleEncoreView.swift +94 -0
- package/examples/ios-webview/SimpleExample.swift +131 -0
- package/package.json +8 -2
- package/types/analytics/AnalyticsClient.d.ts +14 -0
- package/types/analytics/AnalyticsClient.d.ts.map +1 -0
- package/types/analytics/events.d.ts +63 -0
- package/types/analytics/events.d.ts.map +1 -0
- package/types/analytics/models.d.ts +17 -0
- package/types/analytics/models.d.ts.map +1 -0
- package/types/api/APIClient.d.ts +44 -8
- package/types/api/APIClient.d.ts.map +1 -1
- package/types/api/endpoints.d.ts +11 -7
- package/types/api/endpoints.d.ts.map +1 -1
- package/types/api/models.d.ts +128 -64
- package/types/api/models.d.ts.map +1 -1
- package/types/core/Configuration.d.ts +4 -0
- package/types/core/Configuration.d.ts.map +1 -1
- package/types/core/Encore.d.ts +4 -0
- package/types/core/Encore.d.ts.map +1 -1
- package/types/core/OfferManager.d.ts +27 -7
- package/types/core/OfferManager.d.ts.map +1 -1
- package/types/types.d.ts +1 -1
- package/types/types.d.ts.map +1 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics Event Factories
|
|
3
|
+
* Event definitions matching cross-platform analytics spec
|
|
4
|
+
*/
|
|
5
|
+
import type { AnalyticsEvent } from './models';
|
|
6
|
+
export declare function sdkInitialized(distinctId: string, sdkVersion: string, appBundleId: string): AnalyticsEvent;
|
|
7
|
+
export declare function userIdentified(distinctId: string, userId: string, appBundleId: string, attributes?: Record<string, unknown>): AnalyticsEvent;
|
|
8
|
+
export declare function offerPresentationTriggered(distinctId: string, presentationId: string, variantId?: string): AnalyticsEvent;
|
|
9
|
+
export declare function offerPresentationFailed(distinctId: string, reason: string, presentationId: string, variantId?: string): AnalyticsEvent;
|
|
10
|
+
export declare function offerPresentationSuccess(distinctId: string, presentationId: string, offerCount: number, variantId?: string): AnalyticsEvent;
|
|
11
|
+
export declare function offerPresented(distinctId: string, params: {
|
|
12
|
+
campaignId: string;
|
|
13
|
+
creativeId: string;
|
|
14
|
+
advertiserName?: string;
|
|
15
|
+
impressionId: string;
|
|
16
|
+
offerIndex: number;
|
|
17
|
+
totalOffers: number;
|
|
18
|
+
presentationTrigger?: string;
|
|
19
|
+
presentationId: string;
|
|
20
|
+
variantId?: string;
|
|
21
|
+
}): AnalyticsEvent;
|
|
22
|
+
export declare function offerClaimed(distinctId: string, params: {
|
|
23
|
+
campaignId: string;
|
|
24
|
+
creativeId: string;
|
|
25
|
+
advertiserName?: string;
|
|
26
|
+
impressionId: string;
|
|
27
|
+
transactionId: string;
|
|
28
|
+
offerIndex: number;
|
|
29
|
+
totalOffers: number;
|
|
30
|
+
presentationId: string;
|
|
31
|
+
variantId?: string;
|
|
32
|
+
}): AnalyticsEvent;
|
|
33
|
+
export declare function offerDeclined(distinctId: string, params: {
|
|
34
|
+
campaignId: string;
|
|
35
|
+
creativeId: string;
|
|
36
|
+
advertiserName?: string;
|
|
37
|
+
impressionId: string;
|
|
38
|
+
offerIndex: number;
|
|
39
|
+
totalOffers: number;
|
|
40
|
+
declineReason?: string;
|
|
41
|
+
presentationId: string;
|
|
42
|
+
variantId?: string;
|
|
43
|
+
}): AnalyticsEvent;
|
|
44
|
+
export declare function offerSheetDismissed(distinctId: string, params: {
|
|
45
|
+
presentationId: string;
|
|
46
|
+
totalTimeSpentSeconds: number;
|
|
47
|
+
totalOffers: number;
|
|
48
|
+
offersViewed: number;
|
|
49
|
+
declineReason?: string;
|
|
50
|
+
variantId?: string;
|
|
51
|
+
}): AnalyticsEvent;
|
|
52
|
+
export declare function offerTimeSpent(distinctId: string, params: {
|
|
53
|
+
campaignId: string;
|
|
54
|
+
offerIndex: number;
|
|
55
|
+
timeSpentSeconds: number;
|
|
56
|
+
viewCount: number;
|
|
57
|
+
totalOffers: number;
|
|
58
|
+
presentationId: string;
|
|
59
|
+
variantId?: string;
|
|
60
|
+
}): AnalyticsEvent;
|
|
61
|
+
export declare function applyCreditsClicked(distinctId: string, creditsApplied: number, userId: string, variantId?: string): AnalyticsEvent;
|
|
62
|
+
export declare function sdkError(distinctId: string, errorType: string, errorDescription: string, context?: string): AnalyticsEvent;
|
|
63
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/analytics/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics Types
|
|
3
|
+
* Types for analytics event tracking
|
|
4
|
+
*/
|
|
5
|
+
export interface EventEnvelope {
|
|
6
|
+
event_id: string;
|
|
7
|
+
event_name: string;
|
|
8
|
+
event_timestamp: string;
|
|
9
|
+
distinct_id: string;
|
|
10
|
+
properties: Record<string, unknown>;
|
|
11
|
+
}
|
|
12
|
+
export interface AnalyticsEvent {
|
|
13
|
+
name: string;
|
|
14
|
+
distinctId: string;
|
|
15
|
+
properties: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/analytics/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC"}
|
package/types/api/APIClient.d.ts
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Low-level HTTP client using native fetch with retries, timeout, and deduplication
|
|
4
4
|
* Also provides high-level methods for specific API endpoints
|
|
5
5
|
*/
|
|
6
|
-
import type { UserAttributes, Entitlement } from '../types';
|
|
7
|
-
import type {
|
|
6
|
+
import type { UserAttributes, Entitlement, VerificationStatus } from '../types';
|
|
7
|
+
import type { StartTransactionResponse, InitUserResponse, IdentifyUserResponse, RemoteConfigResponse, OfferModel, BackendVerificationStatus } from './models';
|
|
8
8
|
interface RequestOptions {
|
|
9
|
-
method: 'GET' | 'POST';
|
|
9
|
+
method: 'GET' | 'POST' | 'PATCH';
|
|
10
10
|
headers?: Record<string, string>;
|
|
11
11
|
body?: unknown;
|
|
12
12
|
timeout?: number;
|
|
@@ -31,17 +31,20 @@ export declare class APIClient {
|
|
|
31
31
|
* Make a POST request
|
|
32
32
|
*/
|
|
33
33
|
post<T>(endpoint: string, body?: unknown, options?: Partial<RequestOptions>): Promise<T>;
|
|
34
|
+
/**
|
|
35
|
+
* Make a PATCH request
|
|
36
|
+
*/
|
|
37
|
+
patch<T>(endpoint: string, body?: unknown, options?: Partial<RequestOptions>): Promise<T>;
|
|
34
38
|
/**
|
|
35
39
|
* Fetch offers for a user
|
|
36
40
|
*/
|
|
37
41
|
fetchOffers(userId: string, attributes: UserAttributes): Promise<{
|
|
38
42
|
offers: OfferModel[];
|
|
39
|
-
uiConfiguration?: FetchOffersResponse['uiConfiguration'];
|
|
40
43
|
}>;
|
|
41
44
|
/**
|
|
42
45
|
* Start a transaction for an offer
|
|
43
46
|
*/
|
|
44
|
-
startTransaction(campaignId: string, userId: string
|
|
47
|
+
startTransaction(campaignId: string, userId: string): Promise<StartTransactionResponse>;
|
|
45
48
|
/**
|
|
46
49
|
* Send grant signal (provisional or final)
|
|
47
50
|
*/
|
|
@@ -53,11 +56,44 @@ export declare class APIClient {
|
|
|
53
56
|
/**
|
|
54
57
|
* Check verification status for a transaction
|
|
55
58
|
*/
|
|
56
|
-
checkVerificationStatus(transactionId: string): Promise<
|
|
59
|
+
checkVerificationStatus(transactionId: string): Promise<{
|
|
60
|
+
status: VerificationStatus;
|
|
61
|
+
raw: BackendVerificationStatus;
|
|
62
|
+
}>;
|
|
63
|
+
/**
|
|
64
|
+
* Initialize user on the backend
|
|
65
|
+
*/
|
|
66
|
+
initUser(userId: string, attributes?: {
|
|
67
|
+
email?: string;
|
|
68
|
+
name?: string;
|
|
69
|
+
}): Promise<InitUserResponse>;
|
|
70
|
+
/**
|
|
71
|
+
* Identify/update user identity
|
|
72
|
+
*/
|
|
73
|
+
identifyUser(currentUserId: string, newUserId: string, attributes?: {
|
|
74
|
+
email?: string;
|
|
75
|
+
name?: string;
|
|
76
|
+
}): Promise<IdentifyUserResponse>;
|
|
77
|
+
/**
|
|
78
|
+
* Fetch remote config
|
|
79
|
+
*/
|
|
80
|
+
fetchConfig(userId: string, sdkVersion: string): Promise<RemoteConfigResponse>;
|
|
81
|
+
/**
|
|
82
|
+
* Report a client error (fire-and-forget)
|
|
83
|
+
*/
|
|
84
|
+
reportError(params: {
|
|
85
|
+
errorType: string;
|
|
86
|
+
message: string;
|
|
87
|
+
context: string;
|
|
88
|
+
severity?: 'fatal' | 'error' | 'warning' | 'info';
|
|
89
|
+
stackTrace?: string;
|
|
90
|
+
userId?: string;
|
|
91
|
+
metadata?: Record<string, string>;
|
|
92
|
+
}): Promise<void>;
|
|
57
93
|
/**
|
|
58
|
-
*
|
|
94
|
+
* Revoke entitlements for a user (dev tool)
|
|
59
95
|
*/
|
|
60
|
-
|
|
96
|
+
revokeEntitlements(userId: string): Promise<boolean>;
|
|
61
97
|
}
|
|
62
98
|
export {};
|
|
63
99
|
//# sourceMappingURL=APIClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"APIClient.d.ts","sourceRoot":"","sources":["../../src/api/APIClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAe,cAAc,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"APIClient.d.ts","sourceRoot":"","sources":["../../src/api/APIClient.ts"],"names":[],"mappings":"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"}
|
package/types/api/endpoints.d.ts
CHANGED
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
* Constants and utilities for building API URLs
|
|
4
4
|
*/
|
|
5
5
|
export declare const ENDPOINTS: {
|
|
6
|
-
readonly FETCH_OFFERS: "/offers/
|
|
7
|
-
readonly START_TRANSACTION: "/transactions
|
|
8
|
-
readonly GRANT_SIGNAL: "/transactions/:
|
|
6
|
+
readonly FETCH_OFFERS: "/offers/search";
|
|
7
|
+
readonly START_TRANSACTION: "/transactions";
|
|
8
|
+
readonly GRANT_SIGNAL: "/transactions/:transactionId/signals";
|
|
9
9
|
readonly FETCH_ENTITLEMENTS: "/entitlements";
|
|
10
|
-
readonly VERIFICATION_STATUS: "/
|
|
11
|
-
readonly
|
|
10
|
+
readonly VERIFICATION_STATUS: "/transactions/:transactionId/status";
|
|
11
|
+
readonly INIT_USER: "/users";
|
|
12
|
+
readonly IDENTIFY_USER: "/users/identify";
|
|
13
|
+
readonly CONFIG: "/config";
|
|
14
|
+
readonly REPORT_ERROR: "/errors";
|
|
15
|
+
readonly REVOKE_ENTITLEMENTS: "/entitlements/revoke";
|
|
12
16
|
};
|
|
13
17
|
/**
|
|
14
18
|
* Build full URL from baseURL and endpoint path
|
|
@@ -16,8 +20,8 @@ export declare const ENDPOINTS: {
|
|
|
16
20
|
export declare function buildURL(baseURL: string, endpoint: string): string;
|
|
17
21
|
/**
|
|
18
22
|
* Replace path parameters in endpoint
|
|
19
|
-
* Example: replacePathParams('/transactions/:
|
|
20
|
-
* Returns: '/transactions/123/
|
|
23
|
+
* Example: replacePathParams('/transactions/:transactionId/signals', { transactionId: '123' })
|
|
24
|
+
* Returns: '/transactions/123/signals'
|
|
21
25
|
*/
|
|
22
26
|
export declare function replacePathParams(endpoint: string, params: Record<string, string>): string;
|
|
23
27
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/api/endpoints.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/api/endpoints.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,eAAO,MAAM,SAAS;;;;;;;;;;;CAWZ,CAAC;AAMX;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAM1F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACtD,MAAM,CAaR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE3E"}
|
package/types/api/models.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* API Request and Response Models
|
|
3
3
|
* Types for all API requests and responses matching backend contracts
|
|
4
4
|
*/
|
|
5
|
-
import type { EntitlementType, UserAttributes
|
|
5
|
+
import type { EntitlementType, UserAttributes } from '../types';
|
|
6
6
|
export interface OfferModel {
|
|
7
7
|
id: string;
|
|
8
8
|
title: string;
|
|
@@ -24,7 +24,7 @@ export interface OfferModel {
|
|
|
24
24
|
tooltipText?: string;
|
|
25
25
|
trackingParameters?: Record<string, string>;
|
|
26
26
|
}
|
|
27
|
-
export interface
|
|
27
|
+
export interface CreativeModel {
|
|
28
28
|
id: string;
|
|
29
29
|
campaignId: string;
|
|
30
30
|
name: string;
|
|
@@ -44,19 +44,18 @@ export interface APICreativeModel {
|
|
|
44
44
|
quickInstructions?: string;
|
|
45
45
|
tooltipText?: string;
|
|
46
46
|
}
|
|
47
|
-
export interface
|
|
47
|
+
export interface OrganizationModel {
|
|
48
48
|
id: string;
|
|
49
|
-
merchantId: string;
|
|
50
|
-
merchantName: string;
|
|
51
49
|
name: string;
|
|
52
|
-
|
|
53
|
-
payoutAmount: number;
|
|
54
|
-
creatives: APICreativeModel[];
|
|
50
|
+
logoUrl?: string;
|
|
55
51
|
}
|
|
56
|
-
export interface
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
export interface CampaignModel {
|
|
53
|
+
id: string;
|
|
54
|
+
name: string;
|
|
55
|
+
payoutModel?: string;
|
|
56
|
+
payoutAmount?: number;
|
|
57
|
+
creatives?: CreativeModel[];
|
|
58
|
+
organization?: OrganizationModel;
|
|
60
59
|
}
|
|
61
60
|
export interface TransactionModel {
|
|
62
61
|
id: string;
|
|
@@ -67,24 +66,16 @@ export interface TransactionModel {
|
|
|
67
66
|
export interface FetchOffersRequest {
|
|
68
67
|
userId: string;
|
|
69
68
|
attributes: UserAttributes;
|
|
69
|
+
platform: string;
|
|
70
|
+
sdkVersion: string;
|
|
71
|
+
variantId?: string;
|
|
70
72
|
}
|
|
71
73
|
export interface StartTransactionRequest {
|
|
72
74
|
campaignId: string;
|
|
73
75
|
userId: string;
|
|
74
|
-
impressionId?: string;
|
|
75
|
-
creativeId: string;
|
|
76
76
|
}
|
|
77
77
|
export interface GrantSignalRequest {
|
|
78
|
-
transactionId: string;
|
|
79
78
|
grantType: 'provisional' | 'final';
|
|
80
|
-
timestamp: string;
|
|
81
|
-
}
|
|
82
|
-
export interface LogImpressionRequest {
|
|
83
|
-
impressionId: string;
|
|
84
|
-
userId: string;
|
|
85
|
-
campaignId: string;
|
|
86
|
-
creativeId: string;
|
|
87
|
-
appBundleId: string;
|
|
88
79
|
}
|
|
89
80
|
export interface FetchEntitlementsRequest {
|
|
90
81
|
userId: string;
|
|
@@ -92,67 +83,140 @@ export interface FetchEntitlementsRequest {
|
|
|
92
83
|
export interface VerificationStatusRequest {
|
|
93
84
|
transactionId: string;
|
|
94
85
|
}
|
|
86
|
+
export interface InitUserRequest {
|
|
87
|
+
userId: string;
|
|
88
|
+
attributes?: {
|
|
89
|
+
email?: string;
|
|
90
|
+
name?: string;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
export interface IdentifyUserRequest {
|
|
94
|
+
currentUserId: string;
|
|
95
|
+
newUserId: string;
|
|
96
|
+
attributes?: {
|
|
97
|
+
email?: string;
|
|
98
|
+
name?: string;
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
export interface ReportErrorRequest {
|
|
102
|
+
errorType: string;
|
|
103
|
+
message: string;
|
|
104
|
+
context: string;
|
|
105
|
+
stackTrace?: string;
|
|
106
|
+
underlyingError?: string;
|
|
107
|
+
severity: 'fatal' | 'error' | 'warning' | 'info';
|
|
108
|
+
timestamp: string;
|
|
109
|
+
metadata?: Record<string, string>;
|
|
110
|
+
platform: 'ios' | 'android' | 'web';
|
|
111
|
+
sdkVersion: string;
|
|
112
|
+
appBundleId: string;
|
|
113
|
+
appVersion?: string;
|
|
114
|
+
osVersion?: string;
|
|
115
|
+
deviceModel?: string;
|
|
116
|
+
userId?: string;
|
|
117
|
+
}
|
|
118
|
+
export interface RevokeEntitlementsRequest {
|
|
119
|
+
userId: string;
|
|
120
|
+
}
|
|
95
121
|
export interface FetchOffersResponse {
|
|
96
122
|
success: boolean;
|
|
97
|
-
offers:
|
|
98
|
-
uiConfiguration?: {
|
|
99
|
-
titleText?: string;
|
|
100
|
-
subtitleText?: string;
|
|
101
|
-
offerDescriptionText?: string;
|
|
102
|
-
instructionsTitleText?: string;
|
|
103
|
-
lastStepHeaderText?: string;
|
|
104
|
-
lastStepDescriptionText?: string;
|
|
105
|
-
creditClaimedTitleText?: string;
|
|
106
|
-
creditClaimedSubtitleText?: string;
|
|
107
|
-
applyCreditsButtonText?: string;
|
|
108
|
-
};
|
|
123
|
+
offers: CampaignModel[];
|
|
109
124
|
metadata?: {
|
|
110
125
|
total: number;
|
|
111
126
|
limit: number;
|
|
112
127
|
offset: number;
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
128
|
+
hasMore: boolean;
|
|
129
|
+
executionTimeMs: number;
|
|
130
|
+
requestId: string;
|
|
116
131
|
};
|
|
117
132
|
}
|
|
118
133
|
export interface StartTransactionResponse {
|
|
119
|
-
|
|
120
|
-
transactionId
|
|
134
|
+
success: boolean;
|
|
135
|
+
transactionId?: string;
|
|
136
|
+
token?: string;
|
|
137
|
+
expiresAt?: string;
|
|
138
|
+
allowedDomain?: string;
|
|
139
|
+
error?: string;
|
|
121
140
|
}
|
|
122
141
|
export interface GrantSignalResponse {
|
|
123
142
|
success: boolean;
|
|
124
|
-
|
|
143
|
+
error?: string;
|
|
144
|
+
}
|
|
145
|
+
export interface EntitlementDetailsModel {
|
|
146
|
+
freeTrial?: {
|
|
147
|
+
startedAt: string;
|
|
148
|
+
expiresAt: string;
|
|
149
|
+
};
|
|
150
|
+
discounts?: {
|
|
151
|
+
value: number;
|
|
152
|
+
unit: string;
|
|
153
|
+
expiresAt: string;
|
|
154
|
+
}[];
|
|
155
|
+
credits?: {
|
|
156
|
+
totalAmount: number;
|
|
157
|
+
expiresAt: string;
|
|
158
|
+
};
|
|
125
159
|
}
|
|
126
160
|
export interface EntitlementsResponse {
|
|
127
161
|
success: boolean;
|
|
128
|
-
provisional:
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
verified: Record<string, {
|
|
133
|
-
started_at: string;
|
|
134
|
-
expires_at: string;
|
|
135
|
-
}>;
|
|
136
|
-
all: Record<string, {
|
|
137
|
-
started_at: string;
|
|
138
|
-
expires_at: string;
|
|
139
|
-
}>;
|
|
140
|
-
execution_time_ms: number;
|
|
162
|
+
provisional: EntitlementDetailsModel;
|
|
163
|
+
verified: EntitlementDetailsModel;
|
|
164
|
+
all: EntitlementDetailsModel;
|
|
165
|
+
executionTimeMs: number;
|
|
141
166
|
}
|
|
167
|
+
export type BackendVerificationStatus = 'pending_conversion' | 'provisional_granted' | 'verified' | 'final_granted' | 'expired' | 'failed';
|
|
142
168
|
export interface VerificationStatusResponse {
|
|
143
|
-
|
|
144
|
-
status:
|
|
145
|
-
|
|
169
|
+
success: boolean;
|
|
170
|
+
status: BackendVerificationStatus;
|
|
171
|
+
error?: string;
|
|
146
172
|
}
|
|
147
|
-
export interface
|
|
173
|
+
export interface InitUserResponse {
|
|
148
174
|
success: boolean;
|
|
149
|
-
|
|
175
|
+
userId: string;
|
|
176
|
+
isNew: boolean;
|
|
150
177
|
}
|
|
151
|
-
export interface
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
178
|
+
export interface IdentifyUserResponse {
|
|
179
|
+
success: boolean;
|
|
180
|
+
userId: string;
|
|
181
|
+
}
|
|
182
|
+
export interface RemoteConfigResponse {
|
|
183
|
+
success: boolean;
|
|
184
|
+
ui?: {
|
|
185
|
+
variantId?: string;
|
|
186
|
+
variantName?: string;
|
|
187
|
+
minSdkVersion?: string;
|
|
188
|
+
template?: Record<string, unknown>;
|
|
189
|
+
values?: {
|
|
190
|
+
text?: Record<string, string>;
|
|
191
|
+
appearance?: Record<string, unknown>;
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
entitlements?: {
|
|
195
|
+
iap?: {
|
|
196
|
+
productId: string;
|
|
197
|
+
};
|
|
198
|
+
native?: {
|
|
199
|
+
type: string;
|
|
200
|
+
value: number;
|
|
201
|
+
unit: string;
|
|
202
|
+
durationDays: number;
|
|
203
|
+
};
|
|
156
204
|
};
|
|
205
|
+
experiments?: {
|
|
206
|
+
ncl?: {
|
|
207
|
+
rolloutPct: number;
|
|
208
|
+
assignmentVersion: number;
|
|
209
|
+
enabled: boolean;
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
export interface ReportErrorResponse {
|
|
214
|
+
success: boolean;
|
|
215
|
+
acknowledged: boolean;
|
|
216
|
+
eventId?: string;
|
|
217
|
+
}
|
|
218
|
+
export interface APIErrorResponse {
|
|
219
|
+
error: string;
|
|
220
|
+
details?: unknown;
|
|
157
221
|
}
|
|
158
222
|
//# sourceMappingURL=models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/api/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/api/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Configuration.d.ts","sourceRoot":"","sources":["../../src/core/Configuration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Configuration.d.ts","sourceRoot":"","sources":["../../src/core/Configuration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAQ7C,qBAAa,aAAa;;IAIxB;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IA4FxC;;OAEG;IACH,SAAS,IAAI,YAAY,GAAG,IAAI;IAIhC;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAI3B;;OAEG;IACH,mBAAmB,IAAI,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,kBAAkB;IAIlB;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}
|
package/types/core/Encore.d.ts
CHANGED
|
@@ -30,6 +30,10 @@ export declare class EncoreSDK {
|
|
|
30
30
|
* Set log level
|
|
31
31
|
*/
|
|
32
32
|
setLogLevel(level: 'none' | 'debug'): void;
|
|
33
|
+
/**
|
|
34
|
+
* Revoke entitlements for the current user (dev tool)
|
|
35
|
+
*/
|
|
36
|
+
revokeEntitlements(): Promise<boolean>;
|
|
33
37
|
/**
|
|
34
38
|
* Set user attributes (merges with existing attributes)
|
|
35
39
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Encore.d.ts","sourceRoot":"","sources":["../../src/core/Encore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAElB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Encore.d.ts","sourceRoot":"","sources":["../../src/core/Encore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAElB,kBAAkB,EAElB,gBAAgB,IAAI,iBAAiB,EACtC,MAAM,UAAU,CAAC;AAwBlB,qBAAa,SAAS;;;IAuBpB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IA4GrC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI;IAoD3D;;OAEG;IACH,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,KAAK,IAAI,IAAI;IAqDb;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAI1C;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAgB5C;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;IAwBnD;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;OAGG;IACG,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0E9E;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO;IAQ3E;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAiBtE;;;OAGG;IACG,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqC/F;;;;OAIG;IACH,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,WAAW;IAS9E;;;;OAIG;IACH,kBAAkB,CAChB,YAAY,EAAE,eAAe,EAC7B,MAAM,CAAC,EAAE,gBAAgB,GACxB;QACD,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,KAAK,WAAW,CAAC;KACnE;IAaD;;OAEG;IACH,SAAS,IAAI,iBAAiB;CAiY/B;AAGD,eAAO,MAAM,MAAM,WAAkB,CAAC"}
|
|
@@ -1,28 +1,48 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Offer Manager
|
|
3
|
-
* Handles offer fetching, caching, and
|
|
3
|
+
* Handles offer fetching, caching, and analytics tracking
|
|
4
4
|
*/
|
|
5
5
|
import type { APIClient } from '../api/APIClient';
|
|
6
|
-
import type { OfferModel
|
|
6
|
+
import type { OfferModel } from '../api/models';
|
|
7
7
|
import type { UserAttributes } from '../types';
|
|
8
|
+
import type { AnalyticsClient } from '../analytics/AnalyticsClient';
|
|
8
9
|
export declare class OfferManager {
|
|
9
10
|
#private;
|
|
10
|
-
constructor(apiClient: APIClient, userId: string);
|
|
11
|
+
constructor(apiClient: APIClient, userId: string, analyticsClient?: AnalyticsClient);
|
|
11
12
|
/**
|
|
12
13
|
* Fetch offers from API with optional caching
|
|
13
14
|
*/
|
|
14
15
|
fetchOffers(userAttributes: UserAttributes, useCache?: boolean): Promise<{
|
|
15
16
|
offers: OfferModel[];
|
|
16
|
-
uiConfiguration?: FetchOffersResponse['uiConfiguration'];
|
|
17
17
|
}>;
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Begin a new presentation session
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
beginPresentation(): string;
|
|
22
|
+
/**
|
|
23
|
+
* Track that an offer was presented (replaces impression logging)
|
|
24
|
+
*/
|
|
25
|
+
trackOfferPresented(offer: OfferModel, impressionId: string, offerIndex: number, totalOffers: number): void;
|
|
26
|
+
/**
|
|
27
|
+
* Track that a user navigated away from an offer (pause time tracking)
|
|
28
|
+
*/
|
|
29
|
+
trackOfferViewEnd(offerId: string): void;
|
|
30
|
+
/**
|
|
31
|
+
* Track offer claimed
|
|
32
|
+
*/
|
|
33
|
+
trackOfferClaimed(offer: OfferModel, impressionId: string, transactionId: string, offerIndex: number, totalOffers: number): void;
|
|
34
|
+
/**
|
|
35
|
+
* Track offer declined
|
|
36
|
+
*/
|
|
37
|
+
trackOfferDeclined(offer: OfferModel, impressionId: string, offerIndex: number, totalOffers: number, declineReason?: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* End the presentation session and send time tracking + dismissed events
|
|
40
|
+
*/
|
|
41
|
+
endPresentation(declineReason?: string): void;
|
|
22
42
|
/**
|
|
23
43
|
* Start a transaction for an offer
|
|
24
44
|
*/
|
|
25
|
-
startTransaction(campaignId: string
|
|
45
|
+
startTransaction(campaignId: string): Promise<string>;
|
|
26
46
|
/**
|
|
27
47
|
* Clear the offer cache
|
|
28
48
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OfferManager.d.ts","sourceRoot":"","sources":["../../src/core/OfferManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"OfferManager.d.ts","sourceRoot":"","sources":["../../src/core/OfferManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAKpE,qBAAa,YAAY;;gBAWX,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,eAAe;IAMnF;;OAEG;IACG,WAAW,CACf,cAAc,EAAE,cAAc,EAC9B,QAAQ,UAAO,GACd,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAmCpC;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAQ3B;;OAEG;IACH,mBAAmB,CACjB,KAAK,EAAE,UAAU,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,IAAI;IA+BP;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQxC;;OAEG;IACH,iBAAiB,CACf,KAAK,EAAE,UAAU,EACjB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,IAAI;IAiBP;;OAEG;IACH,kBAAkB,CAChB,KAAK,EAAE,UAAU,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI;IAiBP;;OAEG;IACH,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IA6C7C;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsB3D;;OAEG;IACH,UAAU,IAAI,IAAI;IAMlB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAKhC"}
|
package/types/types.d.ts
CHANGED
|
@@ -141,7 +141,7 @@ export interface EncoreConfig {
|
|
|
141
141
|
apiKey: string;
|
|
142
142
|
userId: string;
|
|
143
143
|
baseURL?: string;
|
|
144
|
-
environment?: 'production' | 'development';
|
|
144
|
+
environment?: 'production' | 'development' | 'staging' | 'localhost';
|
|
145
145
|
logLevel?: 'none' | 'debug';
|
|
146
146
|
uiConfiguration?: UIConfiguration;
|
|
147
147
|
}
|