중복 광고 노출 방지(2) 로그 남기기
프로젝트/수튜브 : 유튜브 클론코딩

중복 광고 노출 방지(2) 로그 남기기

로그 남기기

지난 포스팅에서 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"}

 

 

이제 로그를 바탕으로, 사용자가 어떤 광고를 제일 많이 조회하였는지, 또 가장 최근에 조회한 광고는 무엇인지 파악할 수 있습니다.

 

반응형