현재 유니티 앱 안에 UnityAds 를 구현할 경우, 개발할때는 테스트 모드로 설정하고 오픈할때는 테스트 모드를 해제해야 하는데요.
UnityAds 측에서 개발자와 운영자 모두가 테스트 모드를 설정할 수 있도록 여러가지 방법을 준비해 두었습니다.
큰 팀이라면 자기 역할에 필요한 기능만 배우고 작업하면 될텐데...
저 혼자 개발하는 상황에서는 너무 많은 방법이 제공되어서 오히려 문제가 되었습니다.
[현상]
- 최종빌드하면서 UnityAds 테스트 모드를 해제했는데, 실제 광고가 나오지 않고 계속 테스트 광고가 출력됨
[정보]
- UnityAds 테스트 모드를 활성/비활성화 하는 방법이 4가지가 있음
1. 유니티 에디터, Project Settings
Project Settings > Services > Ads > Test mode 내용에서 [ ] Enable test mode 체크 박스
2. 유니티 에디터, GameObject Inspector
https://unityads.unity3d.com/help/unity/integration-guide-unity
위 개발자 페이지를 보고 구현한 AdsInitializer(MonoBehaviour)가 등록된 GameObject를 클릭, Inspector 에서 [ ] testMode 체크 박스
3. AdsInitializer.cs 안에서 Advertisement.Initialize 함수 인자
Advertisement.Initialize(_gameId, _testMode = true, _enablePerPlacementMode, this);
(위 2번 항목 Inspector 의 testMode 체크 값이 넘어오는데, 이를 무시하고 위처럼 하드 코딩으로 강제 설정할 수 있음)
4. UnityAds 대시보드 설정
UnityAds 대시보드 > 해당 프로젝트 > Project Settings > Test mode > xxx Store 에서
Client test mode not overridden 의 연필 버튼을 누르면 아래 메뉴가 나옴
[ ] Override client test mode ( ) Force test mode ON (i.e. use test ads) for all devices |
변경 후에는 xxx Store 옆에 있는 Save 버튼을 클릭해서 적용
[문제 해결 방법]
- 테스트 모드 설정: 위 4가지 방법 중 하나 이상을 testMode 로 설정
- 테스트 모드 해제: 위 4가지 방법 모두를 testMode 아닌 걸로 설정
* 위 4가지 방법 중 하나라도 testMode로 설정한 경우, 실제 광고가 나오지 않습니다.
구글링했을 때 4. UnityAds 대시보드 에서 강제로 test mode OFF 시키면 나온다는 글이 있는데요.
제가 해보진 않았지만 testMode 설정된 클라이언트에도 실제 광고가 나올 것 같습니다.
다만 이 경우 패치등을 위해 라이브 서비스와 개발을 동시에 진행하는 상황에서 개발용 클라이언트에 실제 광고가 노출이 되겠네요.
실제 광고가 나오지 않아서 UnityAds 관련 내용을 구글링했는데요.
가끔 UnityAds 광고를 구현한 뒤, 일정 시간이 지난 후에야 광고 기능이 정상 작동한다는 글이 있었습니다.
그래서 실제 광고가 안나오는 시점부터 반나절을 의미없이 기다리기도 했었어요. (다른 작업을 진행하긴 했지만요)
저의 경우 [암산 & 주산] 앱 개발시에는 1. 유니티 에디터, Project Settings 에서 [v] testMode 가 체크된 빌드로 서비스를 올려버렸었고요.
[신쌤 단어 퀴즈] 업데이트 패치 준비중에는 2. 유니티 에디터, GameObject Inspector 에서 [v] testMode 가 체크되었었습니다.
알면 1분, 모르면 반나절이 사라지는 작업이었습니다. ㅠㅠ