로그 남기기
지난 포스팅에서 Cookie에 사용자 식별정보를 담아, 비로그인 사용자를 구분할 수 있게 되었습니다. 이번에는 광고 시청을 완료했을 때, txt파일에 로그를 남겨보겠습니다.
현재 프로젝트에서는 DB대신 txt파일을 활용하여 데이터를 저장하고 있습니다. DB를 도입할 경우, 서버에서 JSON형태의 응답을 준다고 가정하여, ad.txt를 다음과 같이 설정하였습니다.
이름 | 타입 | 설명 |
seq | int | 광고의 고유한 sequence |
contents | string | 화면에 노출 할 광고 내용 |
{"seq":1, "contents": "광고 노출 중"}
{"seq":2, "contents": "텍스트 광고 입니다"}
{"seq":3, "contents": "텍스트 광고3"}
{"seq":4, "contents": "광고4"}
{"seq":5, "contents": "광고5"}
{"seq":6, "contents": "광고6"}
{"seq":7, "contents": "광고7"}
{"seq":8, "contents": "광고8"}
{"seq":9, "contents": "광고9"}
{"seq":10, "contents": "광고10"}
각 광고는 고유한 seq로 구분되고 있습니다. 이 seq와 사용자의 uuid를 기준으로, 다음과 같은 형태의 로그를 생성했습니다.
이름 | 타입 | 설명 |
timestamp | DateTime (yyyy-MM-dd HH:mm:ss.SSS) | 로그가 발생한 시점 |
action | string | 사용자의 행동. 상호작용. |
target | int | 광고 식별자 (seq) |
contents | string | 광고 내용 (contents) |
uuid | string | 사용자 식별자 (UUID) |
{"timestamp":"2024-05-15 15:11:26.0882","action":"광고 시청","target":8,"contents":"광고8","uuid":"e660b3b7-cf2c-4d7f-abda-c05d5f16eb20"}
{"timestamp":"2024-05-15 15:12:33.0745","action":"광고 시청","target":1,"contents":"광고 노출 중","uuid":"e660b3b7-cf2c-4d7f-abda-c05d5f16eb20"}
{"timestamp":"2024-05-15 15:13:43.0486","action":"광고 시청","target":2,"contents":"텍스트 광고 입니다","uuid":"e660b3b7-cf2c-4d7f-abda-c05d5f16eb20"}
{"timestamp":"2024-05-15 15:22:41.0011","action":"광고 시청","target":3,"contents":"텍스트 광고3","uuid":"e660b3b7-cf2c-4d7f-abda-c05d5f16eb20"}
{"timestamp":"2024-05-15 15:22:53.0439","action":"광고 시청","target":4,"contents":"광고4","uuid":"e660b3b7-cf2c-4d7f-abda-c05d5f16eb20"}
이제 로그를 바탕으로, 사용자가 어떤 광고를 제일 많이 조회하였는지, 또 가장 최근에 조회한 광고는 무엇인지 파악할 수 있습니다.
반응형
'프로젝트 > 수튜브 : 유튜브 클론코딩' 카테고리의 다른 글
중복 광고 노출 방지(1) 클라이언트 식별 - 비로그인 유저를 어떻게 구분할 수 있을까? (0) | 2024.05.11 |
---|---|
210718 [수튜브] - 브라우저의 저장소 (0) | 2021.07.18 |
210710 [수튜브] - 이슈트래킹 + 커스텀 컨트롤러 리팩토링 (0) | 2021.07.11 |