지나주 MYPI

지나주
접속 : 3373   Lv. 40

Category

Profile

Counter

  • 오늘 : 10 명
  • 전체 : 126853 명
  • Mypi Ver. 0.3.1 β
[게임 개발] UnityAds (v 3.7.0+) OnUnityAdsShowComplete 버그 (0) 2021/08/18 PM 02:00

신규 주산 앱 개발이 거의 끝나갑니다.

 

한 3년만에 UnityAds 최신 버전을 설치하고 API를 살펴봤더니 많이 변했더군요.

Banner 광고도 추가되고 대시보드 화면도 완전히 바뀌었습니다.

 

PackageManager에서 최신 버전인 UnityAds 3.7.5 버전을 설치하고 계정 연결을 했습니다.

Test 모드로 실행했는데 광고 완료시 IUnityAdsShowListener 콜백 함수 OnUnityAdsShowComplete가 실행되지 않습니다.

 

 

[현상]

- Test 모드로 실행, 테스트 모드 광고 화면에서 [Close] 버튼을 눌렀을 때 OnUnityAdsShowComplete 콜백 함수가 실행되지 않음

 

 

[문제 해결 과정]

- LoadAd(Advertisement.Load) 함수 실행 -> IUnityAdsLoadListener의 OnUnityAdsAdLoaded 함수 실행 코드 확인

: 처음에 잘못 구현한 내용이 있었습니다.

(수정 전) Advertisement.Load 함수 호출 뒤에 Advertisement.Initialize 실행 - OnUnityAdsAdLoaded 실패

(수정 후) Advertisement.Initialize 실행 뒤에 Advertisement.Load 함수 호출 - OnUnityAdsAdLoaded 성공

: 하지만 여전히 OnUnityAdsShowComplete 함수가 실행되지 않음

 

- 옛날 방식인 ShowOptions으로 callback 함수를 구현하려고 했는데, ShowOption을 입력하니 deprecated 되었다고 나옴

: Deprecated 된 코드 작성을 멈추고, 다른 방법을 먼저 찾아보기로 함

 

구글링 후 동일한 증상을 호소하는 여러 개발자들의 글을 찾았습니다.

https://forum.unity.com/threads/unity-ads-3-7-3-rewarded-video-ad-not-triggering-onunityadsshowcomplete.1144409/

: 여러 개발자들의 보고 - UnityAds 3.7.3+ 에서 나와 동일한 현상 발생

: 유니티 담당자 - 3.7.5 버전에서 자신은 이상이 없다고 함

: Test 모드에서만 발생하고, device에서 런타임시에는 정상 동작한다는 댓글이 있음. 그 아래에는 런타임시에도 안된다는 댓글

: Deprecated 된 ShowOptions.resultCallBack 은 정상 동작한다는 댓글

 

- UnityAds 3.7.0 으로 다운그레이드 후 테스트 - OnUnityAdsShowComplete 콜백 함수가 실행되지 않음

 

- UnityAds 3.7.5 로 다시 업그레이드, deprecated 된 ShowOption으로 구현 - resultCallBack콜백 함수가 실행됨

   var options = new ShowOptions { resultCallback = HandleShowResult };
Advertisement.Show(adUnitId, options);

 

 

[알게 된 내용]

최신 UnityAds 버전(3.7.0+)에서 ShowOptions를 deprecated 하고 IUnityAdsShowListener 를 통해 callback 함수들을 구현하는 구조로 바뀌었습니다.

이 때, IUnityAdsShowListener 의 OnUnityAdsShowComplete 함수가 실행되지 않는 상황이 발생하는데요.

해결 되기 전까지는 deprecated 된 ShowOption 코드로 구현해서 사용하면 되겠습니다.

 

 

최종 빌드를 하기 위해 유니티와 각종 에셋들을 최신버전으로 다운받았는데요.

최신 버전으로 업데이트 하고 나면 항상 뭔가 잘못되는 건 아닌가 하는 걱정이 듭니다.

(대부분의 경우 기우로 그치지만요)

 

나중에 라이브 서비스중에 버전 업그레이드를 하게 되면, 시간을 들여 살펴봐야겠다는 교훈을 얻고 갑니다.

신고

 
X