tagworks-sdk-v1-react 1.1.13 → 1.1.15
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 +188 -55
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/tagworkssdkv1/DataBundleModule.kt +371 -281
- package/android/src/main/java/com/tagworkssdkv1/TagWorksModule.kt +402 -323
- package/ios/DataBundleModule.swift +176 -12
- package/ios/DataBundleModuleBridge.m +15 -0
- package/ios/StandardEventModule.swift +2 -23
- package/ios/StandardEventModuleBridge.m +0 -4
- package/ios/TagWorksModule.swift +181 -9
- package/ios/TagWorksModuleBridge.m +17 -1
- package/package.json +1 -1
- package/tagworks-sdk-v1-react.podspec +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<img src="https://capsule-render.vercel.app/api?type=Waving&color=A2A4A2&height=150§ion=header&text=TagWorks-SDK-React-Native&fontSize=45" />
|
|
2
2
|
|
|
3
|
-

|
|
4
4
|

|
|
5
5
|

|
|
6
6
|

|
|
@@ -19,9 +19,12 @@ TagWorks SDK React Native Library
|
|
|
19
19
|
- [데이터 구성](#데이터-구성)
|
|
20
20
|
- [Dimension](#dimension)
|
|
21
21
|
- [공용 Dimension](#공용-dimension)
|
|
22
|
+
- [Dimension 추가](#dimension-추가)
|
|
23
|
+
- [Dimension 가져오기](#dimension-가져오기)
|
|
24
|
+
- [Dimension 삭제](#dimension-삭제)
|
|
22
25
|
- [DataBundleModule](#databundlemodule)
|
|
23
26
|
- [DataBundleModule 클래스의 key 값으로 사용 가능한 파라미터](#databundlemodule-클래스의-key-값으로-사용-가능한-파라미터)
|
|
24
|
-
- [EVENT\_TAG\_NAME 에 대응하는 값으로 사용할 수 있는 Standard
|
|
27
|
+
- [EVENT\_TAG\_NAME 에 대응하는 값으로 사용할 수 있는 Standard 태그](#event_tag_name-에-대응하는-값으로-사용할-수-있는-standard-태그)
|
|
25
28
|
- [DataBundleModule 초기화](#databundlemodule-초기화)
|
|
26
29
|
- [DataBundleModule 파라미터 설정](#databundlemodule-파라미터-설정)
|
|
27
30
|
- [DataBundleModule 개별 디멘젼 설정](#databundlemodule-개별-디멘젼-설정)
|
|
@@ -104,19 +107,23 @@ const { TagWorksModule, DataBundleModule, StandardEventModule } = NativeModules;
|
|
|
104
107
|
|
|
105
108
|
| 옵션 | 타입 | 기본값 | 설명 |
|
|
106
109
|
| ------------------ | ------- | ------ | ---------------------------------------------------------------------------- |
|
|
107
|
-
| siteId | string | null | 행동 정보 수집 대상 사이트 식별자
|
|
108
|
-
| baseUrl | string | null | 행동 정보 데이터 수집 서버 url 주소
|
|
109
|
-
| isUseIntervals | boolean | false | interval 사용 여부, false 일 경우 dispatchInterval 값이 무시되고 항상 즉시 발송된다.
|
|
110
|
-
| dispatchInterval | long | 3 | 행동 정보 데이터 발송 주기 (초단위, <b>최소 3초, 최대 10초 설정)
|
|
111
|
-
| sessionTimeOut | long | 5 | 행동 정보 데이터 수집 서버의 연결 대기 시간 (초단위, <b>최소 3초, 최대 60초 설정)
|
|
112
|
-
| isManualDispatch | boolean | false | 행동 정보 데이터 수동 발송 여부
|
|
113
|
-
| appVersion | string | null | Application 버전 정보, 설정하지 않을 경우 내부 Application 버전 정보 전송
|
|
114
|
-
| appName | string | null | Application 이름, 설정하지 않을 경우 내부 Application 이름 전송
|
|
110
|
+
| siteId | string | null | 행동 정보 수집 대상 사이트 식별자 |
|
|
111
|
+
| baseUrl | string | null | 행동 정보 데이터 수집 서버 url 주소 |
|
|
112
|
+
| isUseIntervals | boolean | false | interval 사용 여부, false 일 경우 dispatchInterval 값이 무시되고 항상 즉시 발송된다. |
|
|
113
|
+
| dispatchInterval | long | 3 | 행동 정보 데이터 발송 주기 (초단위, <b>최소 3초, 최대 10초 설정) |
|
|
114
|
+
| sessionTimeOut | long | 5 | 행동 정보 데이터 수집 서버의 연결 대기 시간 (초단위, <b>최소 3초, 최대 60초 설정) |
|
|
115
|
+
| isManualDispatch | boolean | false | 행동 정보 데이터 수동 발송 여부 |
|
|
116
|
+
| appVersion | string | null | Application 버전 정보, 설정하지 않을 경우 내부 Application 버전 정보 전송 |
|
|
117
|
+
| appName | string | null | Application 이름, 설정하지 않을 경우 내부 Application 이름 전송 |
|
|
118
|
+
| isUseDynamicParameter | boolean | false | Dimension 동적 파라미터 사용 여부 (기본값 : false) |
|
|
119
|
+
|
|
|
115
120
|
|
|
116
121
|
- **siteId** 및 **baseUrl** 을 설정하지 않는 경우 SDK 초기화 과정에서 오류가 발생합니다.
|
|
117
122
|
- **isUseIntervals** 값을 false로 설정할 경우에는 dispatchInterval 값이 무시되고 항상 즉시 발송됩니다. <br>true로 설정할 경우에는 dispatchInterval 값에 지정된 초를 주기로 데이터를 발송합니다.
|
|
118
123
|
- **dispatchInterval** 은 큐에 저장된 행동 정보 데이터를 지정한 초만큼 주기로 발송하기 때문에, 지정한 시간 사이에 어플리케이션이 종료되는 경우 발송 할 수 없으니 적절한 시간으로 지정해야 합니다.
|
|
119
|
-
-
|
|
124
|
+
- isManualDispatch 값을 true 로 설정한 경우에는, 명시적으로 dispatch() 함수를 호출해야만 태깅 로그가 발송됩니다.
|
|
125
|
+
- **isUseDynamicParameter** 값을 true로 설정할 경우 Dimension의 key값을 문자형으로 사용하고, false로 설정할 경우 key값을 정수형으로 사용해야 합니다.
|
|
126
|
+
- **isUseDynamicParameter** 에 <span style="color:rgb(223, 95, 56)">설정한 값에 따른 해당 메소드와는 다른 Dimension 메소드를 사용 시 데이터가 올바르게 전송되지 않을 수 있습니다.</span>
|
|
120
127
|
- TagWorks SDK 인스턴스를 초기화 하기 위해서는 TagWorksModule 클래스를 이용합니다.
|
|
121
128
|
- TagWorks SDK 인스턴스는 **싱글톤 클래스**로 유지 되기 때문에 최초 초기화 한번으로 전역에서 호출 가능합니다.
|
|
122
129
|
<br>
|
|
@@ -132,6 +139,7 @@ TagWorksModule.initializeTagWorks(
|
|
|
132
139
|
false, // isManualDispatch
|
|
133
140
|
null, // appVersion
|
|
134
141
|
null, // appName
|
|
142
|
+
true // isUseDynamicParameter
|
|
135
143
|
);
|
|
136
144
|
```
|
|
137
145
|
|
|
@@ -144,7 +152,8 @@ TagWorksModule.initializeTagWorks(
|
|
|
144
152
|
| 옵션 | 타입 | 기본값 | 설명 |
|
|
145
153
|
| ---------- | ------- | --------------- | ------------------------------------------------------------------------- |
|
|
146
154
|
| userId | string | null | 수집 대상 고객 식별자 (사용자 계정) |
|
|
147
|
-
|
|
|
155
|
+
| adId | string | null | 수집 대상 광고 식별자 |
|
|
156
|
+
| optOut | boolean | false | 행동 정보 데이터 수집 여부 (true로 지정하면 수집하지 않음) |
|
|
148
157
|
| logLevel | int | 4 | 출력할 SDK 로그 레벨 설정 (2: VERBOSE, 3: DEBUG, 4: INFO, 5: WARN, 6: ERROR) |
|
|
149
158
|
|
|
150
159
|
<br/>
|
|
@@ -156,19 +165,22 @@ TagWorksModule.setLogLevel(3);
|
|
|
156
165
|
|
|
157
166
|
// 고객이 설정한 개인정보 수집 여부에 따라 수집 여부 지정
|
|
158
167
|
// 로그인을 완료한 사용자의 개인정보 수집여부를 판단하여 행동데이터의 수집 여부를 지정합니다.
|
|
159
|
-
//
|
|
168
|
+
// 태깅 로그 전송 제어 용도로도 사용 가능합니다.
|
|
160
169
|
TagWorksModule.setOptOut(false);
|
|
161
170
|
|
|
162
171
|
// 수집 대상자 고객 식별자 지정
|
|
163
172
|
// 고객 로그인 완료에 따라 수집 대상자 고객 식별자를 지정합니다.
|
|
164
173
|
TagWorksModule.setUserId(loginId);
|
|
174
|
+
|
|
175
|
+
// 수집 대상자 광고 식별자 지정
|
|
176
|
+
TagWorksModule.setAdId("광고식별자 UUID");
|
|
165
177
|
```
|
|
166
178
|
|
|
167
179
|
<br>
|
|
168
180
|
<br>
|
|
169
181
|
|
|
170
182
|
# 데이터 구성
|
|
171
|
-
서버로 전송할
|
|
183
|
+
서버로 전송할 태그 정의 데이터를 구성합니다.
|
|
172
184
|
|
|
173
185
|
## Dimension
|
|
174
186
|
|
|
@@ -188,16 +200,18 @@ TagWorksModule.setUserId(loginId);
|
|
|
188
200
|
|
|
189
201
|
- 공용 Dimension은 수집 로그 전송 시 공통적으로 전송해야 할 데이터를 설정하는 용도로 사용합니다.
|
|
190
202
|
- 공용 Dimension에서 사용된 index에 다른 Dimension을 덮어쓰지 않는 이상 한 번 설정된 공용 Dimension은 계속 유지됩니다.
|
|
191
|
-
- setCommonDimension() 함수를 사용하여 공용 Dimension 항목을 계속 추가할 수 있습니다.
|
|
192
|
-
- getCommonDimension() 함수를 사용하여 공용 Dimension 항목들을 가져올 수 있습니다.
|
|
203
|
+
- setCommonDimension() / setDynamicCommonDimension() 함수를 사용하여 공용 Dimension 항목을 계속 추가할 수 있습니다.
|
|
204
|
+
- getCommonDimension() / getDynamicCommonDimension() 함수를 사용하여 공용 Dimension 항목들을 가져올 수 있습니다.
|
|
193
205
|
|
|
194
206
|
<br/>
|
|
195
207
|
|
|
208
|
+
### Dimension 추가
|
|
209
|
+
|
|
196
210
|
> **TypeScript**
|
|
197
211
|
```js
|
|
198
212
|
//
|
|
199
|
-
// Set
|
|
200
|
-
//
|
|
213
|
+
// # Set
|
|
214
|
+
// index를 사용하여 설정 (SDK 초기화 설정 시 isUseDynamicParameter를 false로 설정한 경우 사용)
|
|
201
215
|
|
|
202
216
|
// Dimension - String Type
|
|
203
217
|
TagWorksModule.setCommonDimensionWithString(1, "계좌조회");
|
|
@@ -205,10 +219,25 @@ TagWorksModule.setCommonDimensionWithString(1, "계좌조회");
|
|
|
205
219
|
// Dimension - Numeric Type (Double형)
|
|
206
220
|
TagWorksModule.setCommonDimensionWithDouble(2, 30000.0);
|
|
207
221
|
```
|
|
222
|
+
|
|
208
223
|
```js
|
|
209
|
-
//
|
|
210
|
-
// Get
|
|
211
224
|
//
|
|
225
|
+
// # Set
|
|
226
|
+
// 동적 파라미터 key 값을 사용하여 설정 (SDK 초기화 설정 시 isUseDynamicParameter를 true로 설정한 경우 사용)
|
|
227
|
+
|
|
228
|
+
// Dimension - String Type
|
|
229
|
+
TagWorksModule.setDynamicCommonDimensionWithString("사용자행동01", '설정정보01');
|
|
230
|
+
|
|
231
|
+
// Dimension - Numeric Type (Double형)
|
|
232
|
+
TagWorksModule.setDynamicCommonDimensionWithDouble("사용자행동02", 10000.0);
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Dimension 가져오기
|
|
236
|
+
|
|
237
|
+
```js
|
|
238
|
+
//
|
|
239
|
+
// # Get
|
|
240
|
+
// 타입과 index를 사용하여 가져오기 (SDK 초기화 설정 시 isUseDynamicParameter를 false로 설정한 경우 사용)
|
|
212
241
|
|
|
213
242
|
// 타입별로 index 키를 가지고 해당 값을 리턴
|
|
214
243
|
// - return : String or Double
|
|
@@ -233,10 +262,39 @@ TagWorksModule.getCommonDimensionsOfArrayIndex((jsonString: any) => {
|
|
|
233
262
|
console.log('Received Dimensions ArrayIndex String:', parsedData);
|
|
234
263
|
});
|
|
235
264
|
```
|
|
265
|
+
|
|
236
266
|
```js
|
|
237
267
|
//
|
|
238
|
-
//
|
|
239
|
-
//
|
|
268
|
+
// # Get
|
|
269
|
+
// 동적 파라미터 key 값을 사용하여 가져오기 (SDK 초기화 설정 시 isUseDynamicParameter를 true로 설정한 경우 사용)
|
|
270
|
+
|
|
271
|
+
// key 값을 가지고 해당 값을 리턴
|
|
272
|
+
// - return : String or Double
|
|
273
|
+
TagWorksModule.getDynamicCommonDimension("사용자행동01", (value: any) => {
|
|
274
|
+
console.log(value);
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
// key 값 별로 리턴
|
|
278
|
+
// - return : JSONString
|
|
279
|
+
TagWorksModule.getDynamicCommonDimensions((jsonString: any) => {
|
|
280
|
+
console.log('Received CommonDimensions String:', jsonString);
|
|
281
|
+
});
|
|
282
|
+
|
|
283
|
+
// 공용 Dimension 정보를 가지고 있는 Array의 Index 순으로 리턴
|
|
284
|
+
// - return : JSONString
|
|
285
|
+
TagWorksModule.getDynamicCommonDimensionsOfArrayIndex((jsonString: any) => {
|
|
286
|
+
// JSON 문자열을 객체로 파싱
|
|
287
|
+
const parsedData = JSON.parse(jsonString);
|
|
288
|
+
console.log('Received Dimensions ArrayIndex String:', parsedData);
|
|
289
|
+
});
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### Dimension 삭제
|
|
293
|
+
|
|
294
|
+
```js
|
|
295
|
+
//
|
|
296
|
+
// # Delete
|
|
297
|
+
// 타입과 index를 사용하여 삭제하기 (SDK 초기화 설정 시 isUseDynamicParameter를 false로 설정한 경우 사용)
|
|
240
298
|
|
|
241
299
|
// 타입별 index 키를 가지고 삭제
|
|
242
300
|
TagWorksModule.removeCommonDimensionInGeneralType(1);
|
|
@@ -249,41 +307,58 @@ TagWorksModule.removeCommonDimensionWithArrayIndex(0);
|
|
|
249
307
|
TagWorksModule.removeAllCommonDimension();
|
|
250
308
|
```
|
|
251
309
|
|
|
310
|
+
```js
|
|
311
|
+
//
|
|
312
|
+
// # Delete
|
|
313
|
+
// 동적 파라미터 key 값을 사용하여 삭제하기 (SDK 초기화 설정 시 isUseDynamicParameter를 true로 설정한 경우 사용)
|
|
314
|
+
|
|
315
|
+
// 키 값을 가지고 삭제
|
|
316
|
+
TagWorksModule.removeDynamicCommonDimension("사용자행동02")
|
|
317
|
+
|
|
318
|
+
// 공용 Dimension 정보를 가지고 있는 Array의 Index를 이용해 삭제
|
|
319
|
+
TagWorksModule.removeDynamicCommonDimensionWithArrayIndex(0);
|
|
320
|
+
|
|
321
|
+
// 모든 공용 Dimension을 삭제
|
|
322
|
+
TagWorksModule.removeAllDynamicCommonDimension();
|
|
323
|
+
```
|
|
324
|
+
|
|
252
325
|
<br/>
|
|
253
326
|
|
|
254
327
|
## DataBundleModule
|
|
255
|
-
-
|
|
256
|
-
-
|
|
257
|
-
-
|
|
328
|
+
- 수집 로그 전송을 하기 위해 필요한 정보들을 담는 클래스로 기본 파라미터 및 Dimension 정보를 쉽게 관리할 수 있습니다.
|
|
329
|
+
- DataBundleModule 클래스는 key와 value의 집합으로 구성된 컨테이너입니다.
|
|
330
|
+
- 태그명 Key에 대응하는 값으로는 DataBundle 클래스가 제공하는 기본 태그 값을 사용하거나, 사용자 정의 String 값을 직접 입력할 수 있습니다.
|
|
258
331
|
- <mark>기본적으로 EVENT_TAG_NAME 값을 설정하지 않는 경우, 로그 전송이 이루어지지 않습니다.</mark>
|
|
259
|
-
-
|
|
332
|
+
- putDimensions() 또는 putDynamicDimension() 메소드를 이용하여 Dimension 객체를 DataBundle 내부에 추가하여 개별 디멘젼으로 사용할 수 있습니다.
|
|
260
333
|
|
|
261
334
|
<br/>
|
|
262
335
|
|
|
263
336
|
### DataBundleModule 클래스의 key 값으로 사용 가능한 파라미터
|
|
264
337
|
|
|
265
338
|
| 파라미터 (키) | 타입 | 설명 |
|
|
266
|
-
| -------------------------------| ------ |
|
|
267
|
-
| EVENT_TAG_NAME | string |
|
|
268
|
-
| EVENT_TAG_PARAM_TITLE | string | 화면 타이틀
|
|
269
|
-
| EVENT_TAG_PARAM_PAGE_PATH | string | 화면 경로
|
|
270
|
-
| EVENT_TAG_PARAM_KEYWORD | string | 검색어
|
|
271
|
-
| EVENT_TAG_PARAM_CUSTOM_PATH | string | 사용자 정의 경로 - 추가 분석을 위한 경로
|
|
339
|
+
| -------------------------------| ------ | ---------------------------------------- |
|
|
340
|
+
| EVENT_TAG_NAME | string | 태그명 |
|
|
341
|
+
| EVENT_TAG_PARAM_TITLE | string | 태그 화면 타이틀 |
|
|
342
|
+
| EVENT_TAG_PARAM_PAGE_PATH | string | 태그 화면 경로 |
|
|
343
|
+
| EVENT_TAG_PARAM_KEYWORD | string | 태그 검색어 |
|
|
344
|
+
| EVENT_TAG_PARAM_CUSTOM_PATH | string | 태그 사용자 정의 경로 - 추가 분석을 위한 경로 |
|
|
345
|
+
|
|
|
272
346
|
|
|
273
347
|
<br/>
|
|
274
348
|
|
|
275
|
-
### <span style="color: #6ba455">EVENT_TAG_NAME</span> 에 대응하는 값으로 사용할 수 있는 Standard
|
|
349
|
+
### <span style="color: #6ba455">EVENT_TAG_NAME</span> 에 대응하는 값으로 사용할 수 있는 Standard 태그
|
|
276
350
|
|
|
277
351
|
| EVENT_TAG_NAME | 설명 |
|
|
278
352
|
| -------------- | -------------------- |
|
|
279
|
-
| PAGE_VIEW | 페이지뷰
|
|
280
|
-
| CLICK | 클릭
|
|
281
|
-
| SCROLL | 화면 스크롤
|
|
282
|
-
| DOWNLOAD | 파일 다운로드
|
|
283
|
-
| OUT_LINK | 링크 이동
|
|
284
|
-
| SEARCH | 검색
|
|
285
|
-
| ERROR | 오류 발생
|
|
286
|
-
| REFERRER | 유입 경로
|
|
353
|
+
| PAGE_VIEW | 페이지뷰 태그 |
|
|
354
|
+
| CLICK | 클릭 태그 |
|
|
355
|
+
| SCROLL | 화면 스크롤 태그 |
|
|
356
|
+
| DOWNLOAD | 파일 다운로드 태그 |
|
|
357
|
+
| OUT_LINK | 링크 이동 태그 |
|
|
358
|
+
| SEARCH | 검색 태그 |
|
|
359
|
+
| ERROR | 오류 발생 태그 |
|
|
360
|
+
| REFERRER | 유입 경로 태그 |
|
|
361
|
+
|
|
|
287
362
|
|
|
288
363
|
<br/>
|
|
289
364
|
|
|
@@ -300,30 +375,34 @@ DataBundleModule.initialize();
|
|
|
300
375
|
DataBundleModule.initDataBundle(bundleString);
|
|
301
376
|
```
|
|
302
377
|
|
|
378
|
+
<br>
|
|
379
|
+
|
|
303
380
|
### DataBundleModule 파라미터 설정
|
|
304
381
|
|
|
305
382
|
> **JavaScript**
|
|
306
383
|
|
|
307
384
|
```js
|
|
308
|
-
//
|
|
385
|
+
// 태그명 - Standard 태그 or 사용자 정의 태그명
|
|
309
386
|
DataBundleModule.putString(DataBundleModule.EVENT_TAG_NAME, StandardEventModule.PAGE_VIEW);
|
|
310
387
|
// 화면(뷰) 타이틀
|
|
311
|
-
DataBundleModule.putString(DataBundleModule.EVENT_TAG_PARAM_TITLE, "
|
|
388
|
+
DataBundleModule.putString(DataBundleModule.EVENT_TAG_PARAM_TITLE, "화면타이틀");
|
|
312
389
|
// 화면 경로
|
|
313
|
-
DataBundleModule.putString(DataBundleModule.EVENT_TAG_PARAM_PAGE_PATH, "
|
|
390
|
+
DataBundleModule.putString(DataBundleModule.EVENT_TAG_PARAM_PAGE_PATH, "/화면경로");
|
|
314
391
|
// 검색어
|
|
315
|
-
DataBundleModule.putString(DataBundleModule.EVENT_TAG_PARAM_KEYWORD, "
|
|
392
|
+
DataBundleModule.putString(DataBundleModule.EVENT_TAG_PARAM_KEYWORD, "검색어");
|
|
316
393
|
// 사용자 정의 url
|
|
317
|
-
DataBundleModule.putString(DataBundleModule.EVENT_TAG_PARAM_CUSTOM_PATH, "
|
|
394
|
+
DataBundleModule.putString(DataBundleModule.EVENT_TAG_PARAM_CUSTOM_PATH, "/사용자정의 경로");
|
|
318
395
|
```
|
|
319
396
|
|
|
397
|
+
<br>
|
|
398
|
+
|
|
320
399
|
### DataBundleModule 개별 디멘젼 설정
|
|
321
400
|
|
|
322
401
|
> **TypeScript**
|
|
323
402
|
```js
|
|
324
403
|
//
|
|
325
|
-
// Set
|
|
326
|
-
//
|
|
404
|
+
// # Set
|
|
405
|
+
// 타입과 index를 사용하여 Dimension 설정 (SDK 초기화 설정 시 isUseDynamicParameter를 false로 설정한 경우 사용)
|
|
327
406
|
|
|
328
407
|
// Dimension - String Type
|
|
329
408
|
DataBundleModule.putDimensionWithString(11, "나의계좌");
|
|
@@ -331,10 +410,23 @@ DataBundleModule.putDimensionWithString(11, "나의계좌");
|
|
|
331
410
|
// Dimension - Numeric Type (Double형)
|
|
332
411
|
DataBundleModule.putDimensionWithDouble(12, 10000);
|
|
333
412
|
```
|
|
413
|
+
|
|
334
414
|
```js
|
|
335
|
-
//
|
|
336
|
-
// Get
|
|
337
415
|
//
|
|
416
|
+
// # Set
|
|
417
|
+
// 동적 파라미터 key 값을 사용하여 설정 (SDK 초기화 설정 시 isUseDynamicParameter를 true로 설정한 경우 사용)
|
|
418
|
+
|
|
419
|
+
// Dimension - String Type
|
|
420
|
+
DataBundleModule.putDynamicDimensionWithString("사용자행동01", '설정정보01');
|
|
421
|
+
|
|
422
|
+
// Dimension - Numeric Type (Double형)
|
|
423
|
+
DataBundleModule.putDynamicDimensionWithDouble("사용자행동02", 10000.0);
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
```js
|
|
427
|
+
//
|
|
428
|
+
// # Get
|
|
429
|
+
// 타입과 index를 사용하여 Dimension 가져오기 (SDK 초기화 설정 시 isUseDynamicParameter를 false로 설정한 경우 사용)
|
|
338
430
|
|
|
339
431
|
// 타입별로 index 키를 가지고 해당 값을 리턴
|
|
340
432
|
// - return : String or Double
|
|
@@ -348,7 +440,7 @@ DataBundleModule.getDimensionWithDouble(2, (value: any) => {
|
|
|
348
440
|
// GeneralType(String)과 FactType(Double) 별로 리턴
|
|
349
441
|
// - return : JSONString
|
|
350
442
|
DataBundleModule.getDimensions((jsonString: any) => {
|
|
351
|
-
console.log('Received Dimensions String:', jsonString);
|
|
443
|
+
console.log('Received DataBundle Dimensions String:', jsonString);
|
|
352
444
|
});
|
|
353
445
|
|
|
354
446
|
// 개별 Dimension 정보를 가지고 있는 Array의 Index 순으로 리턴
|
|
@@ -356,13 +448,40 @@ DataBundleModule.getDimensions((jsonString: any) => {
|
|
|
356
448
|
DataBundleModule.getDimensionsOfArrayIndex((jsonString: any) => {
|
|
357
449
|
// JSON 문자열을 객체로 파싱
|
|
358
450
|
const parsedData = JSON.parse(jsonString);
|
|
359
|
-
console.log('Received Dimensions ArrayIndex String:', parsedData);
|
|
451
|
+
console.log('Received DataBundle Dimensions ArrayIndex String:', parsedData);
|
|
360
452
|
});
|
|
361
453
|
```
|
|
454
|
+
|
|
455
|
+
```js
|
|
456
|
+
//
|
|
457
|
+
// # Get
|
|
458
|
+
// 동적 파라미터 key 값을 사용하여 가져오기 (SDK 초기화 설정 시 isUseDynamicParameter를 true로 설정한 경우 사용)
|
|
459
|
+
|
|
460
|
+
// key 값을 가지고 해당 값을 리턴
|
|
461
|
+
// - return : String or Double
|
|
462
|
+
DataBundleModule.getDynamicDimension("사용자행동01", (value: any) => {
|
|
463
|
+
console.log(value);
|
|
464
|
+
});
|
|
465
|
+
|
|
466
|
+
// key 값 별로 리턴
|
|
467
|
+
// - return : JSONString
|
|
468
|
+
DataBundleModule.getDynamicDimensions((jsonString: any) => {
|
|
469
|
+
console.log('Received DataBundle Dimensions String:', jsonString);
|
|
470
|
+
});
|
|
471
|
+
|
|
472
|
+
// 개별 Dimension 정보를 가지고 있는 Array의 Index 순으로 리턴
|
|
473
|
+
// - return : JSONString
|
|
474
|
+
DataBundleModule.getDynamicDimensionsOfArrayIndex((jsonString: any) => {
|
|
475
|
+
// JSON 문자열을 객체로 파싱
|
|
476
|
+
const parsedData = JSON.parse(jsonString);
|
|
477
|
+
console.log('Received DataBundle Dimensions ArrayIndex String:', parsedData);
|
|
478
|
+
});
|
|
479
|
+
```
|
|
480
|
+
|
|
362
481
|
```js
|
|
363
482
|
//
|
|
364
483
|
// Delete
|
|
365
|
-
//
|
|
484
|
+
// 타입과 index를 사용하여 삭제하기 (SDK 초기화 설정 시 isUseDynamicParameter를 false로 설정한 경우 사용)
|
|
366
485
|
|
|
367
486
|
// 타입별 index 키를 가지고 삭제
|
|
368
487
|
DataBundleModule.removeDimensionInGeneralType(11);
|
|
@@ -375,13 +494,27 @@ DataBundleModule.removeDimensionWithArrayIndex(0);
|
|
|
375
494
|
DataBundleModule.removeAllDimension();
|
|
376
495
|
```
|
|
377
496
|
|
|
497
|
+
```js
|
|
498
|
+
//
|
|
499
|
+
// Delete
|
|
500
|
+
// 동적 파라미터 key 값을 사용하여 삭제하기 (SDK 초기화 설정 시 isUseDynamicParameter를 true로 설정한 경우 사용)
|
|
501
|
+
|
|
502
|
+
// key 값을 가지고 삭제
|
|
503
|
+
DataBundleModule.removeDynamicDimension("사용자행동01");
|
|
504
|
+
|
|
505
|
+
// 개별 Dimension 정보를 가지고 있는 Array의 Index를 이용해 삭제
|
|
506
|
+
DataBundleModule.removeDynamicDimensionWithArrayIndex(0);
|
|
507
|
+
|
|
508
|
+
// 모든 개별 Dimension을 삭제
|
|
509
|
+
DataBundleModule.removeAllDynamicDimension();
|
|
510
|
+
```
|
|
378
511
|
<br>
|
|
379
512
|
<br>
|
|
380
513
|
|
|
381
514
|
# 로그 전송
|
|
382
515
|
|
|
383
516
|
- logEvent() 함수를 호출하여 로그를 전송합니다.
|
|
384
|
-
- 로그 타입에는
|
|
517
|
+
- 로그 타입에는 페이지뷰 태그, 사용자 태그 두 가지 타입이 존재합니다.
|
|
385
518
|
- 로그 타입이 TagWorks.EVENT_TYPE_PAGE 인 경우
|
|
386
519
|
- `EVENT_TAG_NAME 값이 StandardEvent.PAGE_VIEW 인 경우, EVENT_TAG_PARAM_PAGE_PATH 값은 필수 파라미터입니다.`
|
|
387
520
|
- 로그 타입이 TagWorks.EVENT_TYPE_USER_EVENT 인 경우
|
|
@@ -407,7 +540,7 @@ DataBundleModule.getDataBundle((bundleString: any) => {
|
|
|
407
540
|
# Web View 연동
|
|
408
541
|
|
|
409
542
|
- Web / App 연동을 위한 interface 를 제공합니다.
|
|
410
|
-
- 앱에서 Tag Manager Code Snippet 이 포함된 웹뷰를 실행하면, 웹뷰에서 발생된
|
|
543
|
+
- 앱에서 Tag Manager Code Snippet 이 포함된 웹뷰를 실행하면, 웹뷰에서 발생된 태깅 로그는 SDK를 통하여 앱으로 전송됩니다.
|
|
411
544
|
- WebView의 onMessage 내부에 TagWorksModule의 webInterfaceDidReceive() 함수 호출이 필요합니다.
|
|
412
545
|
- 로그인 시 사용자 맵핑을 위해 로그인 시점에 userId 설정하는 부분과 App에서 설정한 Dimension 값을 WebView에서 사용하기 위해 쿠키를<br>
|
|
413
546
|
설정하는 부분에 있어 부분적인 대응 개발이 필요할 수 있습니다.
|
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.22"
|
|
104
104
|
}
|
|
105
105
|
|