tagworks-sdk-v1-react 1.1.20 → 1.1.21

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 (40) hide show
  1. package/README.md +664 -138
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/tagworkssdkv1/DataBundleModule.kt +364 -365
  4. package/android/src/main/java/com/tagworkssdkv1/OnCmsBannerViewManager.kt +15 -3
  5. package/android/src/main/java/com/tagworkssdkv1/TagWorks.kt +37 -0
  6. package/android/src/main/java/com/tagworkssdkv1/TagWorksDeeplinkModule.kt +117 -0
  7. package/android/src/main/java/com/tagworkssdkv1/TagWorksModule.kt +402 -373
  8. package/android/src/main/java/com/tagworkssdkv1/TagWorksPopupModule.kt +22 -26
  9. package/android/src/main/java/com/tagworkssdkv1/TagworksSdkV1Package.kt +2 -1
  10. package/ios/OnCmsBannerViewManager.swift +5 -4
  11. package/ios/TagWorksDeeplinkModule.swift +64 -0
  12. package/ios/TagWorksDeeplinkModuleBridge.m +53 -0
  13. package/ios/TagWorksModule.swift +68 -18
  14. package/ios/TagWorksModuleBridge.m +15 -1
  15. package/ios/TagWorksPopupModule.swift +9 -3
  16. package/lib/commonjs/TagWorksDeeplink.js +48 -0
  17. package/lib/commonjs/TagWorksDeeplink.js.map +1 -0
  18. package/lib/commonjs/index.js +20 -8
  19. package/lib/commonjs/index.js.map +1 -1
  20. package/lib/module/TagWorksDeeplink.js +44 -0
  21. package/lib/module/TagWorksDeeplink.js.map +1 -0
  22. package/lib/module/index.js +10 -8
  23. package/lib/module/index.js.map +1 -1
  24. package/lib/typescript/commonjs/babel.config.d.ts +2 -0
  25. package/lib/typescript/commonjs/babel.config.d.ts.map +1 -0
  26. package/lib/typescript/commonjs/src/TagWorksDeeplink.d.ts +23 -0
  27. package/lib/typescript/commonjs/src/TagWorksDeeplink.d.ts.map +1 -0
  28. package/lib/typescript/commonjs/src/index.d.ts +8 -3
  29. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  30. package/lib/typescript/module/babel.config.d.ts +2 -0
  31. package/lib/typescript/module/babel.config.d.ts.map +1 -0
  32. package/lib/typescript/module/src/TagWorksDeeplink.d.ts +23 -0
  33. package/lib/typescript/module/src/TagWorksDeeplink.d.ts.map +1 -0
  34. package/lib/typescript/module/src/index.d.ts +8 -3
  35. package/lib/typescript/module/src/index.d.ts.map +1 -1
  36. package/package.json +5 -5
  37. package/src/TagWorksDeeplink.js +45 -0
  38. package/src/{index.tsx → index.js} +10 -5
  39. package/tagworks-sdk-v1-react.podspec +9 -3
  40. package/android/src/main/res/drawable/default_img.png +0 -0
@@ -6,421 +6,420 @@ import com.facebook.react.bridge.ReactApplicationContext
6
6
  import com.facebook.react.bridge.ReactContextBaseJavaModule
7
7
  import com.facebook.react.bridge.ReactMethod
8
8
  import com.obzen.tagworks.TagWorks
9
- import com.obzen.tagworks.data.DataBundle
10
- import com.obzen.tagworks.data.DimensionType
9
+ import com.obzen.tagworks.event.data.DataBundle
10
+ import com.obzen.tagworks.event.data.DimensionType
11
11
  import com.obzen.tagworks.util.Logger
12
12
  import org.json.JSONArray
13
13
  import org.json.JSONObject
14
14
 
15
15
  class DataBundleModule(context: ReactApplicationContext):ReactContextBaseJavaModule(context) {
16
16
 
17
- private var eventData= DataBundle()
18
-
19
- override fun getName(): String {
20
- return "DataBundleModule"
21
- }
22
-
23
- /**
24
- * DataBundle 초기화 함수
25
- */
26
- @ReactMethod
27
- override fun initialize() {
28
- super.initialize()
29
- eventData.dataBundle.clear()
30
- eventData.dimensions.clear()
31
- eventData.dynamicDimensions.clear()
32
- }
33
-
34
- @ReactMethod
35
- fun initDataBundle(jsonString: String?) {
36
- initialize()
37
- Logger.d(TAG, "DataBundle initialize from : $jsonString")
38
-
39
- try {
40
- val jsonObject = JSONObject(jsonString)
41
-
42
- val dataDictionary = jsonObject.optJSONObject("dataDictionary")
43
- if (dataDictionary != null) {
44
- val keys = dataDictionary.keys()
45
- while (keys.hasNext()) {
46
- val key = keys.next()
47
- val value = dataDictionary.getString(key)
48
- eventData.dataBundle.putString(key,value)
49
- }
50
- }
51
-
52
- val eventDimensions = jsonObject.optJSONArray("eventDimensions")
53
- if (eventDimensions != null) {
54
- for (i in 0 until eventDimensions.length()) {
55
- val dimensionObject = eventDimensions.getJSONObject(i)
56
-
57
- val general = dimensionObject.optJSONObject("General")
58
- if (general != null) {
59
- val keys = general.keys()
60
- while (keys.hasNext()) {
61
- val key = keys.next()
62
- val value = general.getString(key)
63
- if(TagWorks.getInstance().isUseDynamicParameter) {
64
- eventData.setDynamicDimension(key,value)
65
- } else {
66
- eventData.setDimension(key.toInt(),value)
67
- }
17
+ private var eventData= DataBundle()
18
+
19
+ override fun getName(): String {
20
+ return "DataBundleModule"
21
+ }
22
+
23
+ /**
24
+ * DataBundle 초기화 함수
25
+ */
26
+ @ReactMethod
27
+ override fun initialize() {
28
+ super.initialize()
29
+ eventData.dataBundle.clear()
30
+ eventData.dimensions.clear()
31
+ eventData.dynamicDimensions.clear()
32
+ }
33
+
34
+ @ReactMethod
35
+ fun initDataBundle(jsonString: String?) {
36
+ initialize()
37
+
38
+ try {
39
+ val jsonObject = JSONObject(jsonString)
40
+
41
+ val dataDictionary = jsonObject.optJSONObject("dataDictionary")
42
+ if (dataDictionary != null) {
43
+ val keys = dataDictionary.keys()
44
+ while (keys.hasNext()) {
45
+ val key = keys.next()
46
+ val value = dataDictionary.getString(key)
47
+ eventData.dataBundle.putString(key,value)
48
+ }
68
49
  }
69
- }
70
-
71
- val fact = dimensionObject.optJSONObject("Fact")
72
- if (fact != null) {
73
- val keys = fact.keys()
74
- while (keys.hasNext()) {
75
- val key = keys.next()
76
- val value = fact.getString(key)
77
- if(TagWorks.getInstance().isUseDynamicParameter) {
78
- eventData.setDynamicDimension(key,value.toDouble())
79
- } else {
80
- eventData.setDimension(key.toInt(),value.toDouble())
81
- }
50
+
51
+ val eventDimensions = jsonObject.optJSONArray("eventDimensions")
52
+ if (eventDimensions != null) {
53
+ for (i in 0 until eventDimensions.length()) {
54
+ val dimensionObject = eventDimensions.getJSONObject(i)
55
+
56
+ val general = dimensionObject.optJSONObject("General")
57
+ if (general != null) {
58
+ val keys = general.keys()
59
+ while (keys.hasNext()) {
60
+ val key = keys.next()
61
+ val value = general.getString(key)
62
+ if(TagWorks.getInstance().isUseDynamicParameter) {
63
+ eventData.setDynamicDimension(key,value)
64
+ } else {
65
+ eventData.setDimension(key.toInt(),value)
66
+ }
67
+ }
68
+ }
69
+
70
+ val fact = dimensionObject.optJSONObject("Fact")
71
+ if (fact != null) {
72
+ val keys = fact.keys()
73
+ while (keys.hasNext()) {
74
+ val key = keys.next()
75
+ val value = fact.getString(key)
76
+ if(TagWorks.getInstance().isUseDynamicParameter) {
77
+ eventData.setDynamicDimension(key,value.toDouble())
78
+ } else {
79
+ eventData.setDimension(key.toInt(),value.toDouble())
80
+ }
81
+ }
82
+ }
83
+
84
+ }
82
85
  }
83
- }
86
+ }catch (e: Exception) {
87
+ e.printStackTrace()
88
+ println("Error parsing JSON: ${e.message}")
89
+ }
90
+
91
+ }
92
+ /**
93
+ * DataBundle putString() 함수 - 개별
94
+ */
95
+ @ReactMethod
96
+ fun putString(key:String,value:String){
97
+ eventData.dataBundle.putString(key,value)
98
+ }
99
+
100
+
101
+ @ReactMethod
102
+ fun getDataBundle(callback: Callback) {
103
+ val mDataBundle = Arguments.createMap()
104
+
105
+ val dimensionsArray = Arguments.createArray()
106
+
107
+ for (dimension in eventData.dimensions) {
108
+ val dimensionMap = Arguments.createMap()
109
+ dimensionMap.putInt("index",dimension.index)
110
+ dimensionMap.putString("type",dimension.type.name)
111
+ if (dimension.type == DimensionType.GENERAL_TYPE) dimensionMap.putString("value",dimension.value)
112
+ else dimensionMap.putDouble("numValue",dimension.numValue)
113
+
114
+ dimensionsArray.pushMap(dimensionMap)
115
+ }
116
+
117
+ for (dimension in eventData.dynamicDimensions) {
118
+ val dimensionMap = Arguments.createMap()
119
+ dimensionMap.putString("key",dimension.key)
120
+ dimensionMap.putString("type",dimension.type.name)
121
+ if(dimension.type == DimensionType.GENERAL_TYPE) dimensionMap.putString("value",dimension.value)
122
+ else dimensionMap.putDouble("numValue",dimension.numValue)
123
+
124
+ dimensionsArray.pushMap(dimensionMap)
125
+ }
126
+
127
+ mDataBundle.putArray("dimensions", dimensionsArray)
84
128
 
129
+ val bundleMap = Arguments.createMap()
130
+ for (key in eventData.dataBundle.keySet()) {
131
+ bundleMap.putString(key, eventData.dataBundle.get(key) as String)
85
132
  }
86
- }
87
- }catch (e: Exception) {
88
- e.printStackTrace()
89
- println("Error parsing JSON: ${e.message}")
133
+ mDataBundle.putMap("dataBundle", bundleMap)
134
+ callback.invoke(mDataBundle)
90
135
  }
91
136
 
92
- }
93
- /**
94
- * DataBundle putString() 함수 - 개별
95
- */
96
- @ReactMethod
97
- fun putString(key:String,value:String){
98
- eventData.dataBundle.putString(key,value)
99
- }
137
+ /**
138
+ * dimension 설정
139
+ */
100
140
 
141
+ @ReactMethod
142
+ fun putDimensionWithString(index: Int, value: String) {
143
+ eventData.setDimension(index, value)
144
+ }
145
+
146
+ @ReactMethod
147
+ fun putDimensionWithDouble(index: Int, value: Double) {
148
+ eventData.setDimension(index, value)
149
+ }
150
+
151
+ @ReactMethod
152
+ fun putDynamicDimensionWithString(key: String, value: String) {
153
+ eventData.setDynamicDimension(key, value)
154
+ }
155
+
156
+ @ReactMethod
157
+ fun putDynamicDimensionWithDouble(key: String, numValue:Double) {
158
+ eventData.setDynamicDimension(key, numValue)
159
+ }
160
+
161
+
162
+ @ReactMethod
163
+ fun getDimensions(callback: Callback) {
164
+ try {
165
+
166
+ val generalDimensions = JSONObject()
167
+ val factDimensions = JSONObject()
101
168
 
102
- @ReactMethod
103
- fun getDataBundle(callback: Callback) {
104
- val mDataBundle = Arguments.createMap()
169
+ eventData.dimensions.forEach { dimension ->
170
+ when (dimension.type) {
171
+ DimensionType.GENERAL_TYPE -> generalDimensions.put(dimension.index.toString(),dimension.value)
172
+ DimensionType.FACT_TYPE -> factDimensions.put(dimension.index.toString(),dimension.numValue)
173
+ }
174
+ }
175
+
176
+ eventData.dynamicDimensions.forEach { dimension ->
177
+ when(dimension.type) {
178
+ DimensionType.GENERAL_TYPE ->generalDimensions.put(dimension.key,dimension.value)
179
+ DimensionType.FACT_TYPE -> factDimensions.put(dimension.key,dimension.numValue)
180
+ }
181
+ }
182
+
183
+ val generalWrapper = JSONObject().apply {
184
+ put("General", generalDimensions)
185
+ }
105
186
 
106
- val dimensionsArray = Arguments.createArray()
187
+ val factWrapper = JSONObject().apply {
188
+ put("Fact", factDimensions)
189
+ }
107
190
 
108
- for (dimension in eventData.dimensions) {
109
- val dimensionMap = Arguments.createMap()
110
- dimensionMap.putInt("index",dimension.index)
111
- dimensionMap.putString("type",dimension.type.name)
112
- if (dimension.type == DimensionType.GENERAL_TYPE) dimensionMap.putString("value",dimension.value)
113
- else dimensionMap.putDouble("numValue",dimension.numValue)
191
+ val dimensionsArray = JSONArray().apply {
192
+ put(generalWrapper)
193
+ put(factWrapper)
194
+ }
114
195
 
115
- dimensionsArray.pushMap(dimensionMap)
196
+ val result = JSONObject().apply {
197
+ put("Dimensions", dimensionsArray)
198
+ }
199
+
200
+ val jsonString = result.toString(4)
201
+ callback.invoke(jsonString)
202
+ } catch (e: Exception) {
203
+ e.printStackTrace()
204
+ callback.invoke(null)
205
+ }
116
206
  }
117
207
 
118
- for (dimension in eventData.dynamicDimensions) {
119
- val dimensionMap = Arguments.createMap()
120
- dimensionMap.putString("key",dimension.key)
121
- dimensionMap.putString("type",dimension.type.name)
122
- if(dimension.type == DimensionType.GENERAL_TYPE) dimensionMap.putString("value",dimension.value)
123
- else dimensionMap.putDouble("numValue",dimension.numValue)
208
+ @ReactMethod
209
+ fun getDynamicDimensions(callback: Callback){
210
+ try {
124
211
 
125
- dimensionsArray.pushMap(dimensionMap)
212
+ val generalDimensions = JSONObject()
213
+ val factDimensions = JSONObject()
214
+
215
+ eventData.dimensions.forEach { dimension ->
216
+ when (dimension.type) {
217
+ DimensionType.GENERAL_TYPE -> generalDimensions.put(dimension.index.toString(),dimension.value)
218
+ DimensionType.FACT_TYPE -> factDimensions.put(dimension.index.toString(),dimension.numValue)
219
+ }
220
+ }
221
+
222
+ eventData.dynamicDimensions.forEach { dimension ->
223
+ when(dimension.type) {
224
+ DimensionType.GENERAL_TYPE ->generalDimensions.put(dimension.key,dimension.value)
225
+ DimensionType.FACT_TYPE -> factDimensions.put(dimension.key,dimension.numValue)
226
+ }
227
+ }
228
+
229
+ val generalWrapper = JSONObject().apply {
230
+ put("General", generalDimensions)
231
+ }
232
+
233
+ val factWrapper = JSONObject().apply {
234
+ put("Fact", factDimensions)
235
+ }
236
+
237
+ val dimensionsArray = JSONArray().apply {
238
+ put(generalWrapper)
239
+ put(factWrapper)
240
+ }
241
+
242
+ val result = JSONObject().apply {
243
+ put("Dimensions", dimensionsArray)
244
+ }
245
+
246
+ val jsonString = result.toString(4)
247
+ callback.invoke(jsonString)
248
+ } catch (e: Exception) {
249
+ e.printStackTrace()
250
+ callback.invoke(null)
251
+ }
126
252
  }
127
253
 
128
- mDataBundle.putArray("dimensions", dimensionsArray)
254
+ @ReactMethod
255
+ fun getDimensionsOfArrayIndex(callback: Callback) {
256
+ try {
257
+ val dimensions = JSONArray()
258
+
259
+ eventData.dimensions.forEach { dimension ->
260
+ val dimensionObject = JSONObject()
261
+ if (dimension.type == DimensionType.FACT_TYPE) {
262
+ dimensionObject.put("Fact_${dimension.index}",dimension.numValue)
263
+ } else if (dimension.type == DimensionType.GENERAL_TYPE) {
264
+ dimensionObject.put("General_${dimension.index}",dimension.value)
265
+ }
266
+ dimensions.put(dimensionObject)
267
+ }
129
268
 
130
- val bundleMap = Arguments.createMap()
131
- for (key in eventData.dataBundle.keySet()) {
132
- bundleMap.putString(key, eventData.dataBundle.get(key) as String)
269
+ val jsonString = dimensions.toString(4)
270
+ callback.invoke(jsonString)
271
+ } catch (e:Exception) {
272
+ callback.invoke(null)
273
+ }
133
274
  }
134
- mDataBundle.putMap("dataBundle", bundleMap)
135
- callback.invoke(mDataBundle)
136
- }
137
-
138
- /**
139
- * dimension 설정
140
- */
141
-
142
- @ReactMethod
143
- fun putDimensionWithString(index: Int, value: String) {
144
- eventData.setDimension(index, value)
145
- }
146
-
147
- @ReactMethod
148
- fun putDimensionWithDouble(index: Int, value: Double) {
149
- eventData.setDimension(index, value)
150
- }
151
-
152
- @ReactMethod
153
- fun putDynamicDimensionWithString(key: String, value: String) {
154
- eventData.setDynamicDimension(key, value)
155
- }
156
-
157
- @ReactMethod
158
- fun putDynamicDimensionWithDouble(key: String, numValue:Double) {
159
- eventData.setDynamicDimension(key, numValue)
160
- }
161
-
162
-
163
- @ReactMethod
164
- fun getDimensions(callback: Callback) {
165
- try {
166
-
167
- val generalDimensions = JSONObject()
168
- val factDimensions = JSONObject()
169
-
170
- eventData.dimensions.forEach { dimension ->
171
- when (dimension.type) {
172
- DimensionType.GENERAL_TYPE -> generalDimensions.put(dimension.index.toString(),dimension.value)
173
- DimensionType.FACT_TYPE -> factDimensions.put(dimension.index.toString(),dimension.numValue)
275
+
276
+ @ReactMethod
277
+ fun getDimensionWithString(index: Int, callback: Callback) {
278
+ val mDimension = eventData.dimensions.firstOrNull { it.type == DimensionType.GENERAL_TYPE && it.index == index }
279
+
280
+ if (mDimension != null) {
281
+ callback.invoke(mDimension.value)
282
+ } else {
283
+ callback.invoke(null)
174
284
  }
175
- }
285
+ }
286
+
287
+ @ReactMethod
288
+ fun getDimensionWithDouble(index: Int, callback: Callback) {
289
+ val mDimension = eventData.dimensions.firstOrNull { it.type == DimensionType.FACT_TYPE && it.index == index }
176
290
 
177
- eventData.dynamicDimensions.forEach { dimension ->
178
- when(dimension.type) {
179
- DimensionType.GENERAL_TYPE ->generalDimensions.put(dimension.key,dimension.value)
180
- DimensionType.FACT_TYPE -> factDimensions.put(dimension.key,dimension.numValue)
291
+ if (mDimension != null) {
292
+ callback.invoke(mDimension.numValue)
293
+ } else {
294
+ callback.invoke(null)
181
295
  }
182
- }
183
-
184
- val generalWrapper = JSONObject().apply {
185
- put("General", generalDimensions)
186
- }
187
-
188
- val factWrapper = JSONObject().apply {
189
- put("Fact", factDimensions)
190
- }
191
-
192
- val dimensionsArray = JSONArray().apply {
193
- put(generalWrapper)
194
- put(factWrapper)
195
- }
196
-
197
- val result = JSONObject().apply {
198
- put("Dimensions", dimensionsArray)
199
- }
200
-
201
- val jsonString = result.toString(4)
202
- callback.invoke(jsonString)
203
- } catch (e: Exception) {
204
- e.printStackTrace()
205
- callback.invoke(null)
206
296
  }
207
- }
208
297
 
209
- @ReactMethod
210
- fun getDynamicDimensions(callback: Callback){
211
- try {
298
+ @ReactMethod
299
+ fun getDynamicDimension(key: String,callback: Callback) {
300
+ val mDimension = eventData.dynamicDimensions.firstOrNull { it.key == key }
212
301
 
213
- val generalDimensions = JSONObject()
214
- val factDimensions = JSONObject()
302
+ if(mDimension != null) {
303
+ callback.invoke(if(mDimension.type== DimensionType.GENERAL_TYPE)mDimension.value else mDimension.numValue)
304
+ } else {
305
+ callback.invoke(null)
306
+ }
307
+ }
215
308
 
216
- eventData.dimensions.forEach { dimension ->
217
- when (dimension.type) {
218
- DimensionType.GENERAL_TYPE -> generalDimensions.put(dimension.index.toString(),dimension.value)
219
- DimensionType.FACT_TYPE -> factDimensions.put(dimension.index.toString(),dimension.numValue)
309
+ @ReactMethod
310
+ fun getDynamicDimensionsOfArrayIndex(callback: Callback) {
311
+ try {
312
+ val dimensions = JSONArray()
313
+
314
+ eventData.dynamicDimensions.forEach {
315
+ dimension ->
316
+ val dimensionObject = JSONObject()
317
+ if (dimension.type == DimensionType.GENERAL_TYPE) {
318
+ dimensionObject.put(dimension.key,dimension.value)
319
+ }else{
320
+ dimensionObject.put(dimension.key,dimension.numValue)
321
+ }
322
+ dimensions.put(dimensionObject)
323
+ }
324
+
325
+ val jsonString = dimensions.toString(4)
326
+ callback.invoke(jsonString)
327
+ } catch (e:Exception) {
328
+ callback.invoke(null)
220
329
  }
221
- }
330
+ }
222
331
 
223
- eventData.dynamicDimensions.forEach { dimension ->
224
- when(dimension.type) {
225
- DimensionType.GENERAL_TYPE ->generalDimensions.put(dimension.key,dimension.value)
226
- DimensionType.FACT_TYPE -> factDimensions.put(dimension.key,dimension.numValue)
332
+ /**
333
+ * Dimension 삭제
334
+ */
335
+
336
+ @ReactMethod
337
+ fun removeDimensionInGeneralType(index: Int) {
338
+ val iterator = this.eventData.dimensions.iterator()
339
+ while (iterator.hasNext()) {
340
+ val dimension = iterator.next()
341
+ if (dimension.type == DimensionType.GENERAL_TYPE && dimension.index == index) {
342
+ iterator.remove()
343
+ }
227
344
  }
228
- }
229
-
230
- val generalWrapper = JSONObject().apply {
231
- put("General", generalDimensions)
232
- }
233
-
234
- val factWrapper = JSONObject().apply {
235
- put("Fact", factDimensions)
236
- }
237
-
238
- val dimensionsArray = JSONArray().apply {
239
- put(generalWrapper)
240
- put(factWrapper)
241
- }
242
-
243
- val result = JSONObject().apply {
244
- put("Dimensions", dimensionsArray)
245
- }
246
-
247
- val jsonString = result.toString(4)
248
- callback.invoke(jsonString)
249
- } catch (e: Exception) {
250
- e.printStackTrace()
251
- callback.invoke(null)
252
345
  }
253
- }
254
-
255
- @ReactMethod
256
- fun getDimensionsOfArrayIndex(callback: Callback) {
257
- try {
258
- val dimensions = JSONArray()
259
-
260
- eventData.dimensions.forEach { dimension ->
261
- val dimensionObject = JSONObject()
262
- if (dimension.type == DimensionType.FACT_TYPE) {
263
- dimensionObject.put("Fact_${dimension.index}",dimension.numValue)
264
- } else if (dimension.type == DimensionType.GENERAL_TYPE) {
265
- dimensionObject.put("General_${dimension.index}",dimension.value)
346
+
347
+ @ReactMethod
348
+ fun removeDimensionInFactType(index: Int) {
349
+ val iterator = this.eventData.dimensions.iterator()
350
+ while (iterator.hasNext()) {
351
+ val dimension = iterator.next()
352
+ if (dimension.type == DimensionType.FACT_TYPE && dimension.index == index) {
353
+ iterator.remove()
354
+ }
266
355
  }
267
- dimensions.put(dimensionObject)
268
- }
356
+ }
269
357
 
270
- val jsonString = dimensions.toString(4)
271
- callback.invoke(jsonString)
272
- } catch (e:Exception) {
273
- callback.invoke(null)
358
+ @ReactMethod
359
+ fun removeDynamicDimension(key: String) {
360
+ val iterator = this.eventData.dynamicDimensions.iterator()
361
+ while (iterator.hasNext()) {
362
+ if (iterator.next().key == key) {
363
+ iterator.remove()
364
+ }
365
+ }
274
366
  }
275
- }
276
367
 
277
- @ReactMethod
278
- fun getDimensionWithString(index: Int, callback: Callback) {
279
- val mDimension = eventData.dimensions.firstOrNull { it.type == DimensionType.GENERAL_TYPE && it.index == index }
368
+ @ReactMethod
369
+ fun removeDimensionWithArrayIndex(arrayIndex: Int) {
370
+ this.eventData.dimensions.removeAt(arrayIndex)
371
+ }
280
372
 
281
- if (mDimension != null) {
282
- callback.invoke(mDimension.value)
283
- } else {
284
- callback.invoke(null)
373
+ @ReactMethod
374
+ fun removeDynamicDimensionWithArrayIndex(arrayIndex: Int) {
375
+ this.eventData.dynamicDimensions.removeAt(arrayIndex)
285
376
  }
286
- }
287
377
 
288
- @ReactMethod
289
- fun getDimensionWithDouble(index: Int, callback: Callback) {
290
- val mDimension = eventData.dimensions.firstOrNull { it.type == DimensionType.FACT_TYPE && it.index == index }
378
+ @ReactMethod
379
+ fun removeAllDimension() {
380
+ this.eventData.dimensions.clear()
381
+ this.eventData.dynamicDimensions.clear()
382
+ }
291
383
 
292
- if (mDimension != null) {
293
- callback.invoke(mDimension.numValue)
294
- } else {
295
- callback.invoke(null)
384
+ @ReactMethod
385
+ fun removeAllDynamicDimension() {
386
+ this.eventData.dimensions.clear()
387
+ this.eventData.dynamicDimensions.clear()
296
388
  }
297
- }
298
389
 
299
- @ReactMethod
300
- fun getDynamicDimension(key: String,callback: Callback) {
301
- val mDimension = eventData.dynamicDimensions.firstOrNull { it.key == key }
302
390
 
303
- if(mDimension != null) {
304
- callback.invoke(if(mDimension.type==DimensionType.GENERAL_TYPE)mDimension.value else mDimension.numValue)
305
- } else {
306
- callback.invoke(null)
391
+ @ReactMethod
392
+ fun isParameterEmpty(callback: Callback) {
393
+ callback.invoke(this.eventData.dataBundle.isEmpty)
394
+ }
395
+
396
+ @ReactMethod
397
+ fun isDimensionEmpty(callback: Callback) {
398
+ callback.invoke(this.eventData.dimensions.isEmpty() && this.eventData.dynamicDimensions.isEmpty())
307
399
  }
308
- }
309
-
310
- @ReactMethod
311
- fun getDynamicDimensionsOfArrayIndex(callback: Callback) {
312
- try {
313
- val dimensions = JSONArray()
314
-
315
- eventData.dynamicDimensions.forEach {
316
- dimension ->
317
- val dimensionObject = JSONObject()
318
- if (dimension.type == DimensionType.GENERAL_TYPE) {
319
- dimensionObject.put(dimension.key,dimension.value)
320
- }else{
321
- dimensionObject.put(dimension.key,dimension.numValue)
322
- }
323
- dimensions.put(dimensionObject)
324
- }
325
400
 
326
- val jsonString = dimensions.toString(4)
327
- callback.invoke(jsonString)
328
- } catch (e:Exception) {
329
- callback.invoke(null)
401
+ @ReactMethod
402
+ fun parameterCount(callback: Callback) {
403
+ callback.invoke(this.eventData.dataBundle.size())
330
404
  }
331
- }
332
-
333
- /**
334
- * Dimension 삭제
335
- */
336
-
337
- @ReactMethod
338
- fun removeDimensionInGeneralType(index: Int) {
339
- val iterator = this.eventData.dimensions.iterator()
340
- while (iterator.hasNext()) {
341
- val dimension = iterator.next()
342
- if (dimension.type == DimensionType.GENERAL_TYPE && dimension.index == index) {
343
- iterator.remove()
344
- }
405
+
406
+ @ReactMethod
407
+ fun dimensionCount(callback: Callback) {
408
+ callback.invoke(this.eventData.dimensions.size+this.eventData.dynamicDimensions.size)
345
409
  }
346
- }
347
-
348
- @ReactMethod
349
- fun removeDimensionInFactType(index: Int) {
350
- val iterator = this.eventData.dimensions.iterator()
351
- while (iterator.hasNext()) {
352
- val dimension = iterator.next()
353
- if (dimension.type == DimensionType.FACT_TYPE && dimension.index == index) {
354
- iterator.remove()
355
- }
410
+
411
+
412
+ override fun getConstants(): MutableMap<String, Any> {
413
+ return mutableMapOf(
414
+ "EVENT_TAG_NAME" to DataBundle.EVENT_TAG_NAME,
415
+ "EVENT_TAG_PARAM_PAGE_PATH" to DataBundle.EVENT_TAG_PARAM_PAGE_PATH,
416
+ "EVENT_TAG_PARAM_TITLE" to DataBundle.EVENT_TAG_PARAM_TITLE,
417
+ "EVENT_TAG_PARAM_KEYWORD" to DataBundle.EVENT_TAG_PARAM_KEYWORD,
418
+ "EVENT_TAG_PARAM_CUSTOM_PATH" to DataBundle.EVENT_TAG_PARAM_CUSTOM_PATH
419
+ )
356
420
  }
357
- }
358
-
359
- @ReactMethod
360
- fun removeDynamicDimension(key: String) {
361
- val iterator = this.eventData.dynamicDimensions.iterator()
362
- while (iterator.hasNext()) {
363
- if (iterator.next().key == key) {
364
- iterator.remove()
365
- }
421
+
422
+ companion object{
423
+ const val TAG="DataBundleModule"
366
424
  }
367
- }
368
-
369
- @ReactMethod
370
- fun removeDimensionWithArrayIndex(arrayIndex: Int) {
371
- this.eventData.dimensions.removeAt(arrayIndex)
372
- }
373
-
374
- @ReactMethod
375
- fun removeDynamicDimensionWithArrayIndex(arrayIndex: Int) {
376
- this.eventData.dynamicDimensions.removeAt(arrayIndex)
377
- }
378
-
379
- @ReactMethod
380
- fun removeAllDimension() {
381
- this.eventData.dimensions.clear()
382
- this.eventData.dynamicDimensions.clear()
383
- }
384
-
385
- @ReactMethod
386
- fun removeAllDynamicDimension() {
387
- this.eventData.dimensions.clear()
388
- this.eventData.dynamicDimensions.clear()
389
- }
390
-
391
-
392
- @ReactMethod
393
- fun isParameterEmpty(callback: Callback) {
394
- callback.invoke(this.eventData.dataBundle.isEmpty)
395
- }
396
-
397
- @ReactMethod
398
- fun isDimensionEmpty(callback: Callback) {
399
- callback.invoke(this.eventData.dimensions.isEmpty() && this.eventData.dynamicDimensions.isEmpty())
400
- }
401
-
402
- @ReactMethod
403
- fun parameterCount(callback: Callback) {
404
- callback.invoke(this.eventData.dataBundle.size())
405
- }
406
-
407
- @ReactMethod
408
- fun dimensionCount(callback: Callback) {
409
- callback.invoke(this.eventData.dimensions.size+this.eventData.dynamicDimensions.size)
410
- }
411
-
412
-
413
- override fun getConstants(): MutableMap<String, Any> {
414
- return mutableMapOf(
415
- "EVENT_TAG_NAME" to DataBundle.EVENT_TAG_NAME,
416
- "EVENT_TAG_PARAM_PAGE_PATH" to DataBundle.EVENT_TAG_PARAM_PAGE_PATH,
417
- "EVENT_TAG_PARAM_TITLE" to DataBundle.EVENT_TAG_PARAM_TITLE,
418
- "EVENT_TAG_PARAM_KEYWORD" to DataBundle.EVENT_TAG_PARAM_KEYWORD,
419
- "EVENT_TAG_PARAM_CUSTOM_PATH" to DataBundle.EVENT_TAG_PARAM_CUSTOM_PATH
420
- )
421
- }
422
-
423
- companion object{
424
- const val TAG="DataBundleModule"
425
- }
426
425
  }