본문 바로가기
프로그래밍/유니티

[Unity C# / Google AdMob] Android 앱에 광고 넣기

by 김시루시루르 2021. 7. 15.

유니티로 개발한 안드로이드 앱에 수익성 광고를 넣습니다.
수익성 = 실제로 돈이 되는지 안되는지와는 별개로 수익을 주긴 함
이 방법대로라면 iOS에 넣는것도 그다지 문제는 아닐 것 같긴 한데.. 문제는.. 제가 해 본 적이 없어서 (?)
안드로이드는 이렇게 하면 확실히 들어간다! 이니 참고해주세요.


0. Google AdMob 가입하기

이 글에서는 구글 애드몹을 사용하기 때문에, 이 서비스를 가입해주셔야 합니다.
구글 계정이 있으시면 빠르게 이용 가능해서 간단!

 

AdMob

하나의 계정으로 모든 Google 서비스를 AdMob으로 이동하려면 로그인하세요.

accounts.google.com

이 링크 작동하나 모르겠네 저는 이미 가입해둔 사람이라서 바로 리다이렉트 되긴 하는데...
링크가 안 되시는 분들은 여기로 가셔서 '시작하기'를 통해 가주세요


1. 애드몹 앱 추가

이제 애드몹에 로그인해서 앱과 앱에 어떤 광고를 넣을건지 입력해야 합니다.
좌측 메뉴에서 앱 → 앱추가로 이동

플랫폼을 Android와 iOS 중에서 선택하고, 앱 스토어에 등록되어있는지 여부를 선택합니다.
지금은 아니요가 선택 가능하지만, 변경사항 안내를 보아하니
곧 스토어에 등록된 앱만 연결할 수 있도록 할 건가보네요.

앱이 등록되어있다면 웹에서 바로 해당 앱을 검색할 수 있어요.
이름, 패키지명 등으로 검색이 가능하니 찾아서 등록합시다!


2. 애드몹 광고 단위 추가

이제 등록된 해당 앱 화면으로 이동해서, 광고 단위로 이동합니다.

여기선 앱에 어떤 광고를 추가했는지 리스트로 볼 수 있어요.
왼쪽 위에 있는 광고 단위 추가를 눌러 새로운 광고를 추가해줍시다.

추가할 수 있는 광고 종류가 쭉 등장합니다.
주로 쓰는 건 배너, 전면, 리워드려나 ... 요즘은 앱 열기 광고도 많이 보이긴 하는데
어쨌든 원하는 광고를 선택합니다. 레테의 경우 전면광고가 들어가기 때문에 저는 전면광고를 골랐어요~

광고 단위를 설정합니다. 이름은 그냥 많은 광고를 사용할 때의 구별용입니다.

고급 설정을 들어가면 이런 설정들이 가능한데, 크게 건드리지 않아도 될 것들입니다.

광고 단위를 만들었습니다!
두 개의 아이디가 나오는데, 빨간 것파란 것으로 구별할게요.
빨간 건 중간에 ~가 들어가는 앱 ID, 파란 건 중간에 /가 들어가는 광고 단위 ID입니다.
둘을 확실하게 구별해서 써주셔야 해요!


3. 유니티에 AdMob 플러그인 추가

 

시작하기  |  Unity  |  Google Developers

Unity에서 앱을 제작 중인 AdMob 게시자를 위한 모바일 광고 SDK입니다.

developers.google.com

이쪽이 이제 SDK 가이드인데 (제 설명 말고 여기를 보면서 진행하셔도 됩니다)
여기에 플러그인 다운로드 버튼을 누르면 최신 플러그인 다운로드 페이지로 이동합니다.

 

Release Google Mobile Ads Unity Plugin v6.0.1 · googleads/googleads-mobile-unity

Plugin: Fixed #1613 where build error occurs on Unity 2021. Fixed #1616 where iOS build contains undefined symbol. Automatically added SKAdNetworkIdentifiers recommended by https://developers.goog...

github.com

요건 글쓰는 지금 최신버전인 6.0.1버전 깃헙 링크

 

깃헙으로 들어가셨으면 유니티 패키지를 다운로드받습니다.
그리고 이 패키지를 프로젝트에 임포트시켜주세요!

임포트 할 때 OS별로 나눠져있는 부분에서 필요 없는 OS관련 파일은 제외해도 된다고는 하던데...
딱히 극적인 용량차이가 있는 건 아니기도 해서 저는 그냥 했습니다.
최적화하려면 아무래도 빼는 편이 좋겠지만...


4. 플러그인 설정

유니티에서 Assets → Google Mobile Ads → Settings… 로 진입합니다.
인스펙터 창에서 Google AdMob의 Enabled 항목을 체크해주고,
그 밑의 AdMob App ID에서 지원할 OS에 맞춰서 ID를 넣어줍니다.
여기에 넣어주는 건 앱 ID! ~이 있는 쪽의 ID를 넣어주세요.


5. 스크립트 작성

이제 광고를 보여주기 위한 스크립트를 작성해야 합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using GoogleMobileAds.Api;
public class GoogleAdMobScript : MonoBehaviour
{
    private InterstitialAd interstitial;
    public void Start()
    {
        //광고 초기화
        MobileAds.Initialize(initStatus =>
        {
            RequestInterstitial();
        });
    }
    private void RequestInterstitial()
    {
        //여러 OS에서 공통된 코드를 사용할 경우 이렇게 하면 편리
          //여기 들어가는 ID는 /가 들어간 쪽의 광고 단위 ID
         //이 ID들은 Google이 지원하는 테스트 ID이므로 제한 없이 사용 가능
        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/1033173712";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/4411468910";
        #else
            string adUnitId = "unexpected_platform";
        #endif
 
        //단일 OS일 경우 여기서 바로 스트링으로 꽂아줘도 가능
        this.interstitial = new InterstitialAd(adUnitId);
        AdRequest request = new AdRequest.Builder().Build();
        this.interstitial.LoadAd(request);
    }
 
    //광고를 시작해야 할 때에 외부에서 이 함수를 호출
    public void AdStart()
    {
        if (this.interstitial.IsLoaded()) {
            this.interstitial.Show();
    }
}
 
cs

이건 전면광고 스크립트고, 다른 광고 단위에 대한 스크립트나 더 자세한 얘기는 다음에 또 글을 쓰겠어요
어쨌든 이렇게 하면 AdStart()를 호출했을 때, 광고가 표시됩니다.

string을 입력하는 부분에는 각자의 광고 단위 ID(/가 있는)를 입력하는건데,
위 예시 코드에 있는 건 구글이 지원하는 테스트 ID입니다.

이걸 입력하면 빨간색 친구가 나와서 외발자전거를 타며 접시를 들고있는 채로 "잘하셨습니다!"하는
이런 이미지가 나옵니다 (ㅋㅋ) (거짓말같겠지만 진짜입니다) (근데 기억의 왜곡은 있을지도)
이게 보인다면, 성공적으로 광고 호출을 한 것이므로 아까 받으신 진짜 광고 ID를 넣으셔도 됩니다.


6. 주의할 점

광고를 더 면밀하게 테스트하려면 본인의 광고 ID를 넣고도 테스트를 해봐야겠죠.
그런데 이게 수익성이 있는 광고이기 때문에 자칫 잘못하면 정책 위반이 될 수도 있어요 (충격!)
그래서 테스트를 할 때는 애드몹 쪽에 기기를 테스트 기기로 등록한 상태로 진행하는게 안전합니다.

이 얘기는 아래 글에서 자세히 합니다. 글이 너무 길어지기도 하고 별로 어려운 것도 아니라서.. (코슥)

 

[Google AdMob] 테스트 기기 추가하기 + Android 광고 ID/IDFA

바로 얼마전에 유니티에서 개발한 안드로이드 앱에 애드몹 광고를 넣는 방법을 썼었는데 이번에는 그 글의 마지막에서 설명했던 .. 테스트 기기를 추가하는 방법에 대해 씁니다. 사실 방법은 여

drybone-developer.tistory.com

 

댓글