안녕하세요.


오랫만에 글을 남기게되네요.


몇 몇 분께서는 저를 아시겠지만, 저는 '전국버스'라는 앱의 개발자입니다.

저는 안드로이드용과 아이폰용을 모두 개발하여 배포 중에 있습니다.


안드로이드용에는 AD@M+AdWhirl(AdSense), 아이폰용에는 Cauly+AdSense로 광고를 붙였었습니다.

최근에 아이폰용은 AD@M+AdMob으로 변경을 했습니다.


일반적으로 안드로이드는 Activity라는 단위로 장면전환이 이뤄지죠.

각각의 Activity는 상당히 독립적으로 실행되며 여러 Activity간 자유로운(?) 상호작용은 거의 불가능이죠. (Intent를 통하지 않고서는...)

이런 원인 때문에 모든 Activity에 광고를 장착하는 것은 사실상 어려웠고, 새로운 Activity가 start되면 새로운 Activity에 장착되어 있는 새로운 광고뷰에서 광고를 새로 로드해야하는 문제가 있었습니다.

A라는 Activity에서 광고가 로드되어있었는데, B라는 Activity가 그 위를 덮어버리면, B Activity에서는 광고를 새로 로드하던가(시간이 걸리죠), 그냥 광고를 안 달고 가던가하는 수 밖에 없었을 겁니다.

제 앱도 물론 그랬습니다.


하지만 아이폰은 좀 달랐습니다.

화면에 존재하는 모든 것은 말그대로 View를 중첩해놓은 식입니다. 안드로이드의 Activity 스택 구조와는 다소 다르죠.

안드로이드는 Activity마다 View 스택이 다 따로 있습니다만, 아이폰은 앱 하나가 하나의 View 스택을 사용하는 구조로 되어있습니다.

이것은 단 하나의 광고뷰를 가지고 사용자가 어떤 조작을 하던, 사용자의 눈에서 그 광고뷰가 사라지지 않게 할 수도 있었습니다.


웹으로 비유하자면, 여러개의  html을 이용해 웹사이트가 만들어지는 것과,(항상 리프레쉬가 일어나죠)

하나의 html에 javascript 테크닉을 이용해 모든 화면을 구현하는 것과 비슷한 차이(컨텐츠 영역에서만 리프레쉬가 일어나죠)라고 보면 될 지도 모르겠습니다.


아마, 광고에 대해서 관심을 많이 가지신 개발자분들께서는,  하나의 광고가 눈 앞에서 오래 머물 수록 클릭률이 올라간다는 건 아실 겁니다.


몇 가지 경험적으로 데이터를 얻을 수 있었는데,


1.

안드로이드용 전국버스 앱은 가장 처음의 Activity에만 광고가 있고 다른 액티비티들에는 광고가 없습니다. 액티비티마다 광고를 새로 로드하는 상황은 그다지 원치 않았기 때문에 광고뷰를 넣지 않았습니다.


2,

아이폰용 전국버스 앱은 광고뷰가 눈에서 사라지지 않게 구현해놨습니다.  앱이 실행되서 종료될 때까지 단 하나의 광고뷰가 고정된 위치에서 절대 안 없어지고 그대로 있습니다. 메뉴를 옮겨다니더라도 광고뷰의 상단에서만 컨텐츠가 바뀌는 식이죠.


3.

최근에 제가 수행했던 어떤 안드로이드 프로젝트는,  잦은 액티비티 전환으로 인한 광고 리로드의 단점을 극복하기 위해 최대한 Activity 수를 줄이고, 아이폰의 처리 방식을 흉내내려 하였었습니다. 

그래서 하나의 Activity에서 최대한 View만 넣고 빼고 해서 여러 Activity를 대체하는 식의 구현을 하였습니다.

(이것이 과연 성능이나 다른 면에서 효율적인 방식인지는 저도 잘 모르겠습니다.)

여튼 이렇게 하여 하나의 광고뷰가 고정된 위치에서 사용자의 눈에 최대한 오래 머물도록 만들어놨습니다.


클릭률은...


안드로이드용 전국버스 : 0.4~0.5%

아이폰용 전국버스 : 2.5%~3%

최근 수행한 어떤 안드로이드 프로젝트 : 2~2.5%


당연히 이것이 수익에 미치는 영향은...?


생각했던 것보다 훨씬 컸습니다. ㅠ_ㅠ


아이폰용 전국버스는 안드로이드용 전국버스에 비해 광고 노출수가 1/30 정도 밖에 안됩니다.

그러나 수익은 1/4 정도 나옵니다.

물론 단 하나의 광고뷰 인스턴스만 가지고 새로고침 없이 처리를 하기 때문에 노출수가 현저히 적은 탓도 있습니다만, 높은 클릭률도 무시 못할 것입니다.


많은 도움이 되길...