[Unity] Admob사용 시 Screen.Orientation을 건드리면 생기는 문제Unity/TroubleShooting2023. 5. 31. 14:31
Table of Contents
개요
유니티 프로젝트에 광고를 넣기 위해 구글 애드몹SDK를 넣어서 구현했다.
우리 프로젝트는 기본적으로 가로화면 이지만 미니게임에 따라서
Screen.Orientation
을 건드려서 화면을 강제 회전을 시켰다.
그런데,
화면 회전 이후에 광고를 호출하면 광고가 호출되지 않는 버그가 있었다. (특히 iOS에서)
우여곡절끝에 발견한 해결법을 기록한다.
본문
먼저 해본 방법들은 이렇다.
- 광고 SDK 초기화를 화면을 돌린 이후에 다시 호출 (
MobileAds.Initialize();
)
=> 효과는 없었다.
- 광고를 호출하기 전에 화면을 가로로 다시 회전시키고 (앱이 시작할 때 가로였으니까) 광고가 끝나면 광고 호출 전
Screen.Orientation
을 다시 복구
=>처음엔 되나 싶었지만 완벽하지 못했다.
그리고 해결한 방법은 이렇다.
애드몹 공식 가이드에 따라서 구현하다보면
아래와 같이 광고를 미리 로드해두는 구간이 있다.
기존에는 처음 Init할때, 광고를 시청했거나 특정 이벤트가 있을때 로드를 했는데
화면 회전 후에 이 광고 로드를 다시 호출해주면 해결된다.
광고를 로드할 때 현재 화면의 해상도를 내부적으로 뷰어에 전달하는게 아닐까 싶다.
결론
어디에도 화면 회전에대한 경고는 알려주지도 않고
화면을 시스템에서 회전시키는 게임도 흔치않다보니
정보를 얻을 수 없었던 케이스였다.
오랜만에 제대로 시행착오를 겪었다.
'Unity > TroubleShooting' 카테고리의 다른 글
[Unity] HDR옵션을 켜면 RenderTexture의 배경이 보이는 문제 (1) | 2024.01.09 |
---|---|
[Unity] 모바일에서 Input.GetMouseButton이 안먹힌다면... (2) | 2023.11.13 |
[Firebase] FirebaseAuth 소셜로그인 콜백 주의점 (0) | 2023.05.26 |
[Unity] TCP통신에서 패킷이 누락되는듯한 문제 수정 (0) | 2022.10.18 |
[Unity] GoogleSheetsForUnity 에러수정 (0) | 2022.10.13 |