Skip to content
isdnetworks
Go back

후보를 두 번에 걸쳐 좁혔다

광고를 붙이기로 하고 어느 것을 쓸지 정하는 일을 맡았다. 후보가 여덟 개였다.

Table of contents

Open Table of contents

전부 붙여 볼 수는 없었다

하나 붙이는 데 반나절이 걸리니 여덟이면 나흘이 든다.

붙여 봐야 아는 것도 있지만 안 붙여도 아는 것이 있었다. 그 둘을 나누는 것이 먼저였다.

싼 기준으로 먼저 잘랐다

문서만 보고 확인할 수 있는 것으로 걸렀다. Android 를 지원하는지, JNI 로 C++ 에서 부를 수 있는지, 한국 광고 물량이 있는지, 문서가 있는지 넷이다.

후보    안드로이드 지원   C++ 연동   한국 광고   문서
A       O                 O          O           O
B       O                 X          O           O     ← 자바만
C       O                 O          X           O     ← 한국 광고 없음
D       X                 -          -           -     ← iOS 만
E       O                 O          O           X     ← 문서 없음
F       O                 O          O           O
G       O                 O          O           O
H       O                 X          O           X

여덟에서 셋이 남았다. 여기까지 두 시간이 걸렸다. 붙여 보기 전에 잘리는 것을 먼저 자르니 나흘이 하루 반이 됐다.

자른 이유도 적었다. 나중에 B는 왜 안 썼냐는 말이 나올 것이기 때문이다.

B  자바 연동만 지원. C++ 에서 부르려면 JNI 를 직접 짜야 함
C  한국 광고 물량이 없음
D  안드로이드 미지원
E  문서가 영문 한 장. 예제 없음
H  자바만 + 문서 없음

이유가 있으면 조건이 바뀌었을 때 다시 볼 수 있다. E 는 몇 달 뒤 문서가 생겼다.

남은 셋을 같은 조건으로 붙여 봤다

A 와 F 와 G 를 실제로 붙였다. 붙여 보고 나서야 아는 것들이 나왔다.

A   붙는 데 3시간. 광고가 화면 위에 겹쳐 그려짐. 뒤로 가기가 안 먹음
F   붙는 데 2시간. 잘 됨
G   붙는 데 5시간. 라이브러리 크기가 2MB. 앱 크기가 그만큼 늠

A 의 뒤로 가기 문제는 문서에 없었다. 게임 화면이 Cocos2dxGLSurfaceView 이고 그것이 GLSurfaceView 를 물려받는다. 그 위에 다른 뷰를 얹으면 앞뒤 순서가 걸리고 얹은 쪽이 포커스를 가져가면 onKeyDown 이 안 온다. KEYCODE_BACK 을 그 함수에서 받고 있었으니 안 먹은 것이다.

처음에는 셋을 각각 다른 기기에서 붙여 보고 있었다. 그러면 비교가 안 된다.

같은 기기(기기 A)에서
같은 화면(스테이지 선택)에
같은 위치(하단)에 붙인다

조건을 맞추고 다시 했다. 그러니 A 가 겹쳐 그려지는 것이 기기 문제가 아니라는 것이 드러났다.

결과 — 붙인 뒤에 잴 것과 남긴 목록

F 로 정했다. 다만 나중에 바꿀 수 있게 감쌌다.

class AdProvider {
public:
    virtual void show(int x, int y) = 0;
    virtual void hide() = 0;
    virtual ~AdProvider() {}
};
AdProvider* ad = new FAdProvider();

AdProvider 를 순수 가상으로 두고 구현을 갈아 끼우면 바꿀 때 한 줄만 고친다. 광고는 조건이 자주 바뀌는 것이라 감싸 두는 값이 있었다.

무엇을 보고 잘 되고 있는지 판단할지도 정했다.

- 광고 노출 수
- 앱이 죽는 비율 (붙이기 전과 비교)
- 켤 때 걸리는 시간 (붙이기 전과 비교)

뒤의 둘은 붙이기 전 값을 먼저 쟀다. 붙이고 나서 재면 비교할 것이 없다.

붙이기 전   켜는 데 1.8초
붙인 뒤     켜는 데 2.4초

0.6초가 늘었다. 이 숫자를 보고 광고를 켤 때 부르지 말고 첫 화면 뒤에 부르게 바꿨다.

후보 목록도 지우지 않고 남겼다.

1차 통과: A, F, G
붙여 본 결과
  A  광고가 화면 위에 겹침. 뒤로 가기 안 먹음
  F  선택
  G  라이브러리 2MB. 앱 크기 증가

몇 달 뒤 F 가 정책을 바꿔서 다시 고를 일이 생겼다. 그때 이 기록으로 G 부터 다시 봤고 처음부터 조사하지 않아도 됐다.

정리


Share this post on:

Previous Post
결과를 클라이언트가 정하고 있었다
Next Post
어떤 기기에서만 소리가 끊겼다