# 로그 전송 script 작성 방법

# 환경 별 81plug 로그 전송 스크립트 주소

각 페이지에 81plug 로그 전송 스크립트를 링크합니다.

환경 스크립트
Gate8 <script src="//dvudc0gwzz5wc.cloudfront.net/v3.1/sandbox/svc_81plug.min.js"></script>
Live <script src="//dvudc0gwzz5wc.cloudfront.net/v3.1/live/svc_81plug.min.js"></script>

# 각 영역별 정의

# 1. 공통영역을 정의 합니다.

var identity_info = { 공통영역 정의 };
svcLog.identity(identity_info);
1
2
  • 페이지 하단의 공통 영역 정의 예시 참고

# 2. 액션 영역을 정의 후 로그를 발송 합니다.

# click 인 경우

  • 클릭 로그 발송
var action_info = { 액션영역 정의 };
svcLog.click(action_info, event);   // 로그 발송
1
2
  • 페이지 하단의 액션 영역 정의 예시의 action type이 click인 경우 참고
  • event는 click 이벤트 발생 시의 event 객체입니다

# view 인 경우

  • 뷰 로그 발송
var action_info = { 액션영역 정의 };
svcLog.click(action_info, event);   // 로그 발송
1
2
  • 페이지 하단의 액션 영역 정의 예시의 action type이 view인 경우 참고

# 사용자 정의 액션 영역인 경우

  • 사용자 정의 액션 로그 발송
var action_info = { 액션영역 정의 };
var custom_action_info = { 사용자 정의 액션 영역 정의 };
svcLog.action(action_info,  custom_action_info, event);     // 로그 발송
1
2
3
  • 페이지 하단의 액션 영역 정의 예시의 사용자 정의 액션인 경우 참고
  • event는 이벤트 발생 시의 event 객체입니다

# Sample

# 공통 영역 정의 예시

  • onstove 로그 예시
  • svcLog.identity 함수의 인자로 넘길 객체 예시입니다
{
    "log_source_type": "pcweb",
    "app_id":"stove",
    "channeling_cd":"SO",
    "member_no":"191797967",
    "country":"KR",
    "locale":"ko"
 }
1
2
3
4
5
6
7
8

# 액션 영역 정의 예시

# action_type이 click일 경우

  • onstove click 로그 예시
{
    "action_type": "click",
    "action_param": {
        "service": "main",
        "click_type": "other",
        "click_area": "game_curation_thum",
        "click_sarea": "tab_button",
        "click_item": {
            "game_no": "45"
        },
        "position_scrolltop": 0,
        "position_scrollleft": 0,
        "position_x": 67,
        "position_y": 442
    },
    "current_url": "https://www.onstove.com/",
    "extra_data": {
        "query": {},
        "params": {},
        "full_path": ""
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  • 유저가 click 액션을 발생할 경우 발송
  • svcLog.click 함수의 인자로 넘길 객체 예시입니다

# 대상 & 정책

  • action_info.action_param.click_area
    • 웹서비스의 click 기능 영역 정의 (대분류)
    • 카테고리 범위를 정의한다.
    • 서비스 영역을 특정하는 것으로, 해당 서비스에서 다른 로그가 중복되지 않도록 정의
  • action_info.action_param.click_sarea
    • 웹서비스의 click 기능 영역 정의 (소분류)
    • 카테고리 내의 개별 기능을 정의한다.
    • 서비스 영역을 특정하는 것으로, 해당 서비스에서 다른 로그가 중복되지 않도록 정의
  • action_info.action_param.click_item
    • click 로그를 통해서 얻고 싶은 정보가 있을 때 활용한다.
    • 서비스 특성에 맞는 로그를 남겨야 할때 정의한다.(서비스 특징에 맞게 정의 가능)
    • 해당 click(기능) 을 통해서 집계돼야 하는 로그 유형들 정의
      -로그 개발 여부는 로그를 개발하는 팀의 확인이 필요

# action_type이 view일 경우

  • onstove view 로그 예시
  • 유저가 스토브 서비스 내에서 홈페이지를 열어본 횟수
  • svcLog.view 함수의 인자로 넘길 객체 예시입니다

{
    "action_type": "view",
    "action_param": {
        "view_type": "view_frame",
        "base_url": "",
        "from_url": "",
        "view_id": "2534dc46-864d-c80c-d5ae-10ed4d1b1c3d",
        "view_area": "integrated_banner",
        "service": "main",
        "view_info": {
            "integrated_banner": {
                "component_no": 1,
                "banner_no": 6
            }
        },
        "position_scrolltop": 0,
        "position_scrollleft": 0
    },
    "current_url": "https://www.onstove.com/",
    "extra_data": {
        "query": {},
        "params": {},
        "full_path": "https://www.onstove.com/"
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 대상 & 정책

  • action_info.action_param.view_area
    • 유저가 방문한 웹서비스의 화면의 정의
    • 한 서비스 내에서 view_area 중복 사용은 불가
  • action_info.action_param.view_type
    • pageView
      • 웹서비스에 페이지가 열리는 경우
      • 서비스 화면을 전활 할때 발생하는 페이지
    • view_frame
      • 특정영역의 view를 확인하고자 하는 경우
      • 서비스 성격이 pageView는 아니지만 view 성격을 가지고 있어 별도로 데이터를 집계하고 싶은 경우
        • 사용예시)
          • 팝업: 팝업의 경우 pageView 가 아닌 view_frame 으로 정의한다.
          • 콤포넌트: 콤포넌트 영역별로 view_frame으로 정의한다
          • 레이어 팝업은 view_frame 정의한다.
          • 이러한 영역은 반드시 view_frame 으로 정의해서 별도의 집계를 해야함.
          • 이러한 영역들이 pageView 집계에 영향을 줘서는 안된다.
  • action_info.action_param.view_info
    • view 로그를 통한 부가 정보를 얻고 싶을 때 활용한다
    • 서비스 특성에 맞는 로그를 남겨야 할때 사용하며 서비스 특징에 맞게 정의 가능
    • 해당 view(기능) 을 통해서 집계 돼야 하는 로그 유형들 정의
      • 서비스에 특화된 부분을 지표로 보고자 할때는 반드시 view_info를 활용해야하며 담당자와 협의해 정의한다. ex) board_seq, article_id, room_no 등..

# 사용자 정의 액션 영역 경우

  • 사용자 정의 액션(custom_action_type)의 action_type, action_category1, action_category2와 같은 속성들은 미리 정의된 값이 없으며, 기획자의 의도대로 정의하여 사용하실 수 있습니다.
code 설명
action_type 커스텀 액션 구분
action_category1 액션 카테고리(상위)
action_category2 액션 카테고리(하위)
action_simple_value 액션 값
action_param 액션 파라미터 데이터

# 예시 1 ) custom_action_type이 tutorial인 경우

{
    "action_type":"tutorial",
    "action_category1":"tutorial00.view",
    "action_category2":"",
    "action_simple_value":1,
    "action_param":{"a" : "b"}
}
1
2
3
4
5
6
7

# 예시 2 ) custom_action_type이 signin인 경우

{
    "action_type":"stoveapp.auth",
    "action_category1":"terms.view",
    "action_category2":"2", //게임코드(TR)
    "action_simple_value":10,
    "action_param":{"a" : "b"}
}   
1
2
3
4
5
6
7

# 연동 scrpit 샘플

// 모바일 웹에서 visit action_type 연동 시
// 웹 페이지에 아래의 코드 삽입. ‘live’환경 기준 샘플
<script src="//dvudc0gwzz5wc.cloudfront.net/v3.1/live/svc_81plug.min.js"></script> 
<script>
// 공통 영역(유저 정보)
var identity_info = {
    "log_source_type": "pcweb",
    "app_id":"stove",
    "channeling_cd":"SO",
    "member_no":"191797967",
    "country":"KR",
    "locale":"ko"
 }

// 표준 액션 정보 click
var action_info = {
    "action_type": "click",
    "action_param": {
        "service": "main",
        "click_type": "other",
        "click_area": "game_curation_thum",
        "click_sarea": "tab_button",
        "click_item": {
            "game_no": "45"
        },
        "position_scrolltop": 0,
        "position_scrollleft": 0,
        "position_x": 67,
        "position_y": 442
    },
    "current_url": "https://www.onstove.com/",
    "extra_data": {
        "query": {},
        "params": {},
        "full_path": ""
    }
}


// 표준 액션 정보 view
/*
var action_info = {
    "action_type": "view",
    "action_param": {
        "view_type": "view_frame",
        "base_url": "",
        "from_url": "",
        "view_id": "2534dc46-864d-c80c-d5ae-10ed4d1b1c3d",
        "view_area": "integrated_banner",
        "service": "main",
        "view_info": {
            "integrated_banner": {
                "component_no": 1,
                "banner_no": 6
            }
        },
        "position_scrolltop": 0,
        "position_scrollleft": 0
    },
    "current_url": "https://www.onstove.com/",
    "extra_data": {
        "query": {},
        "params": {},
        "full_path": "https://www.onstove.com/"
    }
}
*/


// 커스텀 액션 정보 - custom_action_type이 tutorial인 경우
var custom_action_info = {
    "action_type":"tutorial",
    "action_category1":"tutorial00.view",
    "action_category2":"",
    "action_simple_value":1,
    "action_param":{"a" : "b" …}
}

// 커스텀 액션 정보 - custom_action_type이 signin인 경우
/*
var custom_action_info = {
    "action_type":"stoveapp.auth",
    "action_category1":"terms.view",
    "action_category2":"2", //게임코드(TR)
    "action_simple_value":10,
    "action_param":{"a" : "b" …}
}     
*/
    svcLog.identity(identity_info);.
    svcLog.action(action_info, custom_action_info , event);    // send log, event = event object
</script>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
Last Updated: 2023. 9. 8. 오전 1:13:14