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