본문 바로가기
개발/Unity

Unity) Google Admob 적용하기(광고붙이기)

by 테샤르 2021. 10. 25.

Google Admob 적용하기(광고붙이기)

Unity admob을 샘플로 적용하면서 포스팅을 정리한다.

 

테스트 버전은 GoogleMobileAds-v6.1.2 으로 진행했다.

 

Google Admob SDK .unitypacakge를 import 진행한다.

이후 Assets-Google Mobile Ads - Setting 메뉴를 클릭하면

GoogleMobileAdsSettings라는 ScriptableObject가 생겨난다.

 

앱의 Ads ID를 추가한다. 

현재는 테스트 Sample ID로 입력해서 테스트했다.

광고 ID를 입력하려면 Admob에 가입되고 설정을 추가해야 한다.

반응형

필요한 광고들을 추가로 설정하고 해당 코드에서 호출하는 처리를 진행한다.

 

<배너 : [링크]

 

배너 광고  |  Unity  |  Google Developers

배너 광고 배너 광고는 화면 안의 한 지점을 차지하는 직사각형 이미지 또는 텍스트 광고입니다. 사용자가 앱과 상호작용하는 동안 화면에 머무르며 특정 시간이 지나면 자동으로 새로고침할

developers.google.com

using System;
using UnityEngine;
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    private BannerView bannerView;
    ...
    public void Start()
    {
        // Initialize the Google Mobile Ads SDK.
        MobileAds.Initialize(initStatus => { });

        this.RequestBanner();
    }

    private void RequestBanner()
    {
        #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/6300978111";
        #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/2934735716";
        #else
            string adUnitId = "unexpected_platform";
        #endif

        // Create a 320x50 banner at the top of the screen.
        this.bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);
    }
}

<전면광고 : [링크]>

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #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

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

private void GameOver()
{
  if (this.interstitial.IsLoaded()) {
    this.interstitial.Show();
  }
}

 

<보상형 광고 : [링크]>

 

보상형 광고  |  Unity  |  Google Developers

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

developers.google.com

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    private RewardedAd rewardedAd;
    ...

    public void Start()
    {
         #if UNITY_ANDROID
            adUnitId = "ca-app-pub-3940256099942544/5224354917";
        #elif UNITY_IPHONE
            adUnitId = "ca-app-pub-3940256099942544/1712485313";
        #else
            adUnitId = "unexpected_platform";
        #endif

        this.rewardedAd = new RewardedAd(adUnitId);

        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();
        // Load the rewarded ad with the request.
        this.rewardedAd.LoadAd(request);
    }
}

 

<광고 관련된 이벤트>

OnAdLoaded 광고 로드가 완료될때 실행되는 메소드
OnAdFailedToLoad 광고가 로드를 실패할때 실행되는 메소드.
(Message를 통해서 실패 유형을 설명을 확인가능)
OnAdOpening 광고가 표시되면서 화면을 덮을때 실행되는 메소드
(게임루프를 일시정지, 오디오출력 일시정지 등)
OnAdFailedToShow 광고 표시에 실패할때 실행되는 메소드
OnUserEarnedReward 보상을 받을때 실행되는 메소드
OnAdClosed 닫을때 실행되는 메소드

 

<실제 Android Phone 테스트 영상>

 

 

Unity Google Admob : [링크]

 

시작하기  |  Unity  |  Google Developers

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

developers.google.com

 

 

★★☆☆☆

 

반응형

댓글