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.
- package/README.md +664 -138
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/tagworkssdkv1/DataBundleModule.kt +364 -365
- package/android/src/main/java/com/tagworkssdkv1/OnCmsBannerViewManager.kt +15 -3
- package/android/src/main/java/com/tagworkssdkv1/TagWorks.kt +37 -0
- package/android/src/main/java/com/tagworkssdkv1/TagWorksDeeplinkModule.kt +117 -0
- package/android/src/main/java/com/tagworkssdkv1/TagWorksModule.kt +402 -373
- package/android/src/main/java/com/tagworkssdkv1/TagWorksPopupModule.kt +22 -26
- package/android/src/main/java/com/tagworkssdkv1/TagworksSdkV1Package.kt +2 -1
- package/ios/OnCmsBannerViewManager.swift +5 -4
- package/ios/TagWorksDeeplinkModule.swift +64 -0
- package/ios/TagWorksDeeplinkModuleBridge.m +53 -0
- package/ios/TagWorksModule.swift +68 -18
- package/ios/TagWorksModuleBridge.m +15 -1
- package/ios/TagWorksPopupModule.swift +9 -3
- package/lib/commonjs/TagWorksDeeplink.js +48 -0
- package/lib/commonjs/TagWorksDeeplink.js.map +1 -0
- package/lib/commonjs/index.js +20 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/TagWorksDeeplink.js +44 -0
- package/lib/module/TagWorksDeeplink.js.map +1 -0
- package/lib/module/index.js +10 -8
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/babel.config.d.ts +2 -0
- package/lib/typescript/commonjs/babel.config.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/TagWorksDeeplink.d.ts +23 -0
- package/lib/typescript/commonjs/src/TagWorksDeeplink.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +8 -3
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/babel.config.d.ts +2 -0
- package/lib/typescript/module/babel.config.d.ts.map +1 -0
- package/lib/typescript/module/src/TagWorksDeeplink.d.ts +23 -0
- package/lib/typescript/module/src/TagWorksDeeplink.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +8 -3
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/TagWorksDeeplink.js +45 -0
- package/src/{index.tsx → index.js} +10 -5
- package/tagworks-sdk-v1-react.podspec +9 -3
- 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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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
|
-
|
|
187
|
+
val factWrapper = JSONObject().apply {
|
|
188
|
+
put("Fact", factDimensions)
|
|
189
|
+
}
|
|
107
190
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
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
|
-
|
|
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
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
131
|
-
|
|
132
|
-
|
|
269
|
+
val jsonString = dimensions.toString(4)
|
|
270
|
+
callback.invoke(jsonString)
|
|
271
|
+
} catch (e:Exception) {
|
|
272
|
+
callback.invoke(null)
|
|
273
|
+
}
|
|
133
274
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
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
|
-
|
|
210
|
-
|
|
211
|
-
|
|
298
|
+
@ReactMethod
|
|
299
|
+
fun getDynamicDimension(key: String,callback: Callback) {
|
|
300
|
+
val mDimension = eventData.dynamicDimensions.firstOrNull { it.key == key }
|
|
212
301
|
|
|
213
|
-
|
|
214
|
-
|
|
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
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
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
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
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
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
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
|
-
|
|
268
|
-
}
|
|
356
|
+
}
|
|
269
357
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
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
|
-
|
|
278
|
-
|
|
279
|
-
|
|
368
|
+
@ReactMethod
|
|
369
|
+
fun removeDimensionWithArrayIndex(arrayIndex: Int) {
|
|
370
|
+
this.eventData.dimensions.removeAt(arrayIndex)
|
|
371
|
+
}
|
|
280
372
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
callback.invoke(null)
|
|
373
|
+
@ReactMethod
|
|
374
|
+
fun removeDynamicDimensionWithArrayIndex(arrayIndex: Int) {
|
|
375
|
+
this.eventData.dynamicDimensions.removeAt(arrayIndex)
|
|
285
376
|
}
|
|
286
|
-
}
|
|
287
377
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
378
|
+
@ReactMethod
|
|
379
|
+
fun removeAllDimension() {
|
|
380
|
+
this.eventData.dimensions.clear()
|
|
381
|
+
this.eventData.dynamicDimensions.clear()
|
|
382
|
+
}
|
|
291
383
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
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
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
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
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
callback.invoke(null)
|
|
401
|
+
@ReactMethod
|
|
402
|
+
fun parameterCount(callback: Callback) {
|
|
403
|
+
callback.invoke(this.eventData.dataBundle.size())
|
|
330
404
|
}
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
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
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
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
|
-
|
|
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
|
}
|