[Unity]

[Unity] 유니티 구글 애드몹 광고 넣는 법(Google AdMob)

극꼼 2021. 9. 28. 12:54
반응형


애드몹을 이용해 만들어둔 게임에 광고를 넣어보겠습니다.

 

절차는 다음과 같습니다.

 

1. 구글 애드몹 가입

2. 구글 애드몹에 광고 등록

3. Unity plugin을 다운받은 후, 프로젝트에 Import

4. 광고 코드 작성

 


1. 구글 애드몹 가입

먼저 애드몹 사이트에 접속해 가입해줍니다. 

https://admob.google.com/home/

 

Google AdMob: 모바일 앱 수익 창출

인앱 광고를 사용하여 모바일 앱에서 더 많은 수익을 창출하고, 사용이 간편한 도구를 통해 유용한 분석 정보를 얻고 앱을 성장시켜 보세요.

admob.google.com

 


2. 구글 애드몹에 광고 생성

가입한 후, 홈에서 시작하기 버튼을 누릅니다.

 

광고를 달 어플의 플랫폼과 어플 이름 등을 입력해준 다음 '앱 추가' 버튼을 눌러줍니다. 

 

 

아직 앱은 검토가 필요하다고 나옵니다. 광고 단위는 먼저 생성할 수 있으므로 계속해서 진행해줍니다. 

 


광고 단위를 생성해줍니다.

저는 리워드광고를 앱에 추가해줄겁니다. 

 

광고 단위 이름을 입력한 후 만들어줍니다. 

 

앱 ID와 단위 ID를 메모한 후, 다음으로 넘어가겠습니다. 

 

 


다음으로는 결제 세부정보에서 지급 설정을 해줍니다. 

지급 탭에서 이름과 주소 등의 세부정보를 입력해준 다음 제출해줍니다. 

 


3. Unity plugin을 다운받은 후, 프로젝트에 Import

다음 사이트에 접속해 유니티 플러그인을 다운로드 해줍니다. (아래 링크는 2022.04.02 기준 최신버전 v7.0.0)

https://github.com/googleads/googleads-mobile-unity/releases

 

Releases · googleads/googleads-mobile-unity

Official Unity Plugin for the Google Mobile Ads SDK - googleads/googleads-mobile-unity

github.com

 

다운로드 받은 후, 프로젝트 내에 임포트 해줍니다. 

 

여기서 Enable을 눌러줍니다. 

 

안드로이드는 애드몹 SDK가 Unity Play Services Resolver library와 함께 배포되기 때문에 해당 라이브러리를 resolve 해줘야 합니다. Unity Play Services Resolver library는 Unity 플러그인에 dependency을 선언하는 기능을 제공합니다. (프로그램의 구조가 Unity 플러그인 데이터 구조에 영향을 받게 한다는 의미)

 

아래의 창이 완료되면 Import가 완료된 것입니다. 

 

만약 이 창이 나오지 않았을 경우, 아래와 같이 수동으로 resolve 해줍니다.

Assets - External Dependency Manager - Android Resolver - Resolve

 


이제 프로젝트 내에서 구글 애드몹 설정을 해주겠습니다.

 

Assets - Google Mobile Ads - Settings를 누른 후, 

 

 

인스펙터 창에서 구글몹을 활성화해준 다음, 앱 아이디를 입력해줍니다.

 

 

참고로 앱 아이디는 앱모드  페이지에서 앱 - 앱 설정에 복사할 수 있습니다.

 

* 만약 아직 어플을 출시하기 전에 테스트하기 위함일 경우, 아래 샘플 ID를 이용하지 않으면 정책 위반에 걸릴 수 있습니다!!!

sample App ID : ca-app-pub-3940256099942544~3347511713

sample 보상형광고 ID : ca-app-pub-3940256099942544/5224354917


4. 광고 코드 작성

이제 광고를 넣어줄 코드를 작성해줍니다.

저는 힌트 버튼을 클릭할 경우 광고를 봐야 보상으로 힌트를 볼 수 있게 해줄겁니다.

https://developers.google.com/admob/unity/rewarded-ads?hl=ko 

 

보상형 광고  |  Unity  |  Google Developers

보상형 광고 보상형 광고는 상호작용하는 사용자에게 인앱 보상을 제공하는 광고입니다. 이 가이드에서는 AdMob에서 Unity 앱에 보상형 광고를 통합하는 방법을 설명합니다. 고객 성공사례인 우수

developers.google.com

 

스크립트는 다음과 같이 만들어줬습니다.

string adUnitId;

public void Start()
{
    Quiz_Manager = GameObject.FindObjectOfType<Quiz_Manager>();
    PlayScene_Manager = GameObject.FindObjectOfType<PlayScene_Manager>();

    // 모바일 광고 SDK를 초기화함.
    MobileAds.Initialize(initStatus => { });

    //광고 로드 : RewardedAd 객체의 loadAd메서드에 AdRequest 인스턴스를 넣음
    AdRequest request = new AdRequest.Builder().Build();
    this.rewardedAd = new RewardedAd(adUnitId);
    this.rewardedAd.LoadAd(request);

    //adUnitId 설정
    #if UNITY_ANDROID
        adUnitId = "ca-app-pub-3115045377477281/4539879882";
    #endif

    this.rewardedAd.OnAdLoaded += HandleRewardedAdLoaded; // 광고 로드가 완료되면 호출
    this.rewardedAd.OnAdFailedToLoad += HandleRewardedAdFailedToLoad; // 광고 로드가 실패했을 때 호출
    this.rewardedAd.OnAdOpening += HandleRewardedAdOpening; // 광고가 표시될 때 호출(기기 화면을 덮음)
    this.rewardedAd.OnAdFailedToShow += HandleRewardedAdFailedToShow; // 광고 표시가 실패했을 때 호출
    this.rewardedAd.OnUserEarnedReward += HandleUserEarnedReward;// 광고를 시청한 후 보상을 받아야할 때 호출
    this.rewardedAd.OnAdClosed += HandleRewardedAdClosed; // 닫기 버튼을 누르거나 뒤로가기 버튼을 눌러 동영상 광고를 닫을 때 호출
}

public void HandleRewardedAdLoaded(object sender, EventArgs args) { }

public void HandleRewardedAdFailedToLoad(object sender, AdFailedToLoadEventArgs args) 
{
    Quiz_Manager.StopADs();
}

public void HandleRewardedAdOpening(object sender, EventArgs args) { }

public void HandleRewardedAdFailedToShow(object sender, EventArgs args) { }

public void HandleRewardedAdClosed(object sender, EventArgs args) { }

public void HandleUserEarnedReward(object sender, Reward args)
{
    if (Quiz_Manager == null) Quiz_Manager = GameObject.FindObjectOfType<Quiz_Manager>();
    Quiz_Manager.PostADs();
}

public void ShowAds()
{
    if (this.rewardedAd.IsLoaded())
    {
        this.rewardedAd.Show();
    }
}

 

 

힌트 버튼에 ShowAds 함수를 연결해준 후, HandleRewardedAdClosed 에 보상으로 힌트창이 열리게 해줍니다. 

빌드해서 힌트 버튼을 누르면 광고가 제대로 재생되는 것을 볼 수 있습니다!

 

반응형