Deff_Dev

[Unity/C#] Unity Ads 문제와 해결 방법 본문

Unity(유니티)/유니티 공부

[Unity/C#] Unity Ads 문제와 해결 방법

Deff_a 2024. 3. 26. 02:05

이 포스팅에서는 내배캠 Unuty 사전캠프 5주차 과정에서 내가 겪은 오류들과 해결 방법에 대해 포스팅하겠다.

 

Unuty 사전캠프 5주차

 

[내배캠 Unity 4기] 사전 캠프 5주차

사전 캠프 5주차 프로젝트는 4주차 때 만들었던 '카드 뒤집기' 게임에 시작 화면, 스플래시 이미지 만들기, 오디오 삽입, 광고 삽입, 안드로이드 빌드 등을 추가한 프로젝트였다. 사전 캠프 4주차

deff-dev.tistory.com

 

일단 해당 강의에서는 유니티 공식 문서의 코드를 이용해 광고를 붙혔다.

 

Initializing the SDK in Unity

Initializing the SDK in Unity#To initialize the SDK, you must reference your project’s Game ID for the appropriate platform. You can locate the Game ID from the Unity Ads Monetization dashboard by selecting the Monetization suite, navigating to your curr

docs.unity.com

 

 

(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