Unity/프레임워크 / / 2025. 12. 29. 11:08

[Unity] Google AdMob 연동

반응형

# Admob : Google에서 지원하는 인앱 광고 연동 시스템

 

먼저, 인앱 광고를 추가하기 위해서 구글에서 제공하는 앱 ID를 생성해야 합니다.

 

 

# 초기 설정

1. GoogleAdmob 가입 및 앱 추가

 

 

2. 메뉴 - 앱 - 앱 설정 클릭

 

여기서 앱 ID를 확인할 수 있습니다. 

 

※ 주의 : 실제 출시 버전에서만 앱 ID를 사용하고, 테스트 환경에서는 구글이 제공하는 테스트 광고 ID를 사용해야 합니다.

테스트 환경에서 실제 앱 ID를 사용할 경우, 어뷰징으로 불이익을 받을 수 있습니다.

 

테스트 ID는 배너 / 전면 / 보상형 등 광고 유형에 따라 다르고 플랫폼별로 다릅니다.

해당 ID 값은 구글 Admob Unity 문서에서 확인할 수 있습니다.

 

https://developers.google.com/admob/unity/banner?hl=ko&_gl=1*mhdx95*_up*MQ..*_ga*MTU5NTk4ODA2Ny4xNzY2OTcwNzU1*_ga_SM8HXJ53K2*czE3NjY5NzA3NTUkbzEkZzAkdDE3NjY5NzA3NTUkajYwJGwwJGgw

 

배너 광고  |  Unity  |  Google for Developers

제품에 관해 논의하고 의견을 제공하려면 Google 광고 및 측정 커뮤니티 서버의 공식 AdMob Discord 채널에 참여하세요. 배너 광고 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장

developers.google.com

 

 

이제 유니티로 돌아갑니다.

 

3. 메뉴 Asset - Google Mobile Ads - Settings 클릭

 

클릭하면, 프로젝트 폴더에서 GoogleMobileAdsSettings 를 찾아주는데,

 

 

클릭 후, 인스펙터 창을 확인해보면 광고 앱 ID를 넣어줄 수 있습니다.

 

여기에 2번에서 확인한 앱 ID를 넣어줍니다.

 

 

설정은 여기까지고, 실제로 광고를 넣어보겠습니다.

 

 

 

# 광고 넣기

1. Admob에서 앱 - 광고 단위 클릭

 

2. 광고 단위 추가 클릭

 

 

광고 단위 추가를 누르면 여러 형식이 뜹니다.

 

처음 연습하기에는 배너 광고가 깔끔합니다.

 

 

3. 배너 광고 선택

 

 

 

4. 광고 단위 이름 입력 후, 고급 설정 클릭

 

고급 설정을 클릭하면 광고 노출과 관련된 몇가지 옵션을 확인할 수 있습니다.

배너의 경우에는 영상 뿐만 아니라 특정 링크로 이동하는 광고 유형도 있습니다.

 

별다른 설정을 하지 않을거라면 그대로 광고 단위 만들기를 클릭합니다.

 

 

 

5. 광고 생성 성공

 

여기서 사용할 ID는 2번 입니다.

잊으시면 안됩니다. 테스트 환경에서 사용하는 ID가 아니라 실제 출시 버전에서만 해당 ID를 사용해야 합니다.

테스트용 ID는 상단에 공유한 Admob Unity 개발자 가이드 문서에 있는 ID를 복사하세요.

 

 

 

이제 유니티로 돌아가 스크립트를 작성합니다.

 

6. AdsManager C# 스크립트 생성

 

using GoogleMobileAds.Api를 추가합니다.

 

Awake나 Start에서 광고 설정과 관련된 초기화 작업을 수행할겁니다.

저는 별도의 파이프라인을 통해서 추가하기 위해서 Init 함수에서 초기화했습니다. 이건 선택 사항입니다.

 

 

7. MobileAds.InitAdsService 초기화 작업

 

 

로그는 무시하고, 로직만 봅니다.

 

MobileAds.Initialize 함수를 통해 초기화를 수행합니다.

람다 함수를 통해 초기화 작업이 종료되었을 때 성공 실패 여부를 확인하고 그에 따른 로직과 로그를 찍어주는 작업을 수행했습니다.

 

만약에 초기화에 성공했다면 isInitSuccess bool 변수가 true일 것이고, 그에 따른 성공 로그를 찍어주었습니다.

 

코드가 길어보이지만 성공/실패 여부를 체크하고 로그를 찍어준 것이 전부입니다.

 

 

 

8. 배너 관련 변수 생성

 

배너 광고를 표시할 BannerView 객체와 플랫폼에 따라 ID를 설정할 topBannerAdId 변수를 생성합니다.

 

그리고 const string으로 ID 값을 하드코딩해주었습니다.

 

가장 먼저, 플랫폼에 따라 광고 ID를 설정할 수 있게 해야합니다.

단순히 테스트만 하고 싶다면 9번 과정을 생략하고 topBannerAdId에 안드로이드 배너 Test ID를 바로 넣어줘도 상관 없습니다.

 

 

9. 광고 ID 설정

저는 개발용 빌드 버전에서는 DEV_VER 심볼을 사용하여 구분했습니다.

커스텀 심볼을 사용하는 방법은 여기서 설명하진 않겠습니다.

 

 

 

10. 실제 광고 출력 로직을 작성합니다.

 

배너 광고를 띄울 때, 고려할 사항은 한가지입니다.

 

어느 위치에 광고를 띄울 것인가?

 

이 부분이 구현에 어려움을 겪을 부분인데, 구글 api에 있는 AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(Ad.Size.FullWidth); 함수를 통해

디바이스 해상도에 맞게 배너 광고 크기를 조절해줍니다.

 

이를 통해 AdSize 값을 받아서 BannerView 객체를 생성할 때, 세번째 인자 값으로 배너 광고 위치를 지정하면 되는데,

보통 배너 광고는 화면 최상단에 띄우니 AdPosition.Top으로 설정합니다.

 

이후 AdRequest 객체를 생성하고 이를 BannerView 객체의 LoadAd 함수의 인자값으로 전달하면 배너 광고를 생성 후 로드합니다.

이후 Show() 함수를 호출하면 전면 배너가 등장하고, Hide() 함수를 호출하면 전면 배너를 숨깁니다.

 

 

로그를 찍어서 디버깅을 할 거라면 아래처럼 Action 변수에 람다 함수를 콜백으로 등록해줄 수 있습니다.

 

 

초기화 함수와 광고를 생성해서 로드하는 과정까지 잘 호출을 해줬다면 화면 상단에 광고 배너가 뜹니다.

 

 

실제로 빌드해서 테스트해보면 아래처럼 뜹니다.

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유