react-native-marketap-sdk 0.1.0-beta.12 → 0.1.0-beta.13
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/android/build.gradle +1 -1
- package/android/src/main/AndroidManifest.xml +1 -10
- package/android/src/main/java/com/marketapsdk/MarketapSdkModule.kt +152 -74
- package/ios/MarketapSdk.m +16 -38
- package/ios/MarketapSdk.swift +64 -37
- package/lib/commonjs/MarketapWebBridge.js +17 -15
- package/lib/commonjs/MarketapWebBridge.js.map +1 -1
- package/lib/commonjs/core/MarketapCore.js +233 -0
- package/lib/commonjs/core/MarketapCore.js.map +1 -0
- package/lib/commonjs/index.js +19 -187
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/internal/marketapCore.js +9 -0
- package/lib/commonjs/internal/marketapCore.js.map +1 -0
- package/lib/commonjs/internal/marketapPlugin.js +40 -0
- package/lib/commonjs/internal/marketapPlugin.js.map +1 -0
- package/lib/commonjs/version.js +1 -1
- package/lib/module/MarketapWebBridge.js +16 -15
- package/lib/module/MarketapWebBridge.js.map +1 -1
- package/lib/module/core/MarketapCore.js +226 -0
- package/lib/module/core/MarketapCore.js.map +1 -0
- package/lib/module/index.js +19 -187
- package/lib/module/index.js.map +1 -1
- package/lib/module/internal/marketapCore.js +3 -0
- package/lib/module/internal/marketapCore.js.map +1 -0
- package/lib/module/internal/marketapPlugin.js +35 -0
- package/lib/module/internal/marketapPlugin.js.map +1 -0
- package/lib/module/version.js +1 -1
- package/lib/typescript/MarketapWebBridge.d.ts.map +1 -1
- package/lib/typescript/core/MarketapCore.d.ts +54 -0
- package/lib/typescript/core/MarketapCore.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +2 -47
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/internal/marketapCore.d.ts +3 -0
- package/lib/typescript/internal/marketapCore.d.ts.map +1 -0
- package/lib/typescript/internal/marketapPlugin.d.ts +10 -0
- package/lib/typescript/internal/marketapPlugin.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +1 -7
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +1 -1
- package/react-native-marketap-sdk.podspec +1 -1
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
2
|
+
const LINKING_ERROR = `The package 'react-native-marketap-sdk' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
3
|
+
ios: "- You have run 'cd ios && pod install'\n",
|
|
4
|
+
default: ''
|
|
5
|
+
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
6
|
+
const MarketapSdkModule = NativeModules.MarketapSdk;
|
|
7
|
+
if (!MarketapSdkModule) {
|
|
8
|
+
console.error(`react-native-marketap-sdk: Native module not found (MarketapSdk). ` + `Did you run pod install (iOS) / rebuild? Platform=${Platform.OS}`);
|
|
9
|
+
}
|
|
10
|
+
const MarketapSdk = MarketapSdkModule ? MarketapSdkModule : new Proxy({}, {
|
|
11
|
+
get() {
|
|
12
|
+
console.error(LINKING_ERROR);
|
|
13
|
+
return () => Promise.resolve();
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
const eventEmitter = new NativeEventEmitter(MarketapSdk);
|
|
17
|
+
export class MarketapCore {
|
|
18
|
+
isInitialized = false;
|
|
19
|
+
hasSetupListeners = false;
|
|
20
|
+
pendingCalls = [];
|
|
21
|
+
pendingClickEvents = [];
|
|
22
|
+
initializationPromise = null;
|
|
23
|
+
initializedProjectId = null;
|
|
24
|
+
constructor() {
|
|
25
|
+
this.setupEventListeners();
|
|
26
|
+
}
|
|
27
|
+
setInAppMessageListener(listener) {
|
|
28
|
+
this.inAppMessageListener = listener;
|
|
29
|
+
}
|
|
30
|
+
setupEventListeners() {
|
|
31
|
+
if (this.hasSetupListeners) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
this.hasSetupListeners = true;
|
|
35
|
+
this.clickEventListenerSubscription = eventEmitter.addListener('MarketapClickEvent', event => {
|
|
36
|
+
if (this.clickHandler) {
|
|
37
|
+
this.clickHandler(event);
|
|
38
|
+
} else {
|
|
39
|
+
this.pendingClickEvents.push(event);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
this.inAppMessageEventListenerSubscription = eventEmitter.addListener('MarketapInAppMessageEvent', event => {
|
|
43
|
+
this.inAppMessageListener?.(event);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
cleanup() {
|
|
47
|
+
if (this.clickEventListenerSubscription) {
|
|
48
|
+
this.clickEventListenerSubscription.remove();
|
|
49
|
+
this.clickEventListenerSubscription = null;
|
|
50
|
+
}
|
|
51
|
+
if (this.inAppMessageEventListenerSubscription) {
|
|
52
|
+
this.inAppMessageEventListenerSubscription.remove();
|
|
53
|
+
this.inAppMessageEventListenerSubscription = null;
|
|
54
|
+
}
|
|
55
|
+
this.hasSetupListeners = false;
|
|
56
|
+
this.pendingCalls = [];
|
|
57
|
+
this.pendingClickEvents = [];
|
|
58
|
+
}
|
|
59
|
+
async initialize(projectId) {
|
|
60
|
+
if (this.initializationPromise) {
|
|
61
|
+
if (this.initializedProjectId === projectId) {
|
|
62
|
+
return this.initializationPromise;
|
|
63
|
+
}
|
|
64
|
+
console.warn(`MarketapSDK already initialized with projectId '${this.initializedProjectId}'. ` + `Ignoring re-initialization with '${projectId}'.`);
|
|
65
|
+
return this.initializationPromise;
|
|
66
|
+
}
|
|
67
|
+
this.initializedProjectId = projectId;
|
|
68
|
+
this.initializationPromise = this.performInitialization(projectId);
|
|
69
|
+
return this.initializationPromise;
|
|
70
|
+
}
|
|
71
|
+
async performInitialization(projectId) {
|
|
72
|
+
try {
|
|
73
|
+
await MarketapSdk.initialize({
|
|
74
|
+
projectId: projectId
|
|
75
|
+
});
|
|
76
|
+
this.isInitialized = true;
|
|
77
|
+
const callsToExecute = [...this.pendingCalls];
|
|
78
|
+
this.pendingCalls = [];
|
|
79
|
+
for (const call of callsToExecute) {
|
|
80
|
+
try {
|
|
81
|
+
await call();
|
|
82
|
+
} catch (error) {
|
|
83
|
+
console.error('Failed to execute pending SDK call:', error);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
} catch (error) {
|
|
87
|
+
this.initializationPromise = null;
|
|
88
|
+
this.initializedProjectId = null;
|
|
89
|
+
this.isInitialized = false;
|
|
90
|
+
console.error('MarketapSDK:', error);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
async executeAfterInit(fn) {
|
|
94
|
+
if (this.isInitialized) {
|
|
95
|
+
return fn().catch(error => {
|
|
96
|
+
console.error('MarketapSDK:', error);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return new Promise(resolve => {
|
|
100
|
+
this.pendingCalls.push(async () => {
|
|
101
|
+
try {
|
|
102
|
+
const result = await fn();
|
|
103
|
+
resolve(result);
|
|
104
|
+
} catch (error) {
|
|
105
|
+
console.error('MarketapSDK:', error);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
setLogLevel(logLevel) {
|
|
111
|
+
MarketapSdk.setLogLevel({
|
|
112
|
+
logLevel: logLevel
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
signup(params) {
|
|
116
|
+
return this.executeAfterInit(() => MarketapSdk.signup({
|
|
117
|
+
userId: params.userId,
|
|
118
|
+
userProperties: params.userProperties,
|
|
119
|
+
eventProperties: params.eventProperties,
|
|
120
|
+
persistUser: params.persistUser
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
login(params) {
|
|
124
|
+
return this.executeAfterInit(() => MarketapSdk.login({
|
|
125
|
+
userId: params.userId,
|
|
126
|
+
userProperties: params.userProperties,
|
|
127
|
+
eventProperties: params.eventProperties
|
|
128
|
+
}));
|
|
129
|
+
}
|
|
130
|
+
logout(eventProperties) {
|
|
131
|
+
return this.executeAfterInit(() => MarketapSdk.logout({
|
|
132
|
+
eventProperties: eventProperties
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
track(eventName, eventProperties) {
|
|
136
|
+
return this.executeAfterInit(() => MarketapSdk.track({
|
|
137
|
+
eventName: eventName,
|
|
138
|
+
eventProperties: eventProperties
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
141
|
+
trackPurchase(revenue, eventProperties) {
|
|
142
|
+
return this.executeAfterInit(() => MarketapSdk.trackPurchase({
|
|
143
|
+
revenue: revenue,
|
|
144
|
+
eventProperties: eventProperties
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
trackRevenue(eventName, revenue, eventProperties) {
|
|
148
|
+
return this.executeAfterInit(() => MarketapSdk.trackRevenue({
|
|
149
|
+
eventName: eventName,
|
|
150
|
+
revenue: revenue,
|
|
151
|
+
eventProperties: eventProperties
|
|
152
|
+
}));
|
|
153
|
+
}
|
|
154
|
+
trackPageView(eventProperties) {
|
|
155
|
+
return this.executeAfterInit(() => MarketapSdk.trackPageView({
|
|
156
|
+
eventProperties: eventProperties
|
|
157
|
+
}));
|
|
158
|
+
}
|
|
159
|
+
identify(userId, userProperties) {
|
|
160
|
+
return this.executeAfterInit(() => MarketapSdk.identify({
|
|
161
|
+
userId: userId,
|
|
162
|
+
userProperties: userProperties
|
|
163
|
+
}));
|
|
164
|
+
}
|
|
165
|
+
resetIdentity() {
|
|
166
|
+
return this.executeAfterInit(() => MarketapSdk.resetIdentity());
|
|
167
|
+
}
|
|
168
|
+
async setClickHandler(handler) {
|
|
169
|
+
this.clickHandler = handler;
|
|
170
|
+
if (this.pendingClickEvents.length > 0) {
|
|
171
|
+
const pendingEvents = [...this.pendingClickEvents];
|
|
172
|
+
this.pendingClickEvents = [];
|
|
173
|
+
pendingEvents.forEach(event => {
|
|
174
|
+
try {
|
|
175
|
+
handler(event);
|
|
176
|
+
} catch (error) {
|
|
177
|
+
console.error('Failed to handle pending click event:', error);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
return MarketapSdk.setClickHandler();
|
|
182
|
+
}
|
|
183
|
+
requestAuthorizationForPushNotifications() {
|
|
184
|
+
return MarketapSdk.requestAuthorizationForPushNotifications();
|
|
185
|
+
}
|
|
186
|
+
setDeviceOptIn(optIn) {
|
|
187
|
+
return this.executeAfterInit(() => MarketapSdk.setDeviceOptIn({
|
|
188
|
+
optIn
|
|
189
|
+
}));
|
|
190
|
+
}
|
|
191
|
+
trackFromWebBridge(eventName, handleInAppInReactNative, eventProperties) {
|
|
192
|
+
return this.executeAfterInit(() => MarketapSdk.trackFromWebBridge({
|
|
193
|
+
eventName: eventName,
|
|
194
|
+
eventProperties: eventProperties,
|
|
195
|
+
handleInAppInReactNative: handleInAppInReactNative
|
|
196
|
+
}));
|
|
197
|
+
}
|
|
198
|
+
setUserProperties(userProperties) {
|
|
199
|
+
return this.executeAfterInit(() => MarketapSdk.setUserProperties({
|
|
200
|
+
userProperties: userProperties
|
|
201
|
+
}));
|
|
202
|
+
}
|
|
203
|
+
trackInAppImpression(campaignId, messageId, layoutSubType) {
|
|
204
|
+
return this.executeAfterInit(() => MarketapSdk.trackInAppImpression({
|
|
205
|
+
campaignId: campaignId,
|
|
206
|
+
messageId: messageId,
|
|
207
|
+
layoutSubType: layoutSubType
|
|
208
|
+
}));
|
|
209
|
+
}
|
|
210
|
+
trackInAppClick(campaignId, messageId, locationId, url, layoutSubType) {
|
|
211
|
+
return this.executeAfterInit(() => MarketapSdk.trackInAppClick({
|
|
212
|
+
campaignId: campaignId,
|
|
213
|
+
messageId: messageId,
|
|
214
|
+
locationId: locationId,
|
|
215
|
+
url: url,
|
|
216
|
+
layoutSubType: layoutSubType
|
|
217
|
+
}));
|
|
218
|
+
}
|
|
219
|
+
hideCampaign(campaignId, hideType) {
|
|
220
|
+
return this.executeAfterInit(() => MarketapSdk.hideCampaign({
|
|
221
|
+
campaignId: campaignId,
|
|
222
|
+
hideType: hideType
|
|
223
|
+
}));
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=MarketapCore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","LINKING_ERROR","select","ios","default","MarketapSdkModule","MarketapSdk","console","error","OS","Proxy","get","Promise","resolve","eventEmitter","MarketapCore","isInitialized","hasSetupListeners","pendingCalls","pendingClickEvents","initializationPromise","initializedProjectId","constructor","setupEventListeners","setInAppMessageListener","listener","inAppMessageListener","clickEventListenerSubscription","addListener","event","clickHandler","push","inAppMessageEventListenerSubscription","cleanup","remove","initialize","projectId","warn","performInitialization","callsToExecute","call","executeAfterInit","fn","catch","result","setLogLevel","logLevel","signup","params","userId","userProperties","eventProperties","persistUser","login","logout","track","eventName","trackPurchase","revenue","trackRevenue","trackPageView","identify","resetIdentity","setClickHandler","handler","length","pendingEvents","forEach","requestAuthorizationForPushNotifications","setDeviceOptIn","optIn","trackFromWebBridge","handleInAppInReactNative","setUserProperties","trackInAppImpression","campaignId","messageId","layoutSubType","trackInAppClick","locationId","url","hideCampaign","hideType"],"sourceRoot":"../../../src","sources":["core/MarketapCore.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,192 +1,24 @@
|
|
|
1
|
-
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
2
1
|
import MarketapWebBridge from './MarketapWebBridge';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
|
|
7
|
-
const MarketapSdkModule = NativeModules.MarketapSdk;
|
|
8
|
-
if (!MarketapSdkModule) {
|
|
9
|
-
console.error(`react-native-marketap-sdk: Native module not found (MarketapSdk). ` + `Did you run pod install (iOS) / rebuild? Platform=${Platform.OS}`);
|
|
10
|
-
}
|
|
11
|
-
const MarketapSdk = MarketapSdkModule ? MarketapSdkModule : new Proxy({}, {
|
|
12
|
-
get() {
|
|
13
|
-
console.error(LINKING_ERROR);
|
|
14
|
-
return () => Promise.resolve();
|
|
15
|
-
}
|
|
2
|
+
import { marketapCore } from './internal/marketapCore';
|
|
3
|
+
marketapCore.setInAppMessageListener(event => {
|
|
4
|
+
MarketapWebBridge.sendToActiveWebBridge(event.campaign, event.messageId, event.hasCustomClickHandler);
|
|
16
5
|
});
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
this.clickEventListenerSubscription = eventEmitter.addListener('MarketapClickEvent', event => {
|
|
34
|
-
if (this.clickHandler) {
|
|
35
|
-
this.clickHandler(event);
|
|
36
|
-
} else {
|
|
37
|
-
this.pendingClickEvents.push(event);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
this.inAppMessageEventListenerSubscription = eventEmitter.addListener('MarketapInAppMessageEvent', event => {
|
|
41
|
-
MarketapWebBridge.sendToActiveWebBridge(event.campaign, event.messageId, event.hasCustomClickHandler);
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
cleanup() {
|
|
45
|
-
if (this.clickEventListenerSubscription) {
|
|
46
|
-
this.clickEventListenerSubscription.remove();
|
|
47
|
-
this.clickEventListenerSubscription = null;
|
|
48
|
-
}
|
|
49
|
-
if (this.inAppMessageEventListenerSubscription) {
|
|
50
|
-
this.inAppMessageEventListenerSubscription.remove();
|
|
51
|
-
this.inAppMessageEventListenerSubscription = null;
|
|
52
|
-
}
|
|
53
|
-
this.hasSetupListeners = false;
|
|
54
|
-
this.pendingCalls = [];
|
|
55
|
-
this.pendingClickEvents = [];
|
|
56
|
-
}
|
|
57
|
-
async initialize(projectId) {
|
|
58
|
-
if (this.initializationPromise) {
|
|
59
|
-
if (this.initializedProjectId === projectId) {
|
|
60
|
-
return this.initializationPromise;
|
|
61
|
-
} else {
|
|
62
|
-
console.warn(`MarketapSDK already initialized with projectId '${this.initializedProjectId}'. ` + `Ignoring re-initialization with '${projectId}'.`);
|
|
63
|
-
return this.initializationPromise;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
this.initializedProjectId = projectId;
|
|
67
|
-
this.initializationPromise = this.performInitialization(projectId);
|
|
68
|
-
return this.initializationPromise;
|
|
69
|
-
}
|
|
70
|
-
async performInitialization(projectId) {
|
|
71
|
-
try {
|
|
72
|
-
await MarketapSdk.initialize(projectId);
|
|
73
|
-
this.isInitialized = true;
|
|
74
|
-
const callsToExecute = [...this.pendingCalls];
|
|
75
|
-
this.pendingCalls = [];
|
|
76
|
-
for (const call of callsToExecute) {
|
|
77
|
-
try {
|
|
78
|
-
await call();
|
|
79
|
-
} catch (error) {
|
|
80
|
-
console.error('Failed to execute pending SDK call:', error);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
} catch (error) {
|
|
84
|
-
this.initializationPromise = null;
|
|
85
|
-
this.initializedProjectId = null;
|
|
86
|
-
this.isInitialized = false;
|
|
87
|
-
console.error('MarketapSDK:', error);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
async executeAfterInit(fn) {
|
|
91
|
-
if (this.isInitialized) {
|
|
92
|
-
return fn().catch(error => {
|
|
93
|
-
console.error('MarketapSDK:', error);
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
return new Promise(resolve => {
|
|
97
|
-
this.pendingCalls.push(async () => {
|
|
98
|
-
try {
|
|
99
|
-
const result = await fn();
|
|
100
|
-
resolve(result);
|
|
101
|
-
} catch (error) {
|
|
102
|
-
console.error('MarketapSDK:', error);
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
setLogLevel(logLevel) {
|
|
108
|
-
MarketapSdk.setLogLevel(logLevel);
|
|
109
|
-
}
|
|
110
|
-
async signup(params) {
|
|
111
|
-
return this.executeAfterInit(() => MarketapSdk.signup(params.userId, params.userProperties, params.eventProperties, params.persistUser));
|
|
112
|
-
}
|
|
113
|
-
async login(params) {
|
|
114
|
-
return this.executeAfterInit(() => MarketapSdk.login(params.userId, params.userProperties, params.eventProperties));
|
|
115
|
-
}
|
|
116
|
-
async logout(eventProperties) {
|
|
117
|
-
return this.executeAfterInit(() => MarketapSdk.logout(eventProperties));
|
|
118
|
-
}
|
|
119
|
-
async track(eventName, eventProperties) {
|
|
120
|
-
return this.executeAfterInit(() => MarketapSdk.track(eventName, eventProperties));
|
|
121
|
-
}
|
|
122
|
-
async trackPurchase(revenue, eventProperties) {
|
|
123
|
-
return this.executeAfterInit(() => MarketapSdk.trackPurchase(revenue, eventProperties));
|
|
124
|
-
}
|
|
125
|
-
async trackRevenue(eventName, revenue, eventProperties) {
|
|
126
|
-
return this.executeAfterInit(() => MarketapSdk.trackRevenue(eventName, revenue, eventProperties));
|
|
127
|
-
}
|
|
128
|
-
async trackPageView(eventProperties) {
|
|
129
|
-
return this.executeAfterInit(() => MarketapSdk.trackPageView(eventProperties));
|
|
130
|
-
}
|
|
131
|
-
async identify(userId, userProperties) {
|
|
132
|
-
return this.executeAfterInit(() => MarketapSdk.identify(userId, userProperties));
|
|
133
|
-
}
|
|
134
|
-
async resetIdentity() {
|
|
135
|
-
return this.executeAfterInit(() => MarketapSdk.resetIdentity());
|
|
136
|
-
}
|
|
137
|
-
async setClickHandler(handler) {
|
|
138
|
-
this.clickHandler = handler;
|
|
139
|
-
if (this.pendingClickEvents.length > 0) {
|
|
140
|
-
const pendingEvents = [...this.pendingClickEvents];
|
|
141
|
-
this.pendingClickEvents = [];
|
|
142
|
-
pendingEvents.forEach(event => {
|
|
143
|
-
try {
|
|
144
|
-
handler(event);
|
|
145
|
-
} catch (error) {
|
|
146
|
-
console.error('Failed to handle pending click event:', error);
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
return MarketapSdk.setClickHandler();
|
|
151
|
-
}
|
|
152
|
-
async requestAuthorizationForPushNotifications() {
|
|
153
|
-
return MarketapSdk.requestAuthorizationForPushNotifications();
|
|
154
|
-
}
|
|
155
|
-
async setPushToken(token) {
|
|
156
|
-
// Fix Blocker: checkInitialized() 전면 제거 - 안전한 executeAfterInit 사용
|
|
157
|
-
return this.executeAfterInit(async () => {
|
|
158
|
-
if (Platform.OS === 'android') {
|
|
159
|
-
console.warn('setPushToken is not needed on Android - MarketapFirebaseMessagingService handles push notifications automatically');
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
return MarketapSdk.setPushToken(token);
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
async getInitialNotification() {
|
|
166
|
-
try {
|
|
167
|
-
return await MarketapSdk.getInitialNotification();
|
|
168
|
-
} catch (error) {
|
|
169
|
-
console.error('Failed to get initial notification:', error);
|
|
170
|
-
return null;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
async trackFromWebBridge(eventName, handleInAppInReactNative, eventProperties) {
|
|
174
|
-
return this.executeAfterInit(() => MarketapSdk.trackFromWebBridge(eventName, eventProperties, handleInAppInReactNative));
|
|
175
|
-
}
|
|
176
|
-
async setUserProperties(userProperties) {
|
|
177
|
-
return this.executeAfterInit(() => MarketapSdk.setUserProperties(userProperties));
|
|
178
|
-
}
|
|
179
|
-
async trackInAppImpression(campaignId, messageId, layoutSubType) {
|
|
180
|
-
return this.executeAfterInit(() => MarketapSdk.trackInAppImpression(campaignId, messageId, layoutSubType));
|
|
181
|
-
}
|
|
182
|
-
async trackInAppClick(campaignId, messageId, locationId, url, layoutSubType) {
|
|
183
|
-
return this.executeAfterInit(() => MarketapSdk.trackInAppClick(campaignId, messageId, locationId, url, layoutSubType));
|
|
184
|
-
}
|
|
185
|
-
async hideCampaign(campaignId, hideType) {
|
|
186
|
-
return this.executeAfterInit(() => MarketapSdk.hideCampaign(campaignId, hideType));
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
const Marketap = new MarketapSDK();
|
|
6
|
+
const Marketap = {
|
|
7
|
+
initialize: projectId => marketapCore.initialize(projectId),
|
|
8
|
+
setLogLevel: logLevel => marketapCore.setLogLevel(logLevel),
|
|
9
|
+
signup: params => marketapCore.signup(params),
|
|
10
|
+
login: params => marketapCore.login(params),
|
|
11
|
+
logout: eventProperties => marketapCore.logout(eventProperties),
|
|
12
|
+
track: (eventName, eventProperties) => marketapCore.track(eventName, eventProperties),
|
|
13
|
+
trackPurchase: (revenue, eventProperties) => marketapCore.trackPurchase(revenue, eventProperties),
|
|
14
|
+
trackRevenue: (eventName, revenue, eventProperties) => marketapCore.trackRevenue(eventName, revenue, eventProperties),
|
|
15
|
+
trackPageView: eventProperties => marketapCore.trackPageView(eventProperties),
|
|
16
|
+
identify: (userId, userProperties) => marketapCore.identify(userId, userProperties),
|
|
17
|
+
resetIdentity: () => marketapCore.resetIdentity(),
|
|
18
|
+
setClickHandler: handler => marketapCore.setClickHandler(handler),
|
|
19
|
+
requestAuthorizationForPushNotifications: () => marketapCore.requestAuthorizationForPushNotifications(),
|
|
20
|
+
setDeviceOptIn: optIn => marketapCore.setDeviceOptIn(optIn)
|
|
21
|
+
};
|
|
190
22
|
export default Marketap;
|
|
191
23
|
export * from './types';
|
|
192
24
|
export { default as MarketapWebBridge } from './MarketapWebBridge';
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["MarketapWebBridge","marketapCore","setInAppMessageListener","event","sendToActiveWebBridge","campaign","messageId","hasCustomClickHandler","Marketap","initialize","projectId","setLogLevel","logLevel","signup","params","login","logout","eventProperties","track","eventName","trackPurchase","revenue","trackRevenue","trackPageView","identify","userId","userProperties","resetIdentity","setClickHandler","handler","requestAuthorizationForPushNotifications","setDeviceOptIn","optIn","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AACA,OAAOA,iBAAiB,MAAM,qBAAqB;AACnD,SAASC,YAAY,QAAQ,yBAAyB;AAEtDA,YAAY,CAACC,uBAAuB,CAAEC,KAAK,IAAK;EAC9CH,iBAAiB,CAACI,qBAAqB,CACrCD,KAAK,CAACE,QAAQ,EACdF,KAAK,CAACG,SAAS,EACfH,KAAK,CAACI,qBACR,CAAC;AACH,CAAC,CAAC;AAEF,MAAMC,QAA8B,GAAG;EACrCC,UAAU,EAAGC,SAAS,IAAKT,YAAY,CAACQ,UAAU,CAACC,SAAS,CAAC;EAC7DC,WAAW,EAAGC,QAAQ,IAAKX,YAAY,CAACU,WAAW,CAACC,QAAQ,CAAC;EAC7DC,MAAM,EAAGC,MAAM,IAAKb,YAAY,CAACY,MAAM,CAACC,MAAM,CAAC;EAC/CC,KAAK,EAAGD,MAAM,IAAKb,YAAY,CAACc,KAAK,CAACD,MAAM,CAAC;EAC7CE,MAAM,EAAGC,eAAe,IAAKhB,YAAY,CAACe,MAAM,CAACC,eAAe,CAAC;EACjEC,KAAK,EAAEA,CAACC,SAAS,EAAEF,eAAe,KAChChB,YAAY,CAACiB,KAAK,CAACC,SAAS,EAAEF,eAAe,CAAC;EAChDG,aAAa,EAAEA,CAACC,OAAO,EAAEJ,eAAe,KACtChB,YAAY,CAACmB,aAAa,CAACC,OAAO,EAAEJ,eAAe,CAAC;EACtDK,YAAY,EAAEA,CAACH,SAAS,EAAEE,OAAO,EAAEJ,eAAe,KAChDhB,YAAY,CAACqB,YAAY,CAACH,SAAS,EAAEE,OAAO,EAAEJ,eAAe,CAAC;EAChEM,aAAa,EAAGN,eAAe,IAAKhB,YAAY,CAACsB,aAAa,CAACN,eAAe,CAAC;EAC/EO,QAAQ,EAAEA,CAACC,MAAM,EAAEC,cAAc,KAAKzB,YAAY,CAACuB,QAAQ,CAACC,MAAM,EAAEC,cAAc,CAAC;EACnFC,aAAa,EAAEA,CAAA,KAAM1B,YAAY,CAAC0B,aAAa,CAAC,CAAC;EACjDC,eAAe,EAAGC,OAAO,IAAK5B,YAAY,CAAC2B,eAAe,CAACC,OAAO,CAAC;EACnEC,wCAAwC,EAAEA,CAAA,KACxC7B,YAAY,CAAC6B,wCAAwC,CAAC,CAAC;EACzDC,cAAc,EAAGC,KAAK,IAAK/B,YAAY,CAAC8B,cAAc,CAACC,KAAK;AAC9D,CAAC;AAED,eAAexB,QAAQ;AACvB,cAAc,SAAS;AACvB,SAASyB,OAAO,IAAIjC,iBAAiB,QAAQ,qBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MarketapCore","marketapCore"],"sourceRoot":"../../../src","sources":["internal/marketapCore.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,sBAAsB;AAEnD,OAAO,MAAMC,YAAY,GAAG,IAAID,YAAY,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { marketapCore } from './marketapCore';
|
|
2
|
+
|
|
3
|
+
/// MarketapPlugin - 웹브릿지 및 내부 전용 API
|
|
4
|
+
class MarketapPlugin {
|
|
5
|
+
/// 웹브릿지에서 넘어온 이벤트임을 표시하여 트래킹
|
|
6
|
+
/// 네이티브 SDK가 이벤트가 웹브릿지에서 온 것임을 인지하고,
|
|
7
|
+
/// 인앱 메시지를 RN으로 다시 전달할 수 있도록 함
|
|
8
|
+
/// [handleInAppInReactNative] - true면 인앱 메시지를 RN으로 전달
|
|
9
|
+
trackFromWebBridge(eventName, handleInAppInReactNative, eventProperties) {
|
|
10
|
+
return marketapCore.trackFromWebBridge(eventName, handleInAppInReactNative, eventProperties);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/// 유저 속성 설정 (userId 없이)
|
|
14
|
+
setUserProperties(userProperties) {
|
|
15
|
+
return marketapCore.setUserProperties(userProperties);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/// 인앱 메시지 노출 이벤트 트래킹
|
|
19
|
+
trackInAppImpression(campaignId, messageId, layoutSubType) {
|
|
20
|
+
return marketapCore.trackInAppImpression(campaignId, messageId, layoutSubType);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/// 인앱 메시지 클릭 이벤트 트래킹
|
|
24
|
+
trackInAppClick(campaignId, messageId, locationId, url, layoutSubType) {
|
|
25
|
+
return marketapCore.trackInAppClick(campaignId, messageId, locationId, url, layoutSubType);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/// 캠페인 숨김 처리
|
|
29
|
+
hideCampaign(campaignId, hideType) {
|
|
30
|
+
return marketapCore.hideCampaign(campaignId, hideType);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const marketapPlugin = new MarketapPlugin();
|
|
34
|
+
export default marketapPlugin;
|
|
35
|
+
//# sourceMappingURL=marketapPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["marketapCore","MarketapPlugin","trackFromWebBridge","eventName","handleInAppInReactNative","eventProperties","setUserProperties","userProperties","trackInAppImpression","campaignId","messageId","layoutSubType","trackInAppClick","locationId","url","hideCampaign","hideType","marketapPlugin"],"sourceRoot":"../../../src","sources":["internal/marketapPlugin.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,gBAAgB;;AAE7C;AACA,MAAMC,cAAc,CAAC;EACnB;EACA;EACA;EACA;EACAC,kBAAkBA,CAChBC,SAAiB,EACjBC,wBAAiC,EACjCC,eAAqC,EACtB;IACf,OAAOL,YAAY,CAACE,kBAAkB,CACpCC,SAAS,EACTC,wBAAwB,EACxBC,eACF,CAAC;EACH;;EAEA;EACAC,iBAAiBA,CAACC,cAAmC,EAAiB;IACpE,OAAOP,YAAY,CAACM,iBAAiB,CAACC,cAAc,CAAC;EACvD;;EAEA;EACAC,oBAAoBA,CAClBC,UAAkB,EAClBC,SAAiB,EACjBC,aAAsB,EACP;IACf,OAAOX,YAAY,CAACQ,oBAAoB,CACtCC,UAAU,EACVC,SAAS,EACTC,aACF,CAAC;EACH;;EAEA;EACAC,eAAeA,CACbH,UAAkB,EAClBC,SAAiB,EACjBG,UAAkB,EAClBC,GAAY,EACZH,aAAsB,EACP;IACf,OAAOX,YAAY,CAACY,eAAe,CACjCH,UAAU,EACVC,SAAS,EACTG,UAAU,EACVC,GAAG,EACHH,aACF,CAAC;EACH;;EAEA;EACAI,YAAYA,CAACN,UAAkB,EAAEO,QAAiB,EAAiB;IACjE,OAAOhB,YAAY,CAACe,YAAY,CAACN,UAAU,EAAEO,QAAQ,CAAC;EACxD;AACF;AAEA,MAAMC,cAAc,GAAG,IAAIhB,cAAc,CAAC,CAAC;AAE3C,eAAegB,cAAc","ignoreList":[]}
|
package/lib/module/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarketapWebBridge.d.ts","sourceRoot":"","sources":["../../src/MarketapWebBridge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MarketapWebBridge.d.ts","sourceRoot":"","sources":["../../src/MarketapWebBridge.ts"],"names":[],"mappings":"AAqBA,KAAK,0BAA0B,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAiF3D;;;;;;;;;;;;;;GAcG;AACH,cAAM,iBAAiB;IACrB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAkC;IAC/D,OAAO,CAAC,0BAA0B,CAA6B;IAC/D,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,oBAAoB,CAAQ;gBAGlC,wBAAwB,EAAE,0BAA0B,EACpD,oBAAoB,GAAE,OAAc;IAMtC,OAAO,IAAI,IAAI;IAQf,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAoEpC,gBAAgB,CACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,SAAS,EAAE,MAAM,EACjB,qBAAqB,EAAE,OAAO,GAC7B,IAAI;IAeP,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,4BAA4B;IAepC,MAAM,CAAC,qBAAqB,CAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,SAAS,EAAE,MAAM,EACjB,qBAAqB,EAAE,OAAO,GAC7B,IAAI;CAcR;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { MarketapClickHandler, MarketapLogLevel } from '../types';
|
|
2
|
+
type InAppMessageEvent = {
|
|
3
|
+
campaign: Record<string, any>;
|
|
4
|
+
messageId: string;
|
|
5
|
+
hasCustomClickHandler: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare class MarketapCore {
|
|
8
|
+
private clickHandler?;
|
|
9
|
+
private isInitialized;
|
|
10
|
+
private hasSetupListeners;
|
|
11
|
+
private pendingCalls;
|
|
12
|
+
private pendingClickEvents;
|
|
13
|
+
private initializationPromise;
|
|
14
|
+
private initializedProjectId;
|
|
15
|
+
private clickEventListenerSubscription?;
|
|
16
|
+
private inAppMessageEventListenerSubscription?;
|
|
17
|
+
private inAppMessageListener?;
|
|
18
|
+
constructor();
|
|
19
|
+
setInAppMessageListener(listener: (event: InAppMessageEvent) => void): void;
|
|
20
|
+
private setupEventListeners;
|
|
21
|
+
cleanup(): void;
|
|
22
|
+
initialize(projectId: string): Promise<void>;
|
|
23
|
+
private performInitialization;
|
|
24
|
+
private executeAfterInit;
|
|
25
|
+
setLogLevel(logLevel: MarketapLogLevel): void;
|
|
26
|
+
signup(params: {
|
|
27
|
+
userId: string;
|
|
28
|
+
userProperties?: Record<string, any>;
|
|
29
|
+
eventProperties?: Record<string, any>;
|
|
30
|
+
persistUser?: boolean;
|
|
31
|
+
}): Promise<void>;
|
|
32
|
+
login(params: {
|
|
33
|
+
userId: string;
|
|
34
|
+
userProperties?: Record<string, any>;
|
|
35
|
+
eventProperties?: Record<string, any>;
|
|
36
|
+
}): Promise<void>;
|
|
37
|
+
logout(eventProperties?: Record<string, any>): Promise<void>;
|
|
38
|
+
track(eventName: string, eventProperties?: Record<string, any>): Promise<void>;
|
|
39
|
+
trackPurchase(revenue: number, eventProperties?: Record<string, any>): Promise<void>;
|
|
40
|
+
trackRevenue(eventName: string, revenue: number, eventProperties?: Record<string, any>): Promise<void>;
|
|
41
|
+
trackPageView(eventProperties?: Record<string, any>): Promise<void>;
|
|
42
|
+
identify(userId: string, userProperties?: Record<string, any>): Promise<void>;
|
|
43
|
+
resetIdentity(): Promise<void>;
|
|
44
|
+
setClickHandler(handler: MarketapClickHandler): Promise<void>;
|
|
45
|
+
requestAuthorizationForPushNotifications(): Promise<void>;
|
|
46
|
+
setDeviceOptIn(optIn: boolean | null): Promise<void>;
|
|
47
|
+
trackFromWebBridge(eventName: string, handleInAppInReactNative: boolean, eventProperties?: Record<string, any>): Promise<void>;
|
|
48
|
+
setUserProperties(userProperties: Record<string, any>): Promise<void>;
|
|
49
|
+
trackInAppImpression(campaignId: string, messageId: string, layoutSubType?: string): Promise<void>;
|
|
50
|
+
trackInAppClick(campaignId: string, messageId: string, locationId: string, url?: string, layoutSubType?: string): Promise<void>;
|
|
51
|
+
hideCampaign(campaignId: string, hideType?: string): Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=MarketapCore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarketapCore.d.ts","sourceRoot":"","sources":["../../../src/core/MarketapCore.ts"],"names":[],"mappings":"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"}
|