tagworks-sdk-v1-react 1.1.18 → 1.1.20
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/android/build.gradle +1 -1
- package/android/src/main/java/com/tagworkssdkv1/DataBundleModule.kt +58 -3
- package/android/src/main/java/com/tagworkssdkv1/OnCmsBannerViewManager.kt +71 -0
- package/android/src/main/java/com/tagworkssdkv1/TagWorksModule.kt +49 -1
- package/android/src/main/java/com/tagworkssdkv1/TagWorksPopupModule.kt +60 -0
- package/android/src/main/java/com/tagworkssdkv1/TagworksSdkV1Package.kt +6 -4
- package/android/src/main/res/drawable/default_img.png +0 -0
- package/ios/DataBundleModule.swift +40 -54
- package/ios/DataBundleModuleBridge.m +5 -0
- package/ios/OnCMSBannerViewManagerBridge.m +20 -0
- package/ios/OnCmsBannerViewManager.swift +133 -0
- package/ios/TagWorksModule.swift +5 -24
- package/ios/TagWorksPopupModule.swift +41 -0
- package/ios/TagWorksPopupModuleBridge.m +15 -0
- package/lib/commonjs/index.js +5 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +5 -4
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +3 -2
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +3 -2
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +6 -3
- package/src/index.tsx +4 -3
- package/tagworks-sdk-v1-react.podspec +2 -2
package/android/build.gradle
CHANGED
|
@@ -100,6 +100,6 @@ dependencies {
|
|
|
100
100
|
implementation "com.facebook.react:react-native:+"
|
|
101
101
|
// implementation "com.facebook.react:react-android:0.71.0"
|
|
102
102
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
103
|
-
implementation "com.obzen.tagworks:tagworks-v1-kotlin:1.1.
|
|
103
|
+
implementation "com.obzen.tagworks:tagworks-v1-kotlin:1.1.27"
|
|
104
104
|
}
|
|
105
105
|
|
|
@@ -5,13 +5,13 @@ import com.facebook.react.bridge.Callback
|
|
|
5
5
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
6
|
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
7
7
|
import com.facebook.react.bridge.ReactMethod
|
|
8
|
+
import com.obzen.tagworks.TagWorks
|
|
8
9
|
import com.obzen.tagworks.data.DataBundle
|
|
9
10
|
import com.obzen.tagworks.data.DimensionType
|
|
10
11
|
import com.obzen.tagworks.util.Logger
|
|
11
12
|
import org.json.JSONArray
|
|
12
13
|
import org.json.JSONObject
|
|
13
14
|
|
|
14
|
-
|
|
15
15
|
class DataBundleModule(context: ReactApplicationContext):ReactContextBaseJavaModule(context) {
|
|
16
16
|
|
|
17
17
|
private var eventData= DataBundle()
|
|
@@ -28,6 +28,7 @@ class DataBundleModule(context: ReactApplicationContext):ReactContextBaseJavaMod
|
|
|
28
28
|
super.initialize()
|
|
29
29
|
eventData.dataBundle.clear()
|
|
30
30
|
eventData.dimensions.clear()
|
|
31
|
+
eventData.dynamicDimensions.clear()
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
@ReactMethod
|
|
@@ -59,7 +60,11 @@ class DataBundleModule(context: ReactApplicationContext):ReactContextBaseJavaMod
|
|
|
59
60
|
while (keys.hasNext()) {
|
|
60
61
|
val key = keys.next()
|
|
61
62
|
val value = general.getString(key)
|
|
62
|
-
|
|
63
|
+
if(TagWorks.getInstance().isUseDynamicParameter) {
|
|
64
|
+
eventData.setDynamicDimension(key,value)
|
|
65
|
+
} else {
|
|
66
|
+
eventData.setDimension(key.toInt(),value)
|
|
67
|
+
}
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
70
|
|
|
@@ -69,7 +74,11 @@ class DataBundleModule(context: ReactApplicationContext):ReactContextBaseJavaMod
|
|
|
69
74
|
while (keys.hasNext()) {
|
|
70
75
|
val key = keys.next()
|
|
71
76
|
val value = fact.getString(key)
|
|
72
|
-
|
|
77
|
+
if(TagWorks.getInstance().isUseDynamicParameter) {
|
|
78
|
+
eventData.setDynamicDimension(key,value.toDouble())
|
|
79
|
+
} else {
|
|
80
|
+
eventData.setDimension(key.toInt(),value.toDouble())
|
|
81
|
+
}
|
|
73
82
|
}
|
|
74
83
|
}
|
|
75
84
|
|
|
@@ -197,6 +206,52 @@ class DataBundleModule(context: ReactApplicationContext):ReactContextBaseJavaMod
|
|
|
197
206
|
}
|
|
198
207
|
}
|
|
199
208
|
|
|
209
|
+
@ReactMethod
|
|
210
|
+
fun getDynamicDimensions(callback: Callback){
|
|
211
|
+
try {
|
|
212
|
+
|
|
213
|
+
val generalDimensions = JSONObject()
|
|
214
|
+
val factDimensions = JSONObject()
|
|
215
|
+
|
|
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)
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
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)
|
|
227
|
+
}
|
|
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
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
200
255
|
@ReactMethod
|
|
201
256
|
fun getDimensionsOfArrayIndex(callback: Callback) {
|
|
202
257
|
try {
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
package com.tagworkssdkv1
|
|
2
|
+
|
|
3
|
+
import android.util.Log
|
|
4
|
+
import android.widget.FrameLayout
|
|
5
|
+
import com.facebook.react.bridge.ReactContext
|
|
6
|
+
import com.facebook.react.uimanager.SimpleViewManager
|
|
7
|
+
import com.facebook.react.uimanager.ThemedReactContext
|
|
8
|
+
import com.facebook.react.uimanager.annotations.ReactProp
|
|
9
|
+
import com.obzen.tagworks.TagWorksPopup
|
|
10
|
+
|
|
11
|
+
class OnCmsBannerViewManager: SimpleViewManager<FrameLayout>() {
|
|
12
|
+
private var onCmsUrl: String = ""
|
|
13
|
+
private var custId: String? = ""
|
|
14
|
+
private var rcmdAreaCd: String = ""
|
|
15
|
+
private var defaultImage: String = ""
|
|
16
|
+
|
|
17
|
+
override fun createViewInstance(reactContext: ThemedReactContext): FrameLayout {
|
|
18
|
+
val frameLayout= FrameLayout(reactContext)
|
|
19
|
+
|
|
20
|
+
return frameLayout
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@ReactProp(name = "onCmsUrl")
|
|
24
|
+
fun setOnCmsUrl(view: FrameLayout, url: String) {
|
|
25
|
+
onCmsUrl = url
|
|
26
|
+
attachBanner(view)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@ReactProp(name = "rcmd_area_cd")
|
|
30
|
+
fun setRcmdAreaCd(view: FrameLayout, areaCd: String) {
|
|
31
|
+
rcmdAreaCd = areaCd
|
|
32
|
+
attachBanner(view)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@ReactProp(name = "cust_id")
|
|
36
|
+
fun setCustId(view: FrameLayout, id: String?) {
|
|
37
|
+
custId = id
|
|
38
|
+
attachBanner(view)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@ReactProp(name = "defaultImage")
|
|
42
|
+
fun setDefaultImage(view: FrameLayout, image: String) {
|
|
43
|
+
defaultImage = image
|
|
44
|
+
attachBanner(view)
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
private fun attachBanner(container: FrameLayout) {
|
|
48
|
+
// 두 값이 모두 설정되지 않았으면 안 함
|
|
49
|
+
if (onCmsUrl.isEmpty() || rcmdAreaCd.isEmpty()) return
|
|
50
|
+
Log.d("TAG", "attachBanner: attachbanner")
|
|
51
|
+
val context = container.context
|
|
52
|
+
val activity = (context as? ReactContext)?.currentActivity
|
|
53
|
+
|
|
54
|
+
val resId = activity?.resources?.getIdentifier(defaultImage, "drawable", activity.packageName)
|
|
55
|
+
|
|
56
|
+
if (resId != null) {
|
|
57
|
+
TagWorksPopup.onCMSPopupBanner(
|
|
58
|
+
onCmsUrl = onCmsUrl,
|
|
59
|
+
cust_id = custId,
|
|
60
|
+
rcmd_area_cd = rcmdAreaCd,
|
|
61
|
+
context = context,
|
|
62
|
+
bannerView = container,
|
|
63
|
+
defaultImage = resId
|
|
64
|
+
)
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
override fun getName(): String {
|
|
69
|
+
return "OnCmsBannerView"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -16,7 +16,6 @@ import com.obzen.tagworks.util.Logger.Companion.d
|
|
|
16
16
|
import com.obzen.tagworks.util.WebAppInterface.Companion.MessageHandlerName
|
|
17
17
|
import org.json.JSONArray
|
|
18
18
|
import org.json.JSONObject
|
|
19
|
-
import javax.security.auth.callback.Callback
|
|
20
19
|
|
|
21
20
|
class TagWorksModule(reactContext: ReactApplicationContext):ReactContextBaseJavaModule(reactContext) {
|
|
22
21
|
|
|
@@ -200,6 +199,55 @@ class TagWorksModule(reactContext: ReactApplicationContext):ReactContextBaseJava
|
|
|
200
199
|
|
|
201
200
|
}
|
|
202
201
|
|
|
202
|
+
@ReactMethod
|
|
203
|
+
fun getDynamicCommonDimensions(callback: Callback) {
|
|
204
|
+
try {
|
|
205
|
+
val cDimensions = TagWorks.getInstance().getCommonDimensions()
|
|
206
|
+
val cDynamicDimensions = TagWorks.getInstance().getDynamicCommonDimensions()
|
|
207
|
+
|
|
208
|
+
val generalDimensions = JSONObject()
|
|
209
|
+
val factDimensions = JSONObject()
|
|
210
|
+
|
|
211
|
+
cDimensions.forEach { dimension ->
|
|
212
|
+
when (dimension.type) {
|
|
213
|
+
DimensionType.GENERAL_TYPE -> generalDimensions.put(dimension.index.toString(),dimension.value)
|
|
214
|
+
DimensionType.FACT_TYPE -> factDimensions.put(dimension.index.toString(),dimension.numValue)
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
cDynamicDimensions.forEach { dimension ->
|
|
219
|
+
when (dimension.type) {
|
|
220
|
+
DimensionType.GENERAL_TYPE -> generalDimensions.put(dimension.key,dimension.value)
|
|
221
|
+
DimensionType.FACT_TYPE -> factDimensions.put(dimension.key,dimension.numValue)
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
val generalWrapper = JSONObject().apply {
|
|
226
|
+
put("General", generalDimensions)
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
val factWrapper = JSONObject().apply {
|
|
230
|
+
put("Fact", factDimensions)
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
val dimensionsArray = JSONArray().apply {
|
|
234
|
+
put(generalWrapper)
|
|
235
|
+
put(factWrapper)
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
val result = JSONObject().apply {
|
|
239
|
+
put("Dimensions", dimensionsArray)
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
val jsonString = result.toString(4)
|
|
243
|
+
|
|
244
|
+
callback.invoke(jsonString)
|
|
245
|
+
} catch (e: Exception) {
|
|
246
|
+
// 오류 처리
|
|
247
|
+
e.printStackTrace()
|
|
248
|
+
callback.invoke(null)
|
|
249
|
+
}
|
|
250
|
+
}
|
|
203
251
|
|
|
204
252
|
@ReactMethod
|
|
205
253
|
fun getCommonDimensionsOfArrayIndex(callback: Callback) {
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
package com.tagworkssdkv1
|
|
2
|
+
|
|
3
|
+
import android.util.Log
|
|
4
|
+
import android.view.ViewGroup
|
|
5
|
+
import com.facebook.react.bridge.Arguments
|
|
6
|
+
import com.facebook.react.bridge.Promise
|
|
7
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
8
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
9
|
+
import com.facebook.react.bridge.ReactMethod
|
|
10
|
+
import com.obzen.tagworks.TagWorksPopup
|
|
11
|
+
|
|
12
|
+
class TagWorksPopupModule(reactApplicationContext: ReactApplicationContext) :
|
|
13
|
+
ReactContextBaseJavaModule(reactApplicationContext) {
|
|
14
|
+
override fun getName(): String {
|
|
15
|
+
return "TagWorksPopupModule"
|
|
16
|
+
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@ReactMethod
|
|
21
|
+
fun onCMSPopup(
|
|
22
|
+
onCmsUrl: String,
|
|
23
|
+
custId: String?,
|
|
24
|
+
rcmdAreaCd: String
|
|
25
|
+
) {
|
|
26
|
+
val currentActivity = reactApplicationContext.currentActivity ?: return
|
|
27
|
+
|
|
28
|
+
TagWorksPopup.onCMSPopup(
|
|
29
|
+
onCmsUrl,
|
|
30
|
+
custId,
|
|
31
|
+
rcmdAreaCd,
|
|
32
|
+
currentActivity
|
|
33
|
+
)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// @ReactMethod
|
|
37
|
+
// fun onCMSPopupBanner(
|
|
38
|
+
// onCmsUrl: String,
|
|
39
|
+
// custId: String?,
|
|
40
|
+
// rcmdAreaCd: String,
|
|
41
|
+
// viewId: Int
|
|
42
|
+
// ) {
|
|
43
|
+
//
|
|
44
|
+
// val activity = reactApplicationContext.currentActivity ?: return
|
|
45
|
+
// val bannerView = currentActivity?.findViewById<ViewGroup>(viewId) ?: return
|
|
46
|
+
//
|
|
47
|
+
//
|
|
48
|
+
// TagWorksPopup.onCMSPopupBanner(
|
|
49
|
+
// onCmsUrl = onCmsUrl,
|
|
50
|
+
// cust_id = custId,
|
|
51
|
+
// rcmd_area_cd = rcmdAreaCd,
|
|
52
|
+
// bannerView = bannerView,
|
|
53
|
+
// context = activity,
|
|
54
|
+
// defaultImage = R.drawable.default_img // 기본 이미지 지정
|
|
55
|
+
// )
|
|
56
|
+
//
|
|
57
|
+
// }
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
}
|
|
@@ -4,17 +4,19 @@ import com.facebook.react.ReactPackage
|
|
|
4
4
|
import com.facebook.react.bridge.NativeModule
|
|
5
5
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
6
|
import com.facebook.react.uimanager.ViewManager
|
|
7
|
-
import com.tagworks_sdk_react.DataBundleModule
|
|
8
|
-
import com.tagworks_sdk_react.TagWorksModule
|
|
9
7
|
|
|
10
8
|
|
|
11
9
|
class TagworksSdkV1Package : ReactPackage {
|
|
12
10
|
override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
|
|
13
11
|
// return listOf(TagworksSdkV1Module(reactContext))
|
|
14
|
-
return listOf(TagworksSdkV1Module(reactContext),
|
|
12
|
+
return listOf(TagworksSdkV1Module(reactContext),
|
|
13
|
+
TagWorksPopupModule(reactContext),
|
|
14
|
+
DataBundleModule(reactContext),
|
|
15
|
+
TagWorksModule(reactContext),
|
|
16
|
+
StandardEventModule(reactContext))
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
|
|
18
|
-
return
|
|
20
|
+
return listOf(OnCmsBannerViewManager())
|
|
19
21
|
}
|
|
20
22
|
}
|
|
Binary file
|
|
@@ -75,14 +75,24 @@ class DataBundleModule: NSObject, RCTBridgeModule {
|
|
|
75
75
|
genericDimensions = dimension["General"] as! [String: String]
|
|
76
76
|
|
|
77
77
|
for (key, value) in genericDimensions {
|
|
78
|
-
|
|
78
|
+
// if TagWorks_SDK_iOS.TagWorks.sharedInstance.isUseDynamicParameter == false {
|
|
79
|
+
if Int(key) != nil {
|
|
80
|
+
self.eventDimensions.append(TagWorks_SDK_iOS.Dimension(index: Int(key)!, stringValue: value))
|
|
81
|
+
} else {
|
|
82
|
+
self.eventDimensions.append(TagWorks_SDK_iOS.Dimension(key: key, value: value))
|
|
83
|
+
}
|
|
79
84
|
}
|
|
80
85
|
}
|
|
81
86
|
if dimension["Fact"] != nil {
|
|
82
87
|
factDimensions = dimension["Fact"] as! [String: Any]
|
|
83
88
|
|
|
84
89
|
for (key, value) in factDimensions {
|
|
85
|
-
|
|
90
|
+
// if TagWorks_SDK_iOS.TagWorks.sharedInstance.isUseDynamicParameter == false {
|
|
91
|
+
if Int(key) != nil {
|
|
92
|
+
self.eventDimensions.append(TagWorks_SDK_iOS.Dimension(index: Int(key)!, numValue: Double(value as! String) ?? 0.0))
|
|
93
|
+
} else {
|
|
94
|
+
self.eventDimensions.append(TagWorks_SDK_iOS.Dimension(key: key, numValue: Double(value as! String) ?? 0.0))
|
|
95
|
+
}
|
|
86
96
|
}
|
|
87
97
|
}
|
|
88
98
|
}
|
|
@@ -101,13 +111,7 @@ class DataBundleModule: NSObject, RCTBridgeModule {
|
|
|
101
111
|
|
|
102
112
|
var generalDimensions: [String: String] = [:]
|
|
103
113
|
var factDimensions: [String: Any] = [:]
|
|
104
|
-
|
|
105
|
-
// if dimension.type == Dimension.generalType {
|
|
106
|
-
// generalDimensions[String(dimension.index)] = dimension.value
|
|
107
|
-
// } else if dimension.type == Dimension.factType {
|
|
108
|
-
// factDimensions[String(dimension.index)] = String(dimension.numValue)
|
|
109
|
-
// }
|
|
110
|
-
// }
|
|
114
|
+
|
|
111
115
|
for dimension in self.eventDimensions {
|
|
112
116
|
if dimension.type == Dimension.generalType {
|
|
113
117
|
if dimension.index == -1 {
|
|
@@ -117,9 +121,9 @@ class DataBundleModule: NSObject, RCTBridgeModule {
|
|
|
117
121
|
}
|
|
118
122
|
} else if dimension.type == Dimension.factType {
|
|
119
123
|
if dimension.index == -1 {
|
|
120
|
-
factDimensions[dimension.key] =
|
|
124
|
+
factDimensions[dimension.key] = dimension.numValue
|
|
121
125
|
} else {
|
|
122
|
-
factDimensions[String(dimension.index)] =
|
|
126
|
+
factDimensions[String(dimension.index)] = dimension.numValue
|
|
123
127
|
}
|
|
124
128
|
}
|
|
125
129
|
}
|
|
@@ -180,21 +184,21 @@ class DataBundleModule: NSObject, RCTBridgeModule {
|
|
|
180
184
|
var generalDimensions: [String: String] = [:]
|
|
181
185
|
var factDimensions: [String: Any] = [:]
|
|
182
186
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
187
|
+
for dimension in self.eventDimensions {
|
|
188
|
+
if dimension.type == Dimension.generalType {
|
|
189
|
+
if dimension.index == -1 {
|
|
190
|
+
generalDimensions[dimension.key] = dimension.value
|
|
191
|
+
} else {
|
|
192
|
+
generalDimensions[String(dimension.index)] = dimension.value
|
|
193
|
+
}
|
|
194
|
+
} else if dimension.type == Dimension.factType {
|
|
195
|
+
if dimension.index == -1 {
|
|
196
|
+
factDimensions[dimension.key] = String(dimension.numValue)
|
|
197
|
+
} else {
|
|
198
|
+
factDimensions[String(dimension.index)] = String(dimension.numValue)
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
198
202
|
let gDimension = ["General": generalDimensions]
|
|
199
203
|
let fDimension = ["Fact": factDimensions]
|
|
200
204
|
dictDimensions["Dimensions"] = [gDimension, fDimension]
|
|
@@ -358,24 +362,6 @@ class DataBundleModule: NSObject, RCTBridgeModule {
|
|
|
358
362
|
callback([])
|
|
359
363
|
}
|
|
360
364
|
}
|
|
361
|
-
|
|
362
|
-
// @objc func getDynamicDimensionWithString(_ key: String, callback: @escaping RCTResponseSenderBlock) {
|
|
363
|
-
// let dimension: TagWorks_SDK_iOS.Dimension? = self.eventDimensions.filter {$0.key == key && $0.type == Dimension.generalType}.first
|
|
364
|
-
// if let dimension {
|
|
365
|
-
// callback([dimension.value])
|
|
366
|
-
// } else {
|
|
367
|
-
// callback([])
|
|
368
|
-
// }
|
|
369
|
-
// }
|
|
370
|
-
//
|
|
371
|
-
// @objc func getDynamicDimensionWithDouble(_ key: String, callback: @escaping RCTResponseSenderBlock) {
|
|
372
|
-
// let dimension: TagWorks_SDK_iOS.Dimension? = self.eventDimensions.filter {$0.key == key && $0.type == Dimension.factType}.first
|
|
373
|
-
// if let dimension {
|
|
374
|
-
// callback([dimension.numValue])
|
|
375
|
-
// } else {
|
|
376
|
-
// callback([])
|
|
377
|
-
// }
|
|
378
|
-
// }
|
|
379
365
|
|
|
380
366
|
// Dimension 삭제
|
|
381
367
|
@objc func removeDimensionInGeneralType(_ index: Int) {
|
|
@@ -409,28 +395,28 @@ class DataBundleModule: NSObject, RCTBridgeModule {
|
|
|
409
395
|
|
|
410
396
|
|
|
411
397
|
/// 이벤트에 필요한 파라미터 항목들이 비어 있는지 체크
|
|
412
|
-
@objc public func isParameterEmpty(
|
|
398
|
+
@objc public func isParameterEmpty(_ callback: @escaping RCTResponseSenderBlock) {
|
|
413
399
|
if dataDictionary.isEmpty {
|
|
414
|
-
|
|
400
|
+
callback([true])
|
|
415
401
|
}
|
|
416
|
-
|
|
402
|
+
callback([false])
|
|
417
403
|
}
|
|
418
404
|
|
|
419
405
|
/// 이벤트에 필요한 Dimension 항목들이 비어 있는지 체크
|
|
420
|
-
@objc public func isDimensionEmpty(
|
|
406
|
+
@objc public func isDimensionEmpty(_ callback: @escaping RCTResponseSenderBlock) {
|
|
421
407
|
if eventDimensions.isEmpty {
|
|
422
|
-
|
|
408
|
+
callback([true])
|
|
423
409
|
}
|
|
424
|
-
|
|
410
|
+
callback([false])
|
|
425
411
|
}
|
|
426
412
|
|
|
427
413
|
/// 이벤트에 필요한 파라미터 항목들의 갯수를 리턴
|
|
428
|
-
@objc public func parameterCount(
|
|
429
|
-
|
|
414
|
+
@objc public func parameterCount(_ callback: @escaping RCTResponseSenderBlock) {
|
|
415
|
+
callback([dataDictionary.count])
|
|
430
416
|
}
|
|
431
417
|
|
|
432
418
|
/// 이벤트에 필요한 Dimension 항목들의 갯수를 리턴
|
|
433
|
-
@objc public func dimensionCount(
|
|
434
|
-
|
|
419
|
+
@objc public func dimensionCount(_ callback: @escaping RCTResponseSenderBlock) {
|
|
420
|
+
callback([eventDimensions.count])
|
|
435
421
|
}
|
|
436
422
|
}
|
|
@@ -41,4 +41,9 @@ RCT_EXTERN_METHOD(removeDynamicDimension:(NSString *)key)
|
|
|
41
41
|
RCT_EXTERN_METHOD(removeDynamicDimensionWithArrayIndex:(int)index)
|
|
42
42
|
RCT_EXTERN_METHOD(removeAllDynamicDimension)
|
|
43
43
|
|
|
44
|
+
RCT_EXTERN_METHOD(isParameterEmpty:(RCTResponseSenderBlock) callback)
|
|
45
|
+
RCT_EXTERN_METHOD(isDimensionEmpty:(RCTResponseSenderBlock) callback)
|
|
46
|
+
RCT_EXTERN_METHOD(parameterCount:(RCTResponseSenderBlock) callback)
|
|
47
|
+
RCT_EXTERN_METHOD(dimensionCount:(RCTResponseSenderBlock) callback)
|
|
48
|
+
|
|
44
49
|
@end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//
|
|
2
|
+
// OnCMSBannerViewManagerBridge.m
|
|
3
|
+
// tagworks-sdk-v1-react
|
|
4
|
+
//
|
|
5
|
+
// Created by obzen on 4/18/25.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#import <Foundation/Foundation.h>
|
|
9
|
+
#import <React/RCTViewManager.h>
|
|
10
|
+
|
|
11
|
+
@interface RCT_EXTERN_MODULE(OnCmsBannerViewManager, RCTViewManager)
|
|
12
|
+
|
|
13
|
+
RCT_EXPORT_VIEW_PROPERTY(onCmsUrl, NSString)
|
|
14
|
+
RCT_EXPORT_VIEW_PROPERTY(rcmd_area_cd, NSString)
|
|
15
|
+
RCT_EXPORT_VIEW_PROPERTY(cust_id, NSString)
|
|
16
|
+
RCT_EXPORT_VIEW_PROPERTY(defaultImage, NSString)
|
|
17
|
+
|
|
18
|
+
//RCT_EXTERN_METHOD(setOnCmsBannerParam:(NSNumber *) reactTag url:(NSString *)url custId:(NSString *)custId areaCd:(NSString *)areaCd defaultImage:(NSString *)defaultImage)
|
|
19
|
+
|
|
20
|
+
@end
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
//
|
|
2
|
+
// OnCmsBannerViewManager.swift
|
|
3
|
+
// tagworks-sdk-v1-react
|
|
4
|
+
//
|
|
5
|
+
// Created by obzen on 4/17/25.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import TagWorks_SDK_iOS
|
|
10
|
+
|
|
11
|
+
@objc(OnCmsBannerViewManager)
|
|
12
|
+
class OnCmsBannerViewManager: RCTViewManager {
|
|
13
|
+
|
|
14
|
+
override static func requiresMainQueueSetup() -> Bool {
|
|
15
|
+
return true
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
override func view() -> UIView! {
|
|
19
|
+
return OnCmsBannerView()
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// @objc func setOnCmsBannerParam(_ reactTag: NSNumber, url: String, custId: String, areaCd: String, defaultImage: String) {
|
|
23
|
+
// DispatchQueue.main.async {
|
|
24
|
+
// guard let view = self.bridge.uiManager.view(forReactTag: reactTag) as? OnCmsBannerView else {
|
|
25
|
+
// return
|
|
26
|
+
// }
|
|
27
|
+
//
|
|
28
|
+
// view.onCMSPopupBanner(onCmsUrl: url, custId: custId, rcmdAreaCd: areaCd, defaultImage: defaultImage)
|
|
29
|
+
// }
|
|
30
|
+
// }
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class OnCmsBannerView: UIView {
|
|
35
|
+
|
|
36
|
+
private var onCmsUrlProp: String = ""
|
|
37
|
+
private var custIdProp: String?
|
|
38
|
+
private var rcmdAreaCdProp: String = ""
|
|
39
|
+
private var defaultImageProp: String = ""
|
|
40
|
+
|
|
41
|
+
private var shouldAttachBanner = false
|
|
42
|
+
|
|
43
|
+
override init(frame: CGRect) {
|
|
44
|
+
super.init(frame: frame)
|
|
45
|
+
self.backgroundColor = .clear
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
required init?(coder: NSCoder) {
|
|
49
|
+
fatalError("init(coder:) has not been implemented")
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
override func layoutSubviews() {
|
|
53
|
+
super.layoutSubviews()
|
|
54
|
+
print("layout Size : \(self.frame.size)")
|
|
55
|
+
|
|
56
|
+
if shouldAttachBanner && self.frame.size != .zero {
|
|
57
|
+
attachBanner()
|
|
58
|
+
shouldAttachBanner = false // 한 번만 실행되도록
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
private var isReady: Bool {
|
|
63
|
+
// return !onCmsUrlProp.isEmpty && !rcmdAreaCdProp.isEmpty && !custIdProp.isEmpty
|
|
64
|
+
return !onCmsUrlProp.isEmpty && !rcmdAreaCdProp.isEmpty
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@objc var onCmsUrl: NSString = "" {
|
|
68
|
+
didSet {
|
|
69
|
+
onCmsUrlProp = onCmsUrl as String
|
|
70
|
+
checkAndAttach()
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@objc var rcmd_area_cd: String = "" {
|
|
75
|
+
didSet {
|
|
76
|
+
rcmdAreaCdProp = rcmd_area_cd
|
|
77
|
+
checkAndAttach()
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
@objc var cust_id: String = "" {
|
|
82
|
+
didSet {
|
|
83
|
+
custIdProp = cust_id
|
|
84
|
+
checkAndAttach()
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@objc var defaultImage: String = "" {
|
|
89
|
+
didSet {
|
|
90
|
+
defaultImageProp = defaultImage
|
|
91
|
+
checkAndAttach()
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
private func checkAndAttach() {
|
|
96
|
+
if isReady {
|
|
97
|
+
// attachBanner()
|
|
98
|
+
shouldAttachBanner = true
|
|
99
|
+
setNeedsLayout() // layoutSubviews 호출 유도
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
private func attachBanner() {
|
|
104
|
+
guard !onCmsUrlProp.isEmpty, !rcmdAreaCdProp.isEmpty else {
|
|
105
|
+
return
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// TagWorks SDK가 제공하는 iOS 메서드 사용
|
|
109
|
+
TagWorksPopup.sharedInstance.onCMSPopupBanner(onCmsUrl: onCmsUrlProp,
|
|
110
|
+
cust_id: custIdProp ?? "",
|
|
111
|
+
rcmd_area_cd: rcmdAreaCdProp,
|
|
112
|
+
bannerView: self,
|
|
113
|
+
defaultPngImageName: defaultImageProp)
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
// public func onCMSPopupBanner(onCmsUrl: String, custId: String, rcmdAreaCd: String, defaultImage: String) {
|
|
120
|
+
// guard !onCmsUrl.isEmpty, !rcmdAreaCd.isEmpty, !custId.isEmpty else {
|
|
121
|
+
// return
|
|
122
|
+
// }
|
|
123
|
+
//
|
|
124
|
+
// // TagWorks SDK가 제공하는 iOS 메서드 사용
|
|
125
|
+
// TagWorksPopup.sharedInstance.onCMSPopupBanner(onCmsUrl: onCmsUrl,
|
|
126
|
+
// cust_id: custId,
|
|
127
|
+
// rcmd_area_cd: rcmdAreaCd,
|
|
128
|
+
// bannerView: self,
|
|
129
|
+
// defaultPngImageName: defaultImage)
|
|
130
|
+
// }
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
}
|
package/ios/TagWorksModule.swift
CHANGED
|
@@ -30,15 +30,14 @@ class TagWorksModule: NSObject, RCTBridgeModule {
|
|
|
30
30
|
"EVENT_TYPE_USER_EVENT": "EVENT_TYPE_USER_EVENT",
|
|
31
31
|
]
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
// userAgent: String? = nil,
|
|
34
34
|
// MARK: SDK 초기화
|
|
35
35
|
@objc func initializeTagWorks(_ siteId: String,
|
|
36
36
|
baseUrl: String,
|
|
37
37
|
isUseIntervals: Bool,
|
|
38
|
-
dispatchInterval: TimeInterval,
|
|
38
|
+
dispatchInterval: TimeInterval = 5.0,
|
|
39
39
|
sessionTimeOut: TimeInterval = 5.0,
|
|
40
40
|
isManualDispatch: Bool = false,
|
|
41
|
-
// userAgent: String? = nil,
|
|
42
41
|
appVersion: String? = nil,
|
|
43
42
|
appName: String? = nil,
|
|
44
43
|
isUseDynamicParameter: Bool = false) {
|
|
@@ -294,24 +293,6 @@ class TagWorksModule: NSObject, RCTBridgeModule {
|
|
|
294
293
|
callback([])
|
|
295
294
|
}
|
|
296
295
|
}
|
|
297
|
-
|
|
298
|
-
// @objc func getDynamicCommonDimensionWithString(_ key: String, callback: @escaping RCTResponseSenderBlock) {
|
|
299
|
-
// let dimension = TagWorks.sharedInstance.getDynamicCommonDimension(key: key)
|
|
300
|
-
// if let dimension {
|
|
301
|
-
// callback([dimension.value])
|
|
302
|
-
// } else {
|
|
303
|
-
// callback([])
|
|
304
|
-
// }
|
|
305
|
-
// }
|
|
306
|
-
//
|
|
307
|
-
// @objc func getDynamicCommonDimensionWithDouble(_ key: String, callback: @escaping RCTResponseSenderBlock) {
|
|
308
|
-
// let dimension = TagWorks.sharedInstance.getDynamicCommonDimension(key: key)
|
|
309
|
-
// if let dimension {
|
|
310
|
-
// callback([dimension.numValue])
|
|
311
|
-
// } else {
|
|
312
|
-
// callback([])
|
|
313
|
-
// }
|
|
314
|
-
// }
|
|
315
296
|
|
|
316
297
|
// Dimension 삭제
|
|
317
298
|
@objc func removeCommonDimensionInGeneralType(_ index: Int) {
|
|
@@ -392,12 +373,12 @@ class TagWorksModule: NSObject, RCTBridgeModule {
|
|
|
392
373
|
|
|
393
374
|
for (key, value) in factDimensions {
|
|
394
375
|
if TagWorks.sharedInstance.isUseDynamicParameter {
|
|
395
|
-
eventDimensions.append(TagWorks_SDK_iOS.Dimension(key: key, numValue:
|
|
376
|
+
eventDimensions.append(TagWorks_SDK_iOS.Dimension(key: key, numValue: value as! Double))
|
|
396
377
|
} else {
|
|
397
378
|
if Int(key) != nil {
|
|
398
|
-
eventDimensions.append(TagWorks_SDK_iOS.Dimension(index: Int(key)!, numValue:
|
|
379
|
+
eventDimensions.append(TagWorks_SDK_iOS.Dimension(index: Int(key)!, numValue: value as! Double))
|
|
399
380
|
} else {
|
|
400
|
-
eventDimensions.append(TagWorks_SDK_iOS.Dimension(key: key, numValue:
|
|
381
|
+
eventDimensions.append(TagWorks_SDK_iOS.Dimension(key: key, numValue: value as! Double))
|
|
401
382
|
}
|
|
402
383
|
}
|
|
403
384
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//
|
|
2
|
+
// TagWorksPopupModule.swift
|
|
3
|
+
// tagworks-sdk-v1-react
|
|
4
|
+
//
|
|
5
|
+
// Created by obzen on 4/17/25.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import React
|
|
10
|
+
import TagWorks_SDK_iOS
|
|
11
|
+
|
|
12
|
+
@objc(TagWorksPopupModule)
|
|
13
|
+
class TagWorksPopupModule: NSObject, RCTBridgeModule {
|
|
14
|
+
|
|
15
|
+
static func moduleName() -> String {
|
|
16
|
+
return "TagWorksPopupModule"
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// 네이티브 모듈에서 사용할 상수값을 반환하는 함수
|
|
20
|
+
@objc static func requiresMainQueueSetup() -> Bool {
|
|
21
|
+
return true
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@objc public func onCMSPopup(_ onCmsUrl: String, custId: String, rcmdAreaCd: String) {
|
|
25
|
+
DispatchQueue.main.async {
|
|
26
|
+
guard var currentViewController = UIApplication.shared.delegate?.window??.rootViewController else {
|
|
27
|
+
return
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
while let presented = currentViewController.presentedViewController {
|
|
31
|
+
currentViewController = presented
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
TagWorksPopup.sharedInstance.onCMSPopup(onCmsUrl: onCmsUrl,
|
|
36
|
+
cust_id: custId,
|
|
37
|
+
rcmd_area_cd: rcmdAreaCd,
|
|
38
|
+
owner: currentViewController)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//
|
|
2
|
+
// TagWorksPopupModuleBridge.m
|
|
3
|
+
// tagworks-sdk-v1-react
|
|
4
|
+
//
|
|
5
|
+
// Created by obzen on 4/17/25.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#import <Foundation/Foundation.h>
|
|
9
|
+
#import <React/RCTBridgeModule.h>
|
|
10
|
+
|
|
11
|
+
@interface RCT_EXTERN_MODULE(TagWorksPopupModule, NSObject)
|
|
12
|
+
|
|
13
|
+
RCT_EXTERN_METHOD(onCMSPopup:(NSString *)onCmsUrl custId:(NSString *)custId rcmdAreaCd:(NSString *)rcmdAreaCd);
|
|
14
|
+
|
|
15
|
+
@end
|
package/lib/commonjs/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.TagWorksModule = exports.StandardEventModule = exports.DataBundleModule = void 0;
|
|
6
|
+
exports.TagWorksPopupModule = exports.TagWorksModule = exports.StandardEventModule = exports.OnCmsBannerView = exports.DataBundleModule = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
// import { NativeModules, Platform } from 'react-native';
|
|
9
9
|
|
|
@@ -27,12 +27,14 @@ var _reactNative = require("react-native");
|
|
|
27
27
|
// export function multiply(a: number, b: number): Promise<number> {
|
|
28
28
|
// return TagworksSdkV1.multiply(a, b);
|
|
29
29
|
// }
|
|
30
|
-
|
|
30
|
+
const OnCmsBannerView = exports.OnCmsBannerView = (0, _reactNative.requireNativeComponent)('OnCmsBannerView');
|
|
31
31
|
const {
|
|
32
32
|
TagWorksModule,
|
|
33
33
|
DataBundleModule,
|
|
34
|
-
StandardEventModule
|
|
34
|
+
StandardEventModule,
|
|
35
|
+
TagWorksPopupModule
|
|
35
36
|
} = _reactNative.NativeModules;
|
|
37
|
+
exports.TagWorksPopupModule = TagWorksPopupModule;
|
|
36
38
|
exports.StandardEventModule = StandardEventModule;
|
|
37
39
|
exports.DataBundleModule = DataBundleModule;
|
|
38
40
|
exports.TagWorksModule = TagWorksModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","TagWorksModule","DataBundleModule","StandardEventModule","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","OnCmsBannerView","exports","requireNativeComponent","TagWorksModule","DataBundleModule","StandardEventModule","TagWorksPopupModule","NativeModules"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AADA;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,IAAAE,mCAAsB,EAAC,iBAAiB,CAAC;AAEjE,MAAM;EAAEC,cAAc;EAAEC,gBAAgB;EAAEC,mBAAmB;EAAEC;AAAoB,CAAC,GAAGC,0BAAa;AAACN,OAAA,CAAAK,mBAAA,GAAAA,mBAAA;AAAAL,OAAA,CAAAI,mBAAA,GAAAA,mBAAA;AAAAJ,OAAA,CAAAG,gBAAA,GAAAA,gBAAA;AAAAH,OAAA,CAAAE,cAAA,GAAAA,cAAA","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
// import { NativeModules, Platform } from 'react-native';
|
|
4
|
-
import { NativeModules } from 'react-native';
|
|
4
|
+
import { NativeModules, requireNativeComponent } from 'react-native';
|
|
5
5
|
|
|
6
6
|
// const LINKING_ERROR =
|
|
7
7
|
// `The package 'tagworks-sdk-v1' doesn't seem to be linked. Make sure: \n\n` +
|
|
@@ -23,11 +23,12 @@ import { NativeModules } from 'react-native';
|
|
|
23
23
|
// export function multiply(a: number, b: number): Promise<number> {
|
|
24
24
|
// return TagworksSdkV1.multiply(a, b);
|
|
25
25
|
// }
|
|
26
|
-
|
|
26
|
+
const OnCmsBannerView = requireNativeComponent('OnCmsBannerView');
|
|
27
27
|
const {
|
|
28
28
|
TagWorksModule,
|
|
29
29
|
DataBundleModule,
|
|
30
|
-
StandardEventModule
|
|
30
|
+
StandardEventModule,
|
|
31
|
+
TagWorksPopupModule
|
|
31
32
|
} = NativeModules;
|
|
32
|
-
export { TagWorksModule, DataBundleModule, StandardEventModule };
|
|
33
|
+
export { TagWorksModule, DataBundleModule, StandardEventModule, TagWorksPopupModule, OnCmsBannerView };
|
|
33
34
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","TagWorksModule","DataBundleModule","StandardEventModule"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,aAAa,QAAQ,cAAc;;
|
|
1
|
+
{"version":3,"names":["NativeModules","requireNativeComponent","OnCmsBannerView","TagWorksModule","DataBundleModule","StandardEventModule","TagWorksPopupModule"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,aAAa,EAAEC,sBAAsB,QAAQ,cAAc;;AAEpE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAGD,sBAAsB,CAAC,iBAAiB,CAAC;AAEjE,MAAM;EAAEE,cAAc;EAAEC,gBAAgB;EAAEC,mBAAmB;EAAEC;AAAoB,CAAC,GAAGN,aAAa;AACpG,SAASG,cAAc,EAAEC,gBAAgB,EAAEC,mBAAmB,EAAEC,mBAAmB,EAAEJ,eAAe","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
declare const
|
|
2
|
-
|
|
1
|
+
declare const OnCmsBannerView: import("react-native").HostComponent<unknown>;
|
|
2
|
+
declare const TagWorksModule: any, DataBundleModule: any, StandardEventModule: any, TagWorksPopupModule: any;
|
|
3
|
+
export { TagWorksModule, DataBundleModule, StandardEventModule, TagWorksPopupModule, OnCmsBannerView };
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAuBA,QAAA,MAAM,eAAe,+CAA4C,CAAC;AAElE,QAAA,MAAQ,cAAc,OAAE,gBAAgB,OAAE,mBAAmB,OAAE,mBAAmB,KAAkB,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
declare const
|
|
2
|
-
|
|
1
|
+
declare const OnCmsBannerView: import("react-native").HostComponent<unknown>;
|
|
2
|
+
declare const TagWorksModule: any, DataBundleModule: any, StandardEventModule: any, TagWorksPopupModule: any;
|
|
3
|
+
export { TagWorksModule, DataBundleModule, StandardEventModule, TagWorksPopupModule, OnCmsBannerView };
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAuBA,QAAA,MAAM,eAAe,+CAA4C,CAAC;AAElE,QAAA,MAAQ,cAAc,OAAE,gBAAgB,OAAE,mBAAmB,OAAE,mBAAmB,KAAkB,CAAC;AACrG,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tagworks-sdk-v1-react",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.20",
|
|
4
4
|
"description": "TagWorks SDK React Native Library",
|
|
5
5
|
"source": "./src/index.tsx",
|
|
6
6
|
"main": "./lib/commonjs/index.js",
|
|
@@ -75,8 +75,8 @@
|
|
|
75
75
|
"eslint-plugin-prettier": "^5.0.1",
|
|
76
76
|
"jest": "^29.7.0",
|
|
77
77
|
"prettier": "^3.0.3",
|
|
78
|
-
"react": "18.3.1",
|
|
79
|
-
"react-native": "0.76.5",
|
|
78
|
+
"react": "^18.3.1",
|
|
79
|
+
"react-native": "^0.76.5",
|
|
80
80
|
"react-native-builder-bob": "^0.35.2",
|
|
81
81
|
"release-it": "^17.10.0",
|
|
82
82
|
"turbo": "^1.10.7",
|
|
@@ -167,5 +167,8 @@
|
|
|
167
167
|
"type": "module-legacy",
|
|
168
168
|
"languages": "kotlin-swift",
|
|
169
169
|
"version": "0.45.0"
|
|
170
|
+
},
|
|
171
|
+
"dependencies": {
|
|
172
|
+
"react-dom": "^19.1.0"
|
|
170
173
|
}
|
|
171
174
|
}
|
package/src/index.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// import { NativeModules, Platform } from 'react-native';
|
|
2
|
-
import { NativeModules } from 'react-native';
|
|
2
|
+
import { NativeModules, requireNativeComponent } from 'react-native';
|
|
3
3
|
|
|
4
4
|
// const LINKING_ERROR =
|
|
5
5
|
// `The package 'tagworks-sdk-v1' doesn't seem to be linked. Make sure: \n\n` +
|
|
@@ -21,6 +21,7 @@ import { NativeModules } from 'react-native';
|
|
|
21
21
|
// export function multiply(a: number, b: number): Promise<number> {
|
|
22
22
|
// return TagworksSdkV1.multiply(a, b);
|
|
23
23
|
// }
|
|
24
|
+
const OnCmsBannerView = requireNativeComponent('OnCmsBannerView');
|
|
24
25
|
|
|
25
|
-
const { TagWorksModule, DataBundleModule, StandardEventModule } = NativeModules;
|
|
26
|
-
export { TagWorksModule, DataBundleModule, StandardEventModule };
|
|
26
|
+
const { TagWorksModule, DataBundleModule, StandardEventModule, TagWorksPopupModule } = NativeModules;
|
|
27
|
+
export { TagWorksModule, DataBundleModule, StandardEventModule, TagWorksPopupModule, OnCmsBannerView };
|
|
@@ -15,8 +15,8 @@ Pod::Spec.new do |s|
|
|
|
15
15
|
s.source = { :git => "http://192.168.20.44:8443/etc/mobile/sdk/tagworks-sdk-v1-react.git", :tag => "#{s.version}" }
|
|
16
16
|
|
|
17
17
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
18
|
-
s.dependency "TagWorks-SDK-iOS", '~> 1.1.
|
|
19
|
-
# s.dependency "TagWorks-SDK-iOS"
|
|
18
|
+
s.dependency "TagWorks-SDK-iOS", '~> 1.1.25'
|
|
19
|
+
# s.dependency = { "TagWorks-SDK-iOS", :git => "https://github.com/obzen-rnd/tagworks-sdk-v1-ios-release.git", :tag => "1.1.25" }
|
|
20
20
|
|
|
21
21
|
# Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
|
|
22
22
|
# See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
|