유누킴

1인 개발자의 광고 네트워크 구축기 본문

내가 만든 앱

1인 개발자의 광고 네트워크 구축기

Yunhoo_kim 2020. 3. 25. 16:58
728x90

안녕하세요. iOS, Android 앱을 만들고 있는 앱장이 유누킴입니다.

 

현재 저는 간헐적 단식을 관리하는 간단( https://gandan.page.link/install  ), 오늘의 운동을 기록하고 관리하는 오늘의 운동 (https://apps.apple.com/kr/app/오늘의-운동-운동-기록-헬스-기록-앱/id1470548485) 외 다양한 앱을 개발하고 서비스하고 있습니다.

 

많은 앱 개발자들은 광고를 통해 수익을 창출하고, 서비스를 운영하고 있습니다.

기존의 AdMob, GoogleAds 등 다양한 광고 네트워크사를 통해서 초기 앱에 바로 광고를 게재해 수익을 창출할 수 있습니다.

저도 기존에 애드몹을 사용해서 앱에 광고를 게재하고 있었어요.

하지만 실제로 사용자가 광고를 클릭해야 수익이 발생하기 때문에(노출도 수익이 발생하지만 정말 미미한 수준) 광고로 인한 수익은 크지 않아요.

따라서 사용자들이 앱에서 광고 클릭을 유도할 수 있도록 개발하는 앱이 많습니다.

 

또한 기존의 광고 네트워크를 사용하다보면 각각 개인에게 맞는 광고가 게재될 수 있지만, 내 앱의 특성과 맞는 광고를 게재하기는 어려운 부분이 있어요.

저는 간헐적 단식 앱을 하고 있는데 삼겹살 광고가 나온다던가....

 

또한 앱의 디자인을 망치는 경우도 많아요.

 

이런 광고 네트워크를 사용하면서 실제 사용자들로 부정적인 인식을 받아 앱을 삭제한 경우가 생기고, 그에 비해서 실제 광고로 들어오는 수익은 미미하던 찰나, 현재 고객사로 부터 앱에 배너 광고를 게재하고 싶다는 연락을 받았고, 나만의 광고 네트워크를 구축하기로 결정했습니다.

 

** 제가 광고 네트워크라고 언급했지만, 실제로 제가 서비스하고 있는 앱에서 사용하기 위해 만든 것이기 때문에 사용자 한명한명 타겟팅이 되는 기존의 고급 광고네트워크가 아니라 각 앱에 특성에 맞는 광고를 게재하는 목적으로 만들었어요.

 

저는 앱과 서버를 다 다룰줄 아는 풀스택 개발자입니다. (자랑입니다..)

광고네트워크 서버는 Django를 이용했으며 데이터베이스는 Postgresql, 서버는 AWS Seoul 리전에 배포해서 구축했어요.

 

우선 광고 네트워크를 만들기 위해 필요한 기획을 작성했어요.

 

    1. 광고를 게재 및 수정할 수 있어야 한다.

    2. 광고를 게재할 앱을 관리할 수 있어야 한다.

    3. 광고주가 로그인해 광고 성과를 확인 및 수정할 수 있어야 한다.

    4. 광고는 앱 설치광고, 링크 광고, 팝업 광고 등 다양한 광고를 게재할 수 있게 한다.

    5. 광고 클릭 수, 노출 수를 수집하고 확인할 수 있어야 한다.

 

 

1. 광고 데이터 설계

  광고는 이미지로 제공되며 클릭 시 앱 설치, 링크, 팝업 형태로 제공된다.

이에따라 필요한 데이터는 다음과 같을 것이다.

 

type을 두고 어떤 형태의 광고인지와

어떤 앱에 광고할지

이 앱의 광고주는 누구인지를 유지할 수 있는

광고 모델

 

 

 

 

 

 

 

 

현재 내가 만든 어떤 앱들에 광고를 할지 선택해야 하기 때문에 앱의 정보를 저장하기 위한 

어플리케이션 모델

 

 

 

 

 

이 외에도 광고주 모델과 광고 로그를 저장하는 모델이 있다.

 

2. 광고 로딩 알고리즘

정말 간단하다.

앱에서 자기 앱에 게재할 수 있는 광고를 요청하고, 서버는 해당 광고를 보내주고, 앱에서 광고가 노출 혹은 클릭이 될 경우 로그를 남기고, 해당 로그로 광고주 사이트에서 광고주가 광고 효율을 확인할 수 있게한다.

 

 

3. 실제로 개발 시작

이제 광고 네트워크 서버를 구축하기 시작하자.

광고 서버는 Django로 개발하고 Postgresql을 DB로 사용하며 AWS 가상 서버에 서버를 배포해서 사용했다.

 

- 슈퍼 관리자 및 광고주 로그인 페이지 개발

Simple is the best.

아주 좋다. 이메일 비밀번호 로그인. 아주 직관적으로 로그인에만 집중할 수 있는 페이지 완성.

 

- 슈퍼관리자 페이지 개발

광고주 멤버십을 관리할 수 있어야하고, 광고를 관리할 수 있어야하며, 각 앱을 관리할 수 있어야한다.

 

광고주들의 정보는 소중하므로 개인정보 처리를 완료하였습니다.

슈퍼 광고주는 앱을 등록하고, 광고를 등록 및 삭제 가능합니다.

 

또한 각 광고의 효율을 파악하기 위해 광고 데이터 분석 그래프를 추가해줬습니다. 

 

 

 

자 그럼 이제 슈퍼 관리자가 사용할 수 있는 페이지는 완성 되었고, 일반 광고주들이 들어와서 확인할 수 있는 페이지를 만들었어요.

슈퍼 관리자 페이지와 크게 다를 것 없이 관리자 기능은 빼고 광고 리스트와 효율을 볼 수 있는 광고를 자신이 소유하고 있는 광고만 볼 수 있도록 구축했습니다.

 

제가 구축한 광고네트워크는 사용자 나이, 쿠키, 방금 들렸던 사이트 정보를 분석해서 광고를 노출하는 것이 아닌 제가 만든 앱 네트워크 내에서 앱 특성에 맞는 광고하기 위한 광고 솔루션을 제작했습니다.

 

다이어트 앱에선 다이어트 관련 제품을, 운동 앱에서는 운동 관련 제품을 홍보하여 사용자에게 효율적으로 광고 홍보 할 수 있을 것이라고 판단했어요( 사실 기존의 광고 네트워크를 혼자 구축하기엔 너무 어렵기에...)

 

저는 앞으로 계속해서 새로운 앱을 개발하고 서비스할 예정이고, 앞으로 광고 네트워크, 앱도 계속해서 Lean하게 개발할 예정입니다.

자랑글 읽어 주셔서 감사합니다.