버그 해결을 위한 모든 질문을 던져
0 votes
203 views
광고 플러그인 init() > 광고보기 터치() > 광고 로드() > 몇 초뒤 광고 로드 성공콜백 > 광고 보기() > 광고 끝까지 다 보고 리워드 얻기 콜백 >서버에 보상요청 패킷()

이렇게 진행되는데 광고로드() 할때 몇달동안 그런 적이 없었는데 몇일 전 부터fail이 한번씩 뜹니다. 수량이 없을때 fail이 뜰 수도 있다고 하던데... 마켓에 등록된 적이 없어 아직 애드몹 테스트코드를 넣고 쓰고 있어요.

fail이 뜨면 몇번 반복적으로 광고보기 터치를 하고 success 떨어지고 나면 광고 보기로 넘어가집니ㅏ.

그런데 주말에 다른게임 해보니까 1. 광고 로드() 한다고 몇 초씩 걸리지도 않고 제깍제깍 보여주더라고요.그래서 이걸 백그라운드에서 성공할때까지 반복 요청해놨다가 써야하는가 싶어서 질문드립니다
asked (154 point) , 203 views

1 답변

+2 votes
우수 답변
저도 모바일 게임 개발했을 때 같은 문제가 있었습니다.

일단 광고 창이 닫히면 즉시 다음 광고 로드를 시작했고요,

이렇게 하면 다음번 누를 때 대기시간이 조금이나마 줄어듭니다.

 

하지만 유저들이 더 빨리 보길 원해서

adUnit인가 그 객체를 두개정도 만들어서 동시에 로드 걸고

로딩이 완료되는 객체를 우선적으로 보여주게 했습니다.

마찬가지로 광고를 다 보고 창을 닫으면 또 로드 걸고 하는 식으로 계속 뺑뺑이 돌면서

항상 광고가 준비될 수 있도록 구현했습니다.

 

물론 이렇게 해도 무조건 잘 나오는건 아닙니다. 상황에 따라 광고가 없거나 다운로드에 오래 걸리는 것들도 있기 때문이죠.

또 여러개 동시 요청하는게 약간 불안정한 면이 있어서 디버깅 하기에 참 괴롭습니다.

(특정 상황에서 오류가 난다던가, 생각보다 광고 플러그인들이 불안정합니다)

 

참고로 지금은 고쳐졌는지 모르겠는데

애드몹은 콜백들이 다른 스레드에서 호출되기 때문에

유니티로 넘기려면 락 걸고, 결과값을 큐잉한 뒤 Update에서 빼서 쓰는식으로 구현해야 안전합니다.

 

실제 정식 광고를 재생시켜 보면 타입에 따라서 다운로드가 오래 걸리는 광고들이 존재합니다.

단순 동영상으로 된게 제일 빠르고요,

직접 플레이 할 수 있게 만든것들은 좀 오래 걸립니다.

무거운 광고들은 유저들이 대기시간 길다고 불만 있을 수 있고요.

 

iOS, Android, 기기 버전별로 각종 크래시들이 다 광고쪽에서 발생했기에

다시는 하고 싶지 않은 작업이었지만 수익 생각하면 또 안할 수도 없고...

웹쪽에 세팅도 잘 해야 되는데 이래저래 스트레스 많이 받은 기억이 나네요.
answered (132 point)
선택됨
여기저기 물어봐도 미리 로드하고 여러개 로드하는건 비슷하네요 감사요

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

518 질문
675 answers
665 댓글
118,171 users