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
@@ -13,7 +13,8 @@ Object.defineProperty(exports, "MarketapWebBridge", {
13
13
  }
14
14
  });
15
15
  exports.default = void 0;
16
- var _reactNative = require("react-native");
16
+ var _MarketapWebBridge = _interopRequireDefault(require("./MarketapWebBridge"));
17
+ var _marketapCore = require("./internal/marketapCore");
17
18
  var _types = require("./types");
18
19
  Object.keys(_types).forEach(function (key) {
19
20
  if (key === "default" || key === "__esModule") return;
@@ -26,171 +27,25 @@ Object.keys(_types).forEach(function (key) {
26
27
  }
27
28
  });
28
29
  });
29
- var _MarketapWebBridge = _interopRequireDefault(require("./MarketapWebBridge"));
30
30
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
31
- const LINKING_ERROR = `The package 'react-native-marketap-sdk' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
32
- ios: "- You have run 'cd ios && pod install'\n",
33
- default: ''
34
- }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
35
-
36
- // Force use legacy bridge for now - TurboModule implementation incomplete
37
- const MarketapSdkModule = _reactNative.NativeModules.MarketapSdk;
38
- if (!MarketapSdkModule) {
39
- throw new Error(`react-native-marketap-sdk: Native module not found (MarketapSdk). ` + `Did you run pod install (iOS) / rebuild? Platform=${_reactNative.Platform.OS}`);
40
- }
41
- const MarketapSdk = MarketapSdkModule ? MarketapSdkModule : new Proxy({}, {
42
- get() {
43
- throw new Error(LINKING_ERROR);
44
- }
31
+ _marketapCore.marketapCore.setInAppMessageListener(event => {
32
+ _MarketapWebBridge.default.sendToActiveWebBridge(event.campaign, event.messageId, event.hasCustomClickHandler);
45
33
  });
46
- const eventEmitter = _reactNative.Platform.OS === 'ios' ? new _reactNative.NativeEventEmitter(MarketapSdk) : _reactNative.DeviceEventEmitter;
47
- class MarketapSDK {
48
- isInitialized = false;
49
- hasSetupListeners = false;
50
- pendingCalls = [];
51
- pendingClickEvents = [];
52
- initializationPromise = null;
53
- initializedProjectId = null;
54
- constructor() {
55
- this.setupEventListeners();
56
- }
57
- setupEventListeners() {
58
- if (this.hasSetupListeners) {
59
- return;
60
- }
61
- this.hasSetupListeners = true;
62
- this.eventListenerSubscription = eventEmitter.addListener('MarketapClickEvent', event => {
63
- if (this.clickHandler) {
64
- this.clickHandler(event);
65
- } else {
66
- this.pendingClickEvents.push(event);
67
- }
68
- });
69
- }
70
- cleanup() {
71
- if (this.eventListenerSubscription) {
72
- this.eventListenerSubscription.remove();
73
- this.eventListenerSubscription = null;
74
- }
75
- this.hasSetupListeners = false;
76
- this.pendingCalls = [];
77
- this.pendingClickEvents = [];
78
- }
79
- async initialize(projectId) {
80
- if (this.initializationPromise) {
81
- if (this.initializedProjectId === projectId) {
82
- return this.initializationPromise;
83
- } else {
84
- console.warn(`MarketapSDK already initialized with projectId '${this.initializedProjectId}'. ` + `Ignoring re-initialization with '${projectId}'.`);
85
- return this.initializationPromise;
86
- }
87
- }
88
- this.initializedProjectId = projectId;
89
- this.initializationPromise = this.performInitialization(projectId);
90
- return this.initializationPromise;
91
- }
92
- async performInitialization(projectId) {
93
- try {
94
- await MarketapSdk.initialize(projectId);
95
- this.isInitialized = true;
96
- const callsToExecute = [...this.pendingCalls];
97
- this.pendingCalls = [];
98
- for (const call of callsToExecute) {
99
- try {
100
- await call();
101
- } catch (error) {
102
- console.error('Failed to execute pending SDK call:', error);
103
- }
104
- }
105
- } catch (error) {
106
- this.initializationPromise = null;
107
- this.initializedProjectId = null;
108
- this.isInitialized = false;
109
- throw error;
110
- }
111
- }
112
- async executeAfterInit(fn) {
113
- if (this.isInitialized) {
114
- return fn();
115
- }
116
- return new Promise((resolve, reject) => {
117
- this.pendingCalls.push(async () => {
118
- try {
119
- const result = await fn();
120
- resolve(result);
121
- } catch (error) {
122
- reject(error);
123
- }
124
- });
125
- });
126
- }
127
- setLogLevel(logLevel) {
128
- MarketapSdk.setLogLevel(logLevel);
129
- }
130
- async signup(params) {
131
- return this.executeAfterInit(() => MarketapSdk.signup(params.userId, params.userProperties, params.eventProperties, params.persistUser));
132
- }
133
- async login(params) {
134
- return this.executeAfterInit(() => MarketapSdk.login(params.userId, params.userProperties, params.eventProperties));
135
- }
136
- async logout(eventProperties) {
137
- return this.executeAfterInit(() => MarketapSdk.logout(eventProperties));
138
- }
139
- async track(eventName, eventProperties) {
140
- return this.executeAfterInit(() => MarketapSdk.track(eventName, eventProperties));
141
- }
142
- async trackPurchase(revenue, eventProperties) {
143
- return this.executeAfterInit(() => MarketapSdk.trackPurchase(revenue, eventProperties));
144
- }
145
- async trackRevenue(eventName, revenue, eventProperties) {
146
- return this.executeAfterInit(() => MarketapSdk.trackRevenue(eventName, revenue, eventProperties));
147
- }
148
- async trackPageView(eventProperties) {
149
- return this.executeAfterInit(() => MarketapSdk.trackPageView(eventProperties));
150
- }
151
- async identify(userId, userProperties) {
152
- return this.executeAfterInit(() => MarketapSdk.identify(userId, userProperties));
153
- }
154
- async resetIdentity() {
155
- return this.executeAfterInit(() => MarketapSdk.resetIdentity());
156
- }
157
- async setClickHandler(handler) {
158
- this.clickHandler = handler;
159
- if (this.pendingClickEvents.length > 0) {
160
- const pendingEvents = [...this.pendingClickEvents];
161
- this.pendingClickEvents = [];
162
- pendingEvents.forEach(event => {
163
- try {
164
- handler(event);
165
- } catch (error) {
166
- console.error('Failed to handle pending click event:', error);
167
- }
168
- });
169
- }
170
- return MarketapSdk.setClickHandler();
171
- }
172
- async requestAuthorizationForPushNotifications() {
173
- return MarketapSdk.requestAuthorizationForPushNotifications();
174
- }
175
- async setPushToken(token) {
176
- // Fix Blocker: checkInitialized() 전면 제거 - 안전한 executeAfterInit 사용
177
- return this.executeAfterInit(async () => {
178
- if (_reactNative.Platform.OS === 'android') {
179
- console.warn('setPushToken is not needed on Android - MarketapFirebaseMessagingService handles push notifications automatically');
180
- return;
181
- }
182
- return MarketapSdk.setPushToken(token);
183
- });
184
- }
185
- async getInitialNotification() {
186
- try {
187
- return await MarketapSdk.getInitialNotification();
188
- } catch (error) {
189
- console.error('Failed to get initial notification:', error);
190
- return null;
191
- }
192
- }
193
- }
194
- const Marketap = new MarketapSDK();
34
+ const Marketap = {
35
+ initialize: projectId => _marketapCore.marketapCore.initialize(projectId),
36
+ setLogLevel: logLevel => _marketapCore.marketapCore.setLogLevel(logLevel),
37
+ signup: params => _marketapCore.marketapCore.signup(params),
38
+ login: params => _marketapCore.marketapCore.login(params),
39
+ logout: eventProperties => _marketapCore.marketapCore.logout(eventProperties),
40
+ track: (eventName, eventProperties) => _marketapCore.marketapCore.track(eventName, eventProperties),
41
+ trackPurchase: (revenue, eventProperties) => _marketapCore.marketapCore.trackPurchase(revenue, eventProperties),
42
+ trackRevenue: (eventName, revenue, eventProperties) => _marketapCore.marketapCore.trackRevenue(eventName, revenue, eventProperties),
43
+ trackPageView: eventProperties => _marketapCore.marketapCore.trackPageView(eventProperties),
44
+ identify: (userId, userProperties) => _marketapCore.marketapCore.identify(userId, userProperties),
45
+ resetIdentity: () => _marketapCore.marketapCore.resetIdentity(),
46
+ setClickHandler: handler => _marketapCore.marketapCore.setClickHandler(handler),
47
+ requestAuthorizationForPushNotifications: () => _marketapCore.marketapCore.requestAuthorizationForPushNotifications(),
48
+ setDeviceOptIn: optIn => _marketapCore.marketapCore.setDeviceOptIn(optIn)
49
+ };
195
50
  var _default = exports.default = Marketap;
196
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_MarketapWebBridge","_interopRequireDefault","e","__esModule","default","LINKING_ERROR","Platform","select","ios","MarketapSdkModule","NativeModules","MarketapSdk","Error","OS","Proxy","eventEmitter","NativeEventEmitter","DeviceEventEmitter","MarketapSDK","isInitialized","hasSetupListeners","pendingCalls","pendingClickEvents","initializationPromise","initializedProjectId","constructor","setupEventListeners","eventListenerSubscription","addListener","event","clickHandler","push","cleanup","remove","initialize","projectId","console","warn","performInitialization","callsToExecute","error","executeAfterInit","fn","Promise","resolve","reject","result","setLogLevel","logLevel","signup","params","userId","userProperties","eventProperties","persistUser","login","logout","track","eventName","trackPurchase","revenue","trackRevenue","trackPageView","identify","resetIdentity","setClickHandler","handler","length","pendingEvents","requestAuthorizationForPushNotifications","setPushToken","token","getInitialNotification","Marketap","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_MarketapWebBridge","_interopRequireDefault","require","_marketapCore","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","e","__esModule","default","marketapCore","setInAppMessageListener","event","MarketapWebBridge","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,IAAAA,kBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAgCA,IAAAE,MAAA,GAAAF,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAAwB,SAAAP,uBAAAgB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA9BxBG,0BAAY,CAACC,uBAAuB,CAAEC,KAAK,IAAK;EAC9CC,0BAAiB,CAACC,qBAAqB,CACrCF,KAAK,CAACG,QAAQ,EACdH,KAAK,CAACI,SAAS,EACfJ,KAAK,CAACK,qBACR,CAAC;AACH,CAAC,CAAC;AAEF,MAAMC,QAA8B,GAAG;EACrCC,UAAU,EAAGC,SAAS,IAAKV,0BAAY,CAACS,UAAU,CAACC,SAAS,CAAC;EAC7DC,WAAW,EAAGC,QAAQ,IAAKZ,0BAAY,CAACW,WAAW,CAACC,QAAQ,CAAC;EAC7DC,MAAM,EAAGC,MAAM,IAAKd,0BAAY,CAACa,MAAM,CAACC,MAAM,CAAC;EAC/CC,KAAK,EAAGD,MAAM,IAAKd,0BAAY,CAACe,KAAK,CAACD,MAAM,CAAC;EAC7CE,MAAM,EAAGC,eAAe,IAAKjB,0BAAY,CAACgB,MAAM,CAACC,eAAe,CAAC;EACjEC,KAAK,EAAEA,CAACC,SAAS,EAAEF,eAAe,KAChCjB,0BAAY,CAACkB,KAAK,CAACC,SAAS,EAAEF,eAAe,CAAC;EAChDG,aAAa,EAAEA,CAACC,OAAO,EAAEJ,eAAe,KACtCjB,0BAAY,CAACoB,aAAa,CAACC,OAAO,EAAEJ,eAAe,CAAC;EACtDK,YAAY,EAAEA,CAACH,SAAS,EAAEE,OAAO,EAAEJ,eAAe,KAChDjB,0BAAY,CAACsB,YAAY,CAACH,SAAS,EAAEE,OAAO,EAAEJ,eAAe,CAAC;EAChEM,aAAa,EAAGN,eAAe,IAAKjB,0BAAY,CAACuB,aAAa,CAACN,eAAe,CAAC;EAC/EO,QAAQ,EAAEA,CAACC,MAAM,EAAEC,cAAc,KAAK1B,0BAAY,CAACwB,QAAQ,CAACC,MAAM,EAAEC,cAAc,CAAC;EACnFC,aAAa,EAAEA,CAAA,KAAM3B,0BAAY,CAAC2B,aAAa,CAAC,CAAC;EACjDC,eAAe,EAAGC,OAAO,IAAK7B,0BAAY,CAAC4B,eAAe,CAACC,OAAO,CAAC;EACnEC,wCAAwC,EAAEA,CAAA,KACxC9B,0BAAY,CAAC8B,wCAAwC,CAAC,CAAC;EACzDC,cAAc,EAAGC,KAAK,IAAKhC,0BAAY,CAAC+B,cAAc,CAACC,KAAK;AAC9D,CAAC;AAAC,IAAAC,QAAA,GAAAxC,OAAA,CAAAM,OAAA,GAEaS,QAAQ","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.marketapCore = void 0;
7
+ var _MarketapCore = require("../core/MarketapCore");
8
+ const marketapCore = exports.marketapCore = new _MarketapCore.MarketapCore();
9
+ //# sourceMappingURL=marketapCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_MarketapCore","require","marketapCore","exports","MarketapCore"],"sourceRoot":"../../../src","sources":["internal/marketapCore.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAEO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,IAAIE,0BAAY,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _marketapCore = require("./marketapCore");
8
+ /// MarketapPlugin - 웹브릿지 및 내부 전용 API
9
+ class MarketapPlugin {
10
+ /// 웹브릿지에서 넘어온 이벤트임을 표시하여 트래킹
11
+ /// 네이티브 SDK가 이벤트가 웹브릿지에서 온 것임을 인지하고,
12
+ /// 인앱 메시지를 RN으로 다시 전달할 수 있도록 함
13
+ /// [handleInAppInReactNative] - true면 인앱 메시지를 RN으로 전달
14
+ trackFromWebBridge(eventName, handleInAppInReactNative, eventProperties) {
15
+ return _marketapCore.marketapCore.trackFromWebBridge(eventName, handleInAppInReactNative, eventProperties);
16
+ }
17
+
18
+ /// 유저 속성 설정 (userId 없이)
19
+ setUserProperties(userProperties) {
20
+ return _marketapCore.marketapCore.setUserProperties(userProperties);
21
+ }
22
+
23
+ /// 인앱 메시지 노출 이벤트 트래킹
24
+ trackInAppImpression(campaignId, messageId, layoutSubType) {
25
+ return _marketapCore.marketapCore.trackInAppImpression(campaignId, messageId, layoutSubType);
26
+ }
27
+
28
+ /// 인앱 메시지 클릭 이벤트 트래킹
29
+ trackInAppClick(campaignId, messageId, locationId, url, layoutSubType) {
30
+ return _marketapCore.marketapCore.trackInAppClick(campaignId, messageId, locationId, url, layoutSubType);
31
+ }
32
+
33
+ /// 캠페인 숨김 처리
34
+ hideCampaign(campaignId, hideType) {
35
+ return _marketapCore.marketapCore.hideCampaign(campaignId, hideType);
36
+ }
37
+ }
38
+ const marketapPlugin = new MarketapPlugin();
39
+ var _default = exports.default = marketapPlugin;
40
+ //# sourceMappingURL=marketapPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_marketapCore","require","MarketapPlugin","trackFromWebBridge","eventName","handleInAppInReactNative","eventProperties","marketapCore","setUserProperties","userProperties","trackInAppImpression","campaignId","messageId","layoutSubType","trackInAppClick","locationId","url","hideCampaign","hideType","marketapPlugin","_default","exports","default"],"sourceRoot":"../../../src","sources":["internal/marketapPlugin.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAEA;AACA,MAAMC,cAAc,CAAC;EACnB;EACA;EACA;EACA;EACAC,kBAAkBA,CAChBC,SAAiB,EACjBC,wBAAiC,EACjCC,eAAqC,EACtB;IACf,OAAOC,0BAAY,CAACJ,kBAAkB,CACpCC,SAAS,EACTC,wBAAwB,EACxBC,eACF,CAAC;EACH;;EAEA;EACAE,iBAAiBA,CAACC,cAAmC,EAAiB;IACpE,OAAOF,0BAAY,CAACC,iBAAiB,CAACC,cAAc,CAAC;EACvD;;EAEA;EACAC,oBAAoBA,CAClBC,UAAkB,EAClBC,SAAiB,EACjBC,aAAsB,EACP;IACf,OAAON,0BAAY,CAACG,oBAAoB,CACtCC,UAAU,EACVC,SAAS,EACTC,aACF,CAAC;EACH;;EAEA;EACAC,eAAeA,CACbH,UAAkB,EAClBC,SAAiB,EACjBG,UAAkB,EAClBC,GAAY,EACZH,aAAsB,EACP;IACf,OAAON,0BAAY,CAACO,eAAe,CACjCH,UAAU,EACVC,SAAS,EACTG,UAAU,EACVC,GAAG,EACHH,aACF,CAAC;EACH;;EAEA;EACAI,YAAYA,CAACN,UAAkB,EAAEO,QAAiB,EAAiB;IACjE,OAAOX,0BAAY,CAACU,YAAY,CAACN,UAAU,EAAEO,QAAQ,CAAC;EACxD;AACF;AAEA,MAAMC,cAAc,GAAG,IAAIjB,cAAc,CAAC,CAAC;AAAC,IAAAkB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE7BH,cAAc","ignoreList":[]}
@@ -5,5 +5,5 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.SDK_VERSION = void 0;
7
7
  // This file is auto-generated by scripts/generate-version.js
8
- const SDK_VERSION = exports.SDK_VERSION = '0.1.0-beta.9';
8
+ const SDK_VERSION = exports.SDK_VERSION = '1.0.0';
9
9
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SDK_VERSION","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAA;AACO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["SDK_VERSION","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAA;AACO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,OAAO","ignoreList":[]}
@@ -1,17 +1,101 @@
1
1
  import { Platform } from 'react-native';
2
2
  import { SDK_VERSION } from './version';
3
- class MarketapWebBridgeClass {
4
- injectJavaScriptFunction = null;
5
- setInjectJavaScriptFunction(fn) {
6
- this.injectJavaScriptFunction = fn;
3
+ import marketapPlugin from './internal/marketapPlugin';
4
+ class InAppCampaign {
5
+ constructor(params) {
6
+ this.id = params.id;
7
+ this.layout = params.layout;
8
+ this.html = params.html;
9
+ this.triggerEventCondition = params.triggerEventCondition;
10
+ this.priority = params.priority;
11
+ this.updatedAt = params.updatedAt;
7
12
  }
8
- getInjectJavaScriptFunction() {
9
- if (!this.injectJavaScriptFunction) {
10
- throw new Error('[MarketapWebBridge] injectJavaScriptFunction is not set. ' + 'Call MarketapWebBridge.setInjectJavaScriptFunction() before using the bridge.');
13
+ static fromJson(json) {
14
+ return new InAppCampaign({
15
+ id: String(json.id ?? ''),
16
+ layout: InAppCampaign.convertToStringDynamicMap(json.layout),
17
+ html: json.html,
18
+ triggerEventCondition: json.triggerEventCondition ? InAppCampaign.convertToStringDynamicMap(json.triggerEventCondition) : undefined,
19
+ priority: json.priority != null ? String(json.priority) : undefined,
20
+ updatedAt: json.updatedAt
21
+ });
22
+ }
23
+ toJson() {
24
+ return {
25
+ id: this.id,
26
+ layout: this.layout,
27
+ html: this.html,
28
+ triggerEventCondition: this.triggerEventCondition,
29
+ priority: this.priority,
30
+ updatedAt: this.updatedAt
31
+ };
32
+ }
33
+ static convertToStringDynamicMap(value) {
34
+ if (value && typeof value === 'object' && !Array.isArray(value)) {
35
+ const result = {};
36
+ Object.keys(value).forEach(key => {
37
+ const v = value[key];
38
+ if (Array.isArray(v)) {
39
+ result[String(key)] = InAppCampaign.convertList(v);
40
+ } else if (v && typeof v === 'object') {
41
+ result[String(key)] = InAppCampaign.convertToStringDynamicMap(v);
42
+ } else {
43
+ result[String(key)] = v;
44
+ }
45
+ });
46
+ return result;
11
47
  }
12
- return this.injectJavaScriptFunction;
48
+ return {};
49
+ }
50
+ static convertList(list) {
51
+ return list.map(item => {
52
+ if (Array.isArray(item)) {
53
+ return InAppCampaign.convertList(item);
54
+ }
55
+ if (item && typeof item === 'object') {
56
+ return InAppCampaign.convertToStringDynamicMap(item);
57
+ }
58
+ return item;
59
+ });
60
+ }
61
+ }
62
+
63
+ /**
64
+ * WebView와 네이티브 SDK를 연결하는 브릿지.
65
+ *
66
+ * 사용 예시:
67
+ * const bridge = new MarketapWebBridge(
68
+ * (script) => webViewRef.current?.injectJavaScript(script),
69
+ * true
70
+ * );
71
+ *
72
+ * // WebView 메시지 수신 시
73
+ * bridge.handleMessage(event.nativeEvent.data);
74
+ *
75
+ * // unmount 시
76
+ * bridge.dispose();
77
+ */
78
+ class MarketapWebBridge {
79
+ static activeInstance = null;
80
+ currentCampaign = null;
81
+ isDisposed = false;
82
+ handleInAppInWebView = true;
83
+ constructor(injectJavaScriptFunction, handleInAppInWebView = true) {
84
+ this.evaluateJavaScriptFunction = injectJavaScriptFunction;
85
+ this.handleInAppInWebView = handleInAppInWebView;
86
+ }
87
+ dispose() {
88
+ if (MarketapWebBridge.activeInstance === this) {
89
+ MarketapWebBridge.activeInstance = null;
90
+ }
91
+ this.currentCampaign = null;
92
+ this.isDisposed = true;
13
93
  }
14
94
  handleMessage(message) {
95
+ if (this.isDisposed) {
96
+ console.warn('[MarketapWebBridge] ignoring message - bridge is disposed');
97
+ return;
98
+ }
15
99
  let data;
16
100
  try {
17
101
  data = JSON.parse(message);
@@ -24,10 +108,10 @@ class MarketapWebBridgeClass {
24
108
  }
25
109
  const params = data.params || {};
26
110
  const Marketap = require('./index').default;
27
- console.log(`[MarketapWebBridgeClass] ${type}: ${JSON.stringify(params)}`);
111
+ console.log(`[MarketapWebBridge] ${type}: ${JSON.stringify(params)}`);
28
112
  switch (type) {
29
113
  case 'track':
30
- this.handleTrack(Marketap, params);
114
+ this.handleTrack(params);
31
115
  break;
32
116
  case 'identify':
33
117
  this.handleIdentify(Marketap, params);
@@ -38,17 +122,63 @@ class MarketapWebBridgeClass {
38
122
  case 'marketapBridgeCheck':
39
123
  this.handleBridgeCheck();
40
124
  break;
125
+ case 'inAppMessageImpression':
126
+ this.handleInAppImpression(params);
127
+ break;
128
+ case 'inAppMessageClick':
129
+ this.handleInAppClick(params);
130
+ break;
131
+ case 'inAppMessageHide':
132
+ this.handleInAppHide(params);
133
+ break;
134
+ case 'inAppMessageTrack':
135
+ this.handleInAppTrack(Marketap, params);
136
+ break;
137
+ case 'inAppMessageSetUserProperties':
138
+ this.handleInAppSetUserProperties(params);
139
+ break;
41
140
  default:
42
141
  console.warn(`[MarketapWebBridge] Unknown event type: '${String(type)}'`);
43
142
  }
44
143
  }
45
- handleTrack(Marketap, params) {
144
+ showInAppMessage(campaignJson, messageId, hasCustomClickHandler) {
145
+ if (this.isDisposed) {
146
+ console.warn('[MarketapWebBridge] ignoring message - bridge is disposed');
147
+ return;
148
+ }
149
+ try {
150
+ const campaign = InAppCampaign.fromJson(campaignJson);
151
+ this.currentCampaign = campaign;
152
+ this.sendCampaignToWeb(campaign, messageId, hasCustomClickHandler);
153
+ } catch (error) {
154
+ console.error('[MarketapWebBridge] failed to show in-app message', error);
155
+ }
156
+ }
157
+ sendCampaignToWeb(campaign, messageId, hasCustomClickHandler) {
158
+ const campaignJson = JSON.stringify(campaign.toJson());
159
+ const script = `
160
+ window.postMessage({
161
+ type: 'marketapShowInAppMessage',
162
+ campaign: ${campaignJson},
163
+ messageId: '${messageId}',
164
+ hasCustomClickHandler: ${hasCustomClickHandler}
165
+ }, '*');
166
+ `;
167
+ this.evaluateJavaScriptFunction(script);
168
+ }
169
+ handleTrack(params) {
46
170
  const eventName = params.eventName;
47
171
  const eventProperties = params.eventProperties;
48
172
  if (eventName) {
49
- Marketap.track(eventName, eventProperties);
173
+ if (this.handleInAppInWebView) {
174
+ MarketapWebBridge.setActiveInstance(this);
175
+ }
176
+ marketapPlugin.trackFromWebBridge(eventName, this.handleInAppInWebView, eventProperties);
50
177
  }
51
178
  }
179
+ static setActiveInstance(instance) {
180
+ MarketapWebBridge.activeInstance = instance;
181
+ }
52
182
  handleIdentify(Marketap, params) {
53
183
  const userId = params.userId;
54
184
  const userProperties = params.userProperties;
@@ -57,7 +187,6 @@ class MarketapWebBridgeClass {
57
187
  }
58
188
  }
59
189
  handleBridgeCheck() {
60
- const injectJavaScriptFunction = this.getInjectJavaScriptFunction();
61
190
  const script = `
62
191
  window.postMessage({
63
192
  type: 'marketapBridgeAck',
@@ -68,9 +197,69 @@ class MarketapWebBridgeClass {
68
197
  }
69
198
  }, '*');
70
199
  `;
71
- injectJavaScriptFunction(script);
200
+ this.evaluateJavaScriptFunction(script);
201
+ }
202
+ handleInAppImpression(params) {
203
+ const campaignId = params.campaignId;
204
+ const messageId = params.messageId;
205
+ if (!campaignId || !messageId) {
206
+ console.warn('[MarketapWebBridge] inAppMessageImpression missing required params');
207
+ return;
208
+ }
209
+ if (this.currentCampaign && this.currentCampaign.id === campaignId) {
210
+ marketapPlugin.trackInAppImpression(campaignId, messageId, this.currentCampaign.layout?.layoutSubType);
211
+ }
212
+ }
213
+ handleInAppClick(params) {
214
+ const campaignId = params.campaignId;
215
+ const messageId = params.messageId;
216
+ const locationId = params.locationId;
217
+ const url = params.url;
218
+ if (!campaignId || !messageId || !locationId) {
219
+ console.warn('[MarketapWebBridge] inAppMessageClick missing required params');
220
+ return;
221
+ }
222
+ if (this.currentCampaign && this.currentCampaign.id === campaignId) {
223
+ marketapPlugin.trackInAppClick(campaignId, messageId, locationId, url, this.currentCampaign.layout?.layoutSubType);
224
+ }
225
+ }
226
+ handleInAppHide(params) {
227
+ const campaignId = params.campaignId;
228
+ const hideType = params.hideType;
229
+ if (!campaignId) {
230
+ console.warn('[MarketapWebBridge] inAppMessageHide missing campaignId');
231
+ return;
232
+ }
233
+ marketapPlugin.hideCampaign(campaignId, hideType);
234
+ if (this.currentCampaign && this.currentCampaign.id === campaignId) {
235
+ this.currentCampaign = null;
236
+ }
237
+ }
238
+ handleInAppTrack(Marketap, params) {
239
+ const eventName = params.eventName;
240
+ const eventProperties = params.eventProperties;
241
+ if (!eventName) {
242
+ console.warn('[MarketapWebBridge] inAppMessageTrack missing eventName');
243
+ return;
244
+ }
245
+ Marketap.track(eventName, eventProperties);
246
+ }
247
+ handleInAppSetUserProperties(params) {
248
+ const userProperties = params.userProperties;
249
+ if (!userProperties) {
250
+ console.warn('[MarketapWebBridge] inAppMessageSetUserProperties missing userProperties');
251
+ return;
252
+ }
253
+ marketapPlugin.setUserProperties(userProperties);
254
+ }
255
+ static sendToActiveWebBridge(campaign, messageId, hasCustomClickHandler) {
256
+ const activeInstance = MarketapWebBridge.activeInstance;
257
+ if (activeInstance !== null) {
258
+ activeInstance.showInAppMessage(campaign, messageId, hasCustomClickHandler);
259
+ } else {
260
+ console.warn('[MarketapWebBridge] no active web bridge instance available');
261
+ }
72
262
  }
73
263
  }
74
- const MarketapWebBridge = new MarketapWebBridgeClass();
75
264
  export default MarketapWebBridge;
76
265
  //# sourceMappingURL=MarketapWebBridge.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","SDK_VERSION","MarketapWebBridgeClass","injectJavaScriptFunction","setInjectJavaScriptFunction","fn","getInjectJavaScriptFunction","Error","handleMessage","message","data","JSON","parse","error","type","params","Marketap","require","default","console","log","stringify","handleTrack","handleIdentify","resetIdentity","handleBridgeCheck","warn","String","eventName","eventProperties","track","userId","userProperties","identify","script","OS","MarketapWebBridge"],"sourceRoot":"../../src","sources":["MarketapWebBridge.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,WAAW,QAAQ,WAAW;AAevC,MAAMC,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,GAAGC,OAAO,CAAC,SAAS,CAAC,CAACC,OAAO;IAC3CC,OAAO,CAACC,GAAG,CAAC,4BAA4BN,IAAI,KAAKH,IAAI,CAACU,SAAS,CAACN,MAAM,CAAC,EAAE,CAAC;IAC1E,QAAQD,IAAI;MACV,KAAK,OAAO;QACV,IAAI,CAACQ,WAAW,CAACN,QAAQ,EAAED,MAAM,CAAC;QAClC;MAEF,KAAK,UAAU;QACb,IAAI,CAACQ,cAAc,CAACP,QAAQ,EAAED,MAAM,CAAC;QACrC;MAEF,KAAK,eAAe;QAClBC,QAAQ,CAACQ,aAAa,CAAC,CAAC;QACxB;MAEF,KAAK,qBAAqB;QACxB,IAAI,CAACC,iBAAiB,CAAC,CAAC;QACxB;MAEF;QACEN,OAAO,CAACO,IAAI,CACV,4CAA4CC,MAAM,CAACb,IAAI,CAAC,GAC1D,CAAC;IACL;EACF;EAEQQ,WAAWA,CAACN,QAAa,EAAED,MAA2B,EAAQ;IACpE,MAAMa,SAAS,GAAGb,MAAM,CAACa,SAA+B;IACxD,MAAMC,eAAe,GAAGd,MAAM,CAACc,eAElB;IAEb,IAAID,SAAS,EAAE;MACbZ,QAAQ,CAACc,KAAK,CAACF,SAAS,EAAEC,eAAe,CAAC;IAC5C;EACF;EAEQN,cAAcA,CAACP,QAAa,EAAED,MAA2B,EAAQ;IACvE,MAAMgB,MAAM,GAAGhB,MAAM,CAACgB,MAA4B;IAClD,MAAMC,cAAc,GAAGjB,MAAM,CAACiB,cAEjB;IAEb,IAAID,MAAM,EAAE;MACVf,QAAQ,CAACiB,QAAQ,CAACF,MAAM,EAAEC,cAAc,CAAC;IAC3C;EACF;EAEQP,iBAAiBA,CAAA,EAAS;IAChC,MAAMtB,wBAAwB,GAAG,IAAI,CAACG,2BAA2B,CAAC,CAAC;IAEnE,MAAM4B,MAAM,GAAG;AACnB;AACA;AACA;AACA;AACA,0BAA0BjC,WAAW;AACrC,uBAAuBD,QAAQ,CAACmC,EAAE;AAClC;AACA;AACA,KAAK;IAEDhC,wBAAwB,CAAC+B,MAAM,CAAC;EAClC;AACF;AAEA,MAAME,iBAAiB,GAAG,IAAIlC,sBAAsB,CAAC,CAAC;AAEtD,eAAekC,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["Platform","SDK_VERSION","marketapPlugin","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","require","default","log","stringify","handleTrack","handleIdentify","resetIdentity","handleBridgeCheck","handleInAppImpression","handleInAppClick","handleInAppHide","handleInAppTrack","handleInAppSetUserProperties","showInAppMessage","campaignJson","messageId","hasCustomClickHandler","campaign","sendCampaignToWeb","script","eventName","eventProperties","setActiveInstance","trackFromWebBridge","instance","userId","userProperties","identify","OS","campaignId","trackInAppImpression","layoutSubType","locationId","url","trackInAppClick","hideType","hideCampaign","track","setUserProperties","sendToActiveWebBridge"],"sourceRoot":"../../src","sources":["MarketapWebBridge.ts"],"mappings":"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","ignoreList":[]}