react-native-marketap-sdk 0.1.0-beta.9 → 1.0.0

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.
Files changed (46) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/AndroidManifest.xml +1 -10
  3. package/android/src/main/java/com/marketapsdk/MarketapSdkModule.kt +284 -77
  4. package/android/src/main/java/com/marketapsdk/ReactNativeBridgeRegistry.kt +110 -0
  5. package/ios/MarketapSdk.m +30 -23
  6. package/ios/MarketapSdk.swift +232 -162
  7. package/lib/commonjs/MarketapWebBridge.js +205 -15
  8. package/lib/commonjs/MarketapWebBridge.js.map +1 -1
  9. package/lib/commonjs/core/MarketapCore.js +233 -0
  10. package/lib/commonjs/core/MarketapCore.js.map +1 -0
  11. package/lib/commonjs/index.js +20 -165
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/commonjs/internal/marketapCore.js +9 -0
  14. package/lib/commonjs/internal/marketapCore.js.map +1 -0
  15. package/lib/commonjs/internal/marketapPlugin.js +40 -0
  16. package/lib/commonjs/internal/marketapPlugin.js.map +1 -0
  17. package/lib/commonjs/version.js +1 -1
  18. package/lib/commonjs/version.js.map +1 -1
  19. package/lib/module/MarketapWebBridge.js +204 -15
  20. package/lib/module/MarketapWebBridge.js.map +1 -1
  21. package/lib/module/core/MarketapCore.js +226 -0
  22. package/lib/module/core/MarketapCore.js.map +1 -0
  23. package/lib/module/index.js +20 -164
  24. package/lib/module/index.js.map +1 -1
  25. package/lib/module/internal/marketapCore.js +3 -0
  26. package/lib/module/internal/marketapCore.js.map +1 -0
  27. package/lib/module/internal/marketapPlugin.js +35 -0
  28. package/lib/module/internal/marketapPlugin.js.map +1 -0
  29. package/lib/module/version.js +1 -1
  30. package/lib/module/version.js.map +1 -1
  31. package/lib/typescript/MarketapWebBridge.d.ts +33 -6
  32. package/lib/typescript/MarketapWebBridge.d.ts.map +1 -1
  33. package/lib/typescript/core/MarketapCore.d.ts +54 -0
  34. package/lib/typescript/core/MarketapCore.d.ts.map +1 -0
  35. package/lib/typescript/index.d.ts +2 -41
  36. package/lib/typescript/index.d.ts.map +1 -1
  37. package/lib/typescript/internal/marketapCore.d.ts +3 -0
  38. package/lib/typescript/internal/marketapCore.d.ts.map +1 -0
  39. package/lib/typescript/internal/marketapPlugin.d.ts +10 -0
  40. package/lib/typescript/internal/marketapPlugin.d.ts.map +1 -0
  41. package/lib/typescript/types.d.ts +1 -2
  42. package/lib/typescript/types.d.ts.map +1 -1
  43. package/lib/typescript/version.d.ts +1 -1
  44. package/lib/typescript/version.d.ts.map +1 -1
  45. package/package.json +1 -1
  46. package/react-native-marketap-sdk.podspec +1 -1
@@ -6,18 +6,103 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  var _version = require("./version");
9
- class MarketapWebBridgeClass {
10
- injectJavaScriptFunction = null;
11
- setInjectJavaScriptFunction(fn) {
12
- this.injectJavaScriptFunction = fn;
9
+ var _marketapPlugin = _interopRequireDefault(require("./internal/marketapPlugin"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ class InAppCampaign {
12
+ constructor(params) {
13
+ this.id = params.id;
14
+ this.layout = params.layout;
15
+ this.html = params.html;
16
+ this.triggerEventCondition = params.triggerEventCondition;
17
+ this.priority = params.priority;
18
+ this.updatedAt = params.updatedAt;
13
19
  }
14
- getInjectJavaScriptFunction() {
15
- if (!this.injectJavaScriptFunction) {
16
- throw new Error('[MarketapWebBridge] injectJavaScriptFunction is not set. ' + 'Call MarketapWebBridge.setInjectJavaScriptFunction() before using the bridge.');
20
+ static fromJson(json) {
21
+ return new InAppCampaign({
22
+ id: String(json.id ?? ''),
23
+ layout: InAppCampaign.convertToStringDynamicMap(json.layout),
24
+ html: json.html,
25
+ triggerEventCondition: json.triggerEventCondition ? InAppCampaign.convertToStringDynamicMap(json.triggerEventCondition) : undefined,
26
+ priority: json.priority != null ? String(json.priority) : undefined,
27
+ updatedAt: json.updatedAt
28
+ });
29
+ }
30
+ toJson() {
31
+ return {
32
+ id: this.id,
33
+ layout: this.layout,
34
+ html: this.html,
35
+ triggerEventCondition: this.triggerEventCondition,
36
+ priority: this.priority,
37
+ updatedAt: this.updatedAt
38
+ };
39
+ }
40
+ static convertToStringDynamicMap(value) {
41
+ if (value && typeof value === 'object' && !Array.isArray(value)) {
42
+ const result = {};
43
+ Object.keys(value).forEach(key => {
44
+ const v = value[key];
45
+ if (Array.isArray(v)) {
46
+ result[String(key)] = InAppCampaign.convertList(v);
47
+ } else if (v && typeof v === 'object') {
48
+ result[String(key)] = InAppCampaign.convertToStringDynamicMap(v);
49
+ } else {
50
+ result[String(key)] = v;
51
+ }
52
+ });
53
+ return result;
17
54
  }
18
- return this.injectJavaScriptFunction;
55
+ return {};
56
+ }
57
+ static convertList(list) {
58
+ return list.map(item => {
59
+ if (Array.isArray(item)) {
60
+ return InAppCampaign.convertList(item);
61
+ }
62
+ if (item && typeof item === 'object') {
63
+ return InAppCampaign.convertToStringDynamicMap(item);
64
+ }
65
+ return item;
66
+ });
67
+ }
68
+ }
69
+
70
+ /**
71
+ * WebView와 네이티브 SDK를 연결하는 브릿지.
72
+ *
73
+ * 사용 예시:
74
+ * const bridge = new MarketapWebBridge(
75
+ * (script) => webViewRef.current?.injectJavaScript(script),
76
+ * true
77
+ * );
78
+ *
79
+ * // WebView 메시지 수신 시
80
+ * bridge.handleMessage(event.nativeEvent.data);
81
+ *
82
+ * // unmount 시
83
+ * bridge.dispose();
84
+ */
85
+ class MarketapWebBridge {
86
+ static activeInstance = null;
87
+ currentCampaign = null;
88
+ isDisposed = false;
89
+ handleInAppInWebView = true;
90
+ constructor(injectJavaScriptFunction, handleInAppInWebView = true) {
91
+ this.evaluateJavaScriptFunction = injectJavaScriptFunction;
92
+ this.handleInAppInWebView = handleInAppInWebView;
93
+ }
94
+ dispose() {
95
+ if (MarketapWebBridge.activeInstance === this) {
96
+ MarketapWebBridge.activeInstance = null;
97
+ }
98
+ this.currentCampaign = null;
99
+ this.isDisposed = true;
19
100
  }
20
101
  handleMessage(message) {
102
+ if (this.isDisposed) {
103
+ console.warn('[MarketapWebBridge] ignoring message - bridge is disposed');
104
+ return;
105
+ }
21
106
  let data;
22
107
  try {
23
108
  data = JSON.parse(message);
@@ -30,10 +115,10 @@ class MarketapWebBridgeClass {
30
115
  }
31
116
  const params = data.params || {};
32
117
  const Marketap = require('./index').default;
33
- console.log(`[MarketapWebBridgeClass] ${type}: ${JSON.stringify(params)}`);
118
+ console.log(`[MarketapWebBridge] ${type}: ${JSON.stringify(params)}`);
34
119
  switch (type) {
35
120
  case 'track':
36
- this.handleTrack(Marketap, params);
121
+ this.handleTrack(params);
37
122
  break;
38
123
  case 'identify':
39
124
  this.handleIdentify(Marketap, params);
@@ -44,17 +129,63 @@ class MarketapWebBridgeClass {
44
129
  case 'marketapBridgeCheck':
45
130
  this.handleBridgeCheck();
46
131
  break;
132
+ case 'inAppMessageImpression':
133
+ this.handleInAppImpression(params);
134
+ break;
135
+ case 'inAppMessageClick':
136
+ this.handleInAppClick(params);
137
+ break;
138
+ case 'inAppMessageHide':
139
+ this.handleInAppHide(params);
140
+ break;
141
+ case 'inAppMessageTrack':
142
+ this.handleInAppTrack(Marketap, params);
143
+ break;
144
+ case 'inAppMessageSetUserProperties':
145
+ this.handleInAppSetUserProperties(params);
146
+ break;
47
147
  default:
48
148
  console.warn(`[MarketapWebBridge] Unknown event type: '${String(type)}'`);
49
149
  }
50
150
  }
51
- handleTrack(Marketap, params) {
151
+ showInAppMessage(campaignJson, messageId, hasCustomClickHandler) {
152
+ if (this.isDisposed) {
153
+ console.warn('[MarketapWebBridge] ignoring message - bridge is disposed');
154
+ return;
155
+ }
156
+ try {
157
+ const campaign = InAppCampaign.fromJson(campaignJson);
158
+ this.currentCampaign = campaign;
159
+ this.sendCampaignToWeb(campaign, messageId, hasCustomClickHandler);
160
+ } catch (error) {
161
+ console.error('[MarketapWebBridge] failed to show in-app message', error);
162
+ }
163
+ }
164
+ sendCampaignToWeb(campaign, messageId, hasCustomClickHandler) {
165
+ const campaignJson = JSON.stringify(campaign.toJson());
166
+ const script = `
167
+ window.postMessage({
168
+ type: 'marketapShowInAppMessage',
169
+ campaign: ${campaignJson},
170
+ messageId: '${messageId}',
171
+ hasCustomClickHandler: ${hasCustomClickHandler}
172
+ }, '*');
173
+ `;
174
+ this.evaluateJavaScriptFunction(script);
175
+ }
176
+ handleTrack(params) {
52
177
  const eventName = params.eventName;
53
178
  const eventProperties = params.eventProperties;
54
179
  if (eventName) {
55
- Marketap.track(eventName, eventProperties);
180
+ if (this.handleInAppInWebView) {
181
+ MarketapWebBridge.setActiveInstance(this);
182
+ }
183
+ _marketapPlugin.default.trackFromWebBridge(eventName, this.handleInAppInWebView, eventProperties);
56
184
  }
57
185
  }
186
+ static setActiveInstance(instance) {
187
+ MarketapWebBridge.activeInstance = instance;
188
+ }
58
189
  handleIdentify(Marketap, params) {
59
190
  const userId = params.userId;
60
191
  const userProperties = params.userProperties;
@@ -63,7 +194,6 @@ class MarketapWebBridgeClass {
63
194
  }
64
195
  }
65
196
  handleBridgeCheck() {
66
- const injectJavaScriptFunction = this.getInjectJavaScriptFunction();
67
197
  const script = `
68
198
  window.postMessage({
69
199
  type: 'marketapBridgeAck',
@@ -74,9 +204,69 @@ class MarketapWebBridgeClass {
74
204
  }
75
205
  }, '*');
76
206
  `;
77
- injectJavaScriptFunction(script);
207
+ this.evaluateJavaScriptFunction(script);
208
+ }
209
+ handleInAppImpression(params) {
210
+ const campaignId = params.campaignId;
211
+ const messageId = params.messageId;
212
+ if (!campaignId || !messageId) {
213
+ console.warn('[MarketapWebBridge] inAppMessageImpression missing required params');
214
+ return;
215
+ }
216
+ if (this.currentCampaign && this.currentCampaign.id === campaignId) {
217
+ _marketapPlugin.default.trackInAppImpression(campaignId, messageId, this.currentCampaign.layout?.layoutSubType);
218
+ }
219
+ }
220
+ handleInAppClick(params) {
221
+ const campaignId = params.campaignId;
222
+ const messageId = params.messageId;
223
+ const locationId = params.locationId;
224
+ const url = params.url;
225
+ if (!campaignId || !messageId || !locationId) {
226
+ console.warn('[MarketapWebBridge] inAppMessageClick missing required params');
227
+ return;
228
+ }
229
+ if (this.currentCampaign && this.currentCampaign.id === campaignId) {
230
+ _marketapPlugin.default.trackInAppClick(campaignId, messageId, locationId, url, this.currentCampaign.layout?.layoutSubType);
231
+ }
232
+ }
233
+ handleInAppHide(params) {
234
+ const campaignId = params.campaignId;
235
+ const hideType = params.hideType;
236
+ if (!campaignId) {
237
+ console.warn('[MarketapWebBridge] inAppMessageHide missing campaignId');
238
+ return;
239
+ }
240
+ _marketapPlugin.default.hideCampaign(campaignId, hideType);
241
+ if (this.currentCampaign && this.currentCampaign.id === campaignId) {
242
+ this.currentCampaign = null;
243
+ }
244
+ }
245
+ handleInAppTrack(Marketap, params) {
246
+ const eventName = params.eventName;
247
+ const eventProperties = params.eventProperties;
248
+ if (!eventName) {
249
+ console.warn('[MarketapWebBridge] inAppMessageTrack missing eventName');
250
+ return;
251
+ }
252
+ Marketap.track(eventName, eventProperties);
253
+ }
254
+ handleInAppSetUserProperties(params) {
255
+ const userProperties = params.userProperties;
256
+ if (!userProperties) {
257
+ console.warn('[MarketapWebBridge] inAppMessageSetUserProperties missing userProperties');
258
+ return;
259
+ }
260
+ _marketapPlugin.default.setUserProperties(userProperties);
261
+ }
262
+ static sendToActiveWebBridge(campaign, messageId, hasCustomClickHandler) {
263
+ const activeInstance = MarketapWebBridge.activeInstance;
264
+ if (activeInstance !== null) {
265
+ activeInstance.showInAppMessage(campaign, messageId, hasCustomClickHandler);
266
+ } else {
267
+ console.warn('[MarketapWebBridge] no active web bridge instance available');
268
+ }
78
269
  }
79
270
  }
80
- const MarketapWebBridge = new MarketapWebBridgeClass();
81
271
  var _default = exports.default = MarketapWebBridge;
82
272
  //# sourceMappingURL=MarketapWebBridge.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_version","MarketapWebBridgeClass","injectJavaScriptFunction","setInjectJavaScriptFunction","fn","getInjectJavaScriptFunction","Error","handleMessage","message","data","JSON","parse","error","type","params","Marketap","default","console","log","stringify","handleTrack","handleIdentify","resetIdentity","handleBridgeCheck","warn","String","eventName","eventProperties","track","userId","userProperties","identify","script","SDK_VERSION","Platform","OS","MarketapWebBridge","_default","exports"],"sourceRoot":"../../src","sources":["MarketapWebBridge.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAeA,MAAME,sBAAsB,CAAC;EACnBC,wBAAwB,GAAoC,IAAI;EAExEC,2BAA2BA,CAACC,EAA4B,EAAQ;IAC9D,IAAI,CAACF,wBAAwB,GAAGE,EAAE;EACpC;EAEQC,2BAA2BA,CAAA,EAA6B;IAC9D,IAAI,CAAC,IAAI,CAACH,wBAAwB,EAAE;MAClC,MAAM,IAAII,KAAK,CACb,2DAA2D,GACzD,+EACJ,CAAC;IACH;IACA,OAAO,IAAI,CAACJ,wBAAwB;EACtC;EAEAK,aAAaA,CAACC,OAAe,EAAQ;IACnC,IAAIC,IAA8B;IAElC,IAAI;MACFA,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACH,OAAO,CAAC;IAC5B,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd;IACF;IAEA,MAAMC,IAAI,GAAGJ,IAAI,EAAEI,IAA8C;IAEjE,IAAI,CAACA,IAAI,EAAE;MACT;IACF;IAEA,MAAMC,MAAM,GAAGL,IAAI,CAACK,MAAM,IAAI,CAAC,CAAC;IAEhC,MAAMC,QAAQ,GAAGhB,OAAO,CAAC,SAAS,CAAC,CAACiB,OAAO;IAC3CC,OAAO,CAACC,GAAG,CAAC,4BAA4BL,IAAI,KAAKH,IAAI,CAACS,SAAS,CAACL,MAAM,CAAC,EAAE,CAAC;IAC1E,QAAQD,IAAI;MACV,KAAK,OAAO;QACV,IAAI,CAACO,WAAW,CAACL,QAAQ,EAAED,MAAM,CAAC;QAClC;MAEF,KAAK,UAAU;QACb,IAAI,CAACO,cAAc,CAACN,QAAQ,EAAED,MAAM,CAAC;QACrC;MAEF,KAAK,eAAe;QAClBC,QAAQ,CAACO,aAAa,CAAC,CAAC;QACxB;MAEF,KAAK,qBAAqB;QACxB,IAAI,CAACC,iBAAiB,CAAC,CAAC;QACxB;MAEF;QACEN,OAAO,CAACO,IAAI,CACV,4CAA4CC,MAAM,CAACZ,IAAI,CAAC,GAC1D,CAAC;IACL;EACF;EAEQO,WAAWA,CAACL,QAAa,EAAED,MAA2B,EAAQ;IACpE,MAAMY,SAAS,GAAGZ,MAAM,CAACY,SAA+B;IACxD,MAAMC,eAAe,GAAGb,MAAM,CAACa,eAElB;IAEb,IAAID,SAAS,EAAE;MACbX,QAAQ,CAACa,KAAK,CAACF,SAAS,EAAEC,eAAe,CAAC;IAC5C;EACF;EAEQN,cAAcA,CAACN,QAAa,EAAED,MAA2B,EAAQ;IACvE,MAAMe,MAAM,GAAGf,MAAM,CAACe,MAA4B;IAClD,MAAMC,cAAc,GAAGhB,MAAM,CAACgB,cAEjB;IAEb,IAAID,MAAM,EAAE;MACVd,QAAQ,CAACgB,QAAQ,CAACF,MAAM,EAAEC,cAAc,CAAC;IAC3C;EACF;EAEQP,iBAAiBA,CAAA,EAAS;IAChC,MAAMrB,wBAAwB,GAAG,IAAI,CAACG,2BAA2B,CAAC,CAAC;IAEnE,MAAM2B,MAAM,GAAG;AACnB;AACA;AACA;AACA;AACA,0BAA0BC,oBAAW;AACrC,uBAAuBC,qBAAQ,CAACC,EAAE;AAClC;AACA;AACA,KAAK;IAEDjC,wBAAwB,CAAC8B,MAAM,CAAC;EAClC;AACF;AAEA,MAAMI,iBAAiB,GAAG,IAAInC,sBAAsB,CAAC,CAAC;AAAC,IAAAoC,QAAA,GAAAC,OAAA,CAAAtB,OAAA,GAExCoB,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_version","_marketapPlugin","_interopRequireDefault","e","__esModule","default","InAppCampaign","constructor","params","id","layout","html","triggerEventCondition","priority","updatedAt","fromJson","json","String","convertToStringDynamicMap","undefined","toJson","value","Array","isArray","result","Object","keys","forEach","key","v","convertList","list","map","item","MarketapWebBridge","activeInstance","currentCampaign","isDisposed","handleInAppInWebView","injectJavaScriptFunction","evaluateJavaScriptFunction","dispose","handleMessage","message","console","warn","data","JSON","parse","error","type","Marketap","log","stringify","handleTrack","handleIdentify","resetIdentity","handleBridgeCheck","handleInAppImpression","handleInAppClick","handleInAppHide","handleInAppTrack","handleInAppSetUserProperties","showInAppMessage","campaignJson","messageId","hasCustomClickHandler","campaign","sendCampaignToWeb","script","eventName","eventProperties","setActiveInstance","marketapPlugin","trackFromWebBridge","instance","userId","userProperties","identify","SDK_VERSION","Platform","OS","campaignId","trackInAppImpression","layoutSubType","locationId","url","trackInAppClick","hideType","hideCampaign","track","setUserProperties","sendToActiveWebBridge","_default","exports"],"sourceRoot":"../../src","sources":["MarketapWebBridge.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MarketapCore = void 0;
7
+ var _reactNative = require("react-native");
8
+ const LINKING_ERROR = `The package 'react-native-marketap-sdk' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
9
+ ios: "- You have run 'cd ios && pod install'\n",
10
+ default: ''
11
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
12
+ const MarketapSdkModule = _reactNative.NativeModules.MarketapSdk;
13
+ if (!MarketapSdkModule) {
14
+ console.error(`react-native-marketap-sdk: Native module not found (MarketapSdk). ` + `Did you run pod install (iOS) / rebuild? Platform=${_reactNative.Platform.OS}`);
15
+ }
16
+ const MarketapSdk = MarketapSdkModule ? MarketapSdkModule : new Proxy({}, {
17
+ get() {
18
+ console.error(LINKING_ERROR);
19
+ return () => Promise.resolve();
20
+ }
21
+ });
22
+ const eventEmitter = new _reactNative.NativeEventEmitter(MarketapSdk);
23
+ class MarketapCore {
24
+ isInitialized = false;
25
+ hasSetupListeners = false;
26
+ pendingCalls = [];
27
+ pendingClickEvents = [];
28
+ initializationPromise = null;
29
+ initializedProjectId = null;
30
+ constructor() {
31
+ this.setupEventListeners();
32
+ }
33
+ setInAppMessageListener(listener) {
34
+ this.inAppMessageListener = listener;
35
+ }
36
+ setupEventListeners() {
37
+ if (this.hasSetupListeners) {
38
+ return;
39
+ }
40
+ this.hasSetupListeners = true;
41
+ this.clickEventListenerSubscription = eventEmitter.addListener('MarketapClickEvent', event => {
42
+ if (this.clickHandler) {
43
+ this.clickHandler(event);
44
+ } else {
45
+ this.pendingClickEvents.push(event);
46
+ }
47
+ });
48
+ this.inAppMessageEventListenerSubscription = eventEmitter.addListener('MarketapInAppMessageEvent', event => {
49
+ this.inAppMessageListener?.(event);
50
+ });
51
+ }
52
+ cleanup() {
53
+ if (this.clickEventListenerSubscription) {
54
+ this.clickEventListenerSubscription.remove();
55
+ this.clickEventListenerSubscription = null;
56
+ }
57
+ if (this.inAppMessageEventListenerSubscription) {
58
+ this.inAppMessageEventListenerSubscription.remove();
59
+ this.inAppMessageEventListenerSubscription = null;
60
+ }
61
+ this.hasSetupListeners = false;
62
+ this.pendingCalls = [];
63
+ this.pendingClickEvents = [];
64
+ }
65
+ async initialize(projectId) {
66
+ if (this.initializationPromise) {
67
+ if (this.initializedProjectId === projectId) {
68
+ return this.initializationPromise;
69
+ }
70
+ console.warn(`MarketapSDK already initialized with projectId '${this.initializedProjectId}'. ` + `Ignoring re-initialization with '${projectId}'.`);
71
+ return this.initializationPromise;
72
+ }
73
+ this.initializedProjectId = projectId;
74
+ this.initializationPromise = this.performInitialization(projectId);
75
+ return this.initializationPromise;
76
+ }
77
+ async performInitialization(projectId) {
78
+ try {
79
+ await MarketapSdk.initialize({
80
+ projectId: projectId
81
+ });
82
+ this.isInitialized = true;
83
+ const callsToExecute = [...this.pendingCalls];
84
+ this.pendingCalls = [];
85
+ for (const call of callsToExecute) {
86
+ try {
87
+ await call();
88
+ } catch (error) {
89
+ console.error('Failed to execute pending SDK call:', error);
90
+ }
91
+ }
92
+ } catch (error) {
93
+ this.initializationPromise = null;
94
+ this.initializedProjectId = null;
95
+ this.isInitialized = false;
96
+ console.error('MarketapSDK:', error);
97
+ }
98
+ }
99
+ async executeAfterInit(fn) {
100
+ if (this.isInitialized) {
101
+ return fn().catch(error => {
102
+ console.error('MarketapSDK:', error);
103
+ });
104
+ }
105
+ return new Promise(resolve => {
106
+ this.pendingCalls.push(async () => {
107
+ try {
108
+ const result = await fn();
109
+ resolve(result);
110
+ } catch (error) {
111
+ console.error('MarketapSDK:', error);
112
+ }
113
+ });
114
+ });
115
+ }
116
+ setLogLevel(logLevel) {
117
+ MarketapSdk.setLogLevel({
118
+ logLevel: logLevel
119
+ });
120
+ }
121
+ signup(params) {
122
+ return this.executeAfterInit(() => MarketapSdk.signup({
123
+ userId: params.userId,
124
+ userProperties: params.userProperties,
125
+ eventProperties: params.eventProperties,
126
+ persistUser: params.persistUser
127
+ }));
128
+ }
129
+ login(params) {
130
+ return this.executeAfterInit(() => MarketapSdk.login({
131
+ userId: params.userId,
132
+ userProperties: params.userProperties,
133
+ eventProperties: params.eventProperties
134
+ }));
135
+ }
136
+ logout(eventProperties) {
137
+ return this.executeAfterInit(() => MarketapSdk.logout({
138
+ eventProperties: eventProperties
139
+ }));
140
+ }
141
+ track(eventName, eventProperties) {
142
+ return this.executeAfterInit(() => MarketapSdk.track({
143
+ eventName: eventName,
144
+ eventProperties: eventProperties
145
+ }));
146
+ }
147
+ trackPurchase(revenue, eventProperties) {
148
+ return this.executeAfterInit(() => MarketapSdk.trackPurchase({
149
+ revenue: revenue,
150
+ eventProperties: eventProperties
151
+ }));
152
+ }
153
+ trackRevenue(eventName, revenue, eventProperties) {
154
+ return this.executeAfterInit(() => MarketapSdk.trackRevenue({
155
+ eventName: eventName,
156
+ revenue: revenue,
157
+ eventProperties: eventProperties
158
+ }));
159
+ }
160
+ trackPageView(eventProperties) {
161
+ return this.executeAfterInit(() => MarketapSdk.trackPageView({
162
+ eventProperties: eventProperties
163
+ }));
164
+ }
165
+ identify(userId, userProperties) {
166
+ return this.executeAfterInit(() => MarketapSdk.identify({
167
+ userId: userId,
168
+ userProperties: userProperties
169
+ }));
170
+ }
171
+ resetIdentity() {
172
+ return this.executeAfterInit(() => MarketapSdk.resetIdentity());
173
+ }
174
+ async setClickHandler(handler) {
175
+ this.clickHandler = handler;
176
+ if (this.pendingClickEvents.length > 0) {
177
+ const pendingEvents = [...this.pendingClickEvents];
178
+ this.pendingClickEvents = [];
179
+ pendingEvents.forEach(event => {
180
+ try {
181
+ handler(event);
182
+ } catch (error) {
183
+ console.error('Failed to handle pending click event:', error);
184
+ }
185
+ });
186
+ }
187
+ return MarketapSdk.setClickHandler();
188
+ }
189
+ requestAuthorizationForPushNotifications() {
190
+ return MarketapSdk.requestAuthorizationForPushNotifications();
191
+ }
192
+ setDeviceOptIn(optIn) {
193
+ return this.executeAfterInit(() => MarketapSdk.setDeviceOptIn({
194
+ optIn
195
+ }));
196
+ }
197
+ trackFromWebBridge(eventName, handleInAppInReactNative, eventProperties) {
198
+ return this.executeAfterInit(() => MarketapSdk.trackFromWebBridge({
199
+ eventName: eventName,
200
+ eventProperties: eventProperties,
201
+ handleInAppInReactNative: handleInAppInReactNative
202
+ }));
203
+ }
204
+ setUserProperties(userProperties) {
205
+ return this.executeAfterInit(() => MarketapSdk.setUserProperties({
206
+ userProperties: userProperties
207
+ }));
208
+ }
209
+ trackInAppImpression(campaignId, messageId, layoutSubType) {
210
+ return this.executeAfterInit(() => MarketapSdk.trackInAppImpression({
211
+ campaignId: campaignId,
212
+ messageId: messageId,
213
+ layoutSubType: layoutSubType
214
+ }));
215
+ }
216
+ trackInAppClick(campaignId, messageId, locationId, url, layoutSubType) {
217
+ return this.executeAfterInit(() => MarketapSdk.trackInAppClick({
218
+ campaignId: campaignId,
219
+ messageId: messageId,
220
+ locationId: locationId,
221
+ url: url,
222
+ layoutSubType: layoutSubType
223
+ }));
224
+ }
225
+ hideCampaign(campaignId, hideType) {
226
+ return this.executeAfterInit(() => MarketapSdk.hideCampaign({
227
+ campaignId: campaignId,
228
+ hideType: hideType
229
+ }));
230
+ }
231
+ }
232
+ exports.MarketapCore = MarketapCore;
233
+ //# sourceMappingURL=MarketapCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","MarketapSdkModule","NativeModules","MarketapSdk","console","error","OS","Proxy","get","Promise","resolve","eventEmitter","NativeEventEmitter","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","exports"],"sourceRoot":"../../../src","sources":["core/MarketapCore.ts"],"mappings":"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","ignoreList":[]}