Deff_Dev
[Unity/C#] Unity Ads 문제와 해결 방법 본문
이 포스팅에서는 내배캠 Unuty 사전캠프 5주차 과정에서 내가 겪은 오류들과 해결 방법에 대해 포스팅하겠다.
Unuty 사전캠프 5주차
일단 해당 강의에서는 유니티 공식 문서의 코드를 이용해 광고를 붙혔다.
(1)
에디터에서는 광고가 잘 나왔지만 안드로이드 환경에서 구동 시 광고가 재생되지 않는 문제가 발생했다.
LogCat을 이용하여 로그를 확인해봤더니, 아래의 오류가 나왔다.
ErrorUnityAds
cohttp://m.unity3d.services.core.api.Sdk.logError() (line:76) :: Show invocation failed: Placement Rewarded_Android must be Loaded before calling Show: https://docs.unity.com/ads/UnityAPI.html#Load
이 오류는 광고가 Load가 안됐을 때, 광고를 재생한다면 일어나는 오류이다.
그래서 Load 하고 광고가 재생될 수 있도록 로직을 수정해, 광고가 잘 재생되는 것을 확인했다.
(2)
첫 광고는 잘나왔지만 광고가 끝난 후 다시 광고 재생을 눌렀을 때 광고가 재생이 안되면서 이런 오류가 발생했다.
Info Unity Error showing Ad Unit : INVALID_ARGUMENT - [UnityAds] Placement ID cannot be null
Info Unity RewardedBtn:OnUnityAdsShowFailure(String, UnityAdsShowError, String)
Info Unity UnityEngine.Advertisements.Utilities.CoroutineExecutor:Update()
이 오류는 Placement ID가 존재하지않아 광고를 재생할 수 없다는 오류이다.
즉, 광고가 초기화 될 때 Placement ID를 등록하는데 광고 서비스 초기화가 이루어지지 않은 상태에서 Load를 해 일어나는 오류이다.
광고 재생 로직을 광고 서비스 초기화 => 광고 불러오기 => 광고 재생 순으로 작동되게 로직을 수정했더니 광고가 잘 재생되었다.
(3)
광고 재생 문제를 해결한 후 게임을 플레이하는 중에 가끔 Load 시간이 오래 걸리는 현상을 발견했다.
이 문제에 대해 찾아보니, 불러오는 광고에 따라 대기 시간이 다르다는 것을 알았다.
그래서 게임을 시작할 때 미리 광고를 Load하는 방법으로 로직을 수정했더니 대기 시간이 줄어 들었다.
광고에 따라 차이가 있겠지만, Load 시간 차이가 많이 나는 것을 확인할 수 있다.
'Unity(유니티) > 유니티 공부' 카테고리의 다른 글
[Unity/C#] switch 식 (0) | 2024.04.10 |
---|---|
[Unity/C#] null 조건부 연산자 (?.) (0) | 2024.04.10 |
[Unity/C#] 해시테이블 (HashTable) (0) | 2024.03.20 |
[Unity/C#] 스택 (Stack) (0) | 2024.03.20 |
[Unity/C#] 큐 (Queue) (0) | 2024.03.20 |