본문 바로가기
Unity

[ UNITY ] AdMob광고 달기 - 전면 광고

by 까꿍봉봉 2022. 12. 17.
728x90
반응형

유니티에서 광고를 다는 과정을 하기 전에 Plugins을 설치해야한다.

https://github.com/googleads/googleads-mobile-unity/releases/tag/v7.3.1

 

Release Google Mobile Ads Unity Plugin v7.3.1 · googleads/googleads-mobile-unity

Plugin : Fixed #1799 RewardedAd OnAdFailedToPresentFullScreenContent called twice. Built and tested with: Google Mobile Ads Android SDK 21.3.0. Google Mobile Ads iOS SDK 9.11.0 External Dependen...

github.com

여기서 유니티패키지를 다운받은 후 유니티프로젝트에 넣어준다.

Asset - Google Mobile Ads - Settings로 들어간다.

거기에 Android App ID를 적어준다.

 

 

 

Hierarchy에서 빈 오브젝트를 만들어서 이름을

AdMobManager로 변경한다.

Script를 하나 생성 한 후 AdmobFront라고 저장 한 후

AdMobManager에 넣어준다.

Script에 아래 코드를 작성한다.

using GoogleMobileAds.Api;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AdmobFront : MonoBehaviour
{
    private InterstitialAd interstitial;


    void Start()
    {
        RequestInterstitial();
        ShowAdmob();
    }

    public void ShowAdmob()
    {
        if (interstitial.IsLoaded())
        {
            interstitial.Show();
        }
    }


    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

        // 중간 광고를 초기화합니다.
        interstitial = new InterstitialAd(adUnitId);

        // 광고 요청이 성공적으로 로드되면 호출됩니다.
        interstitial.OnAdLoaded += HandleOnAdLoaded;
        // 광고 요청을 로드하지 못한 경우 호출됩니다.
        interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
        // 광고가 표시되면 호출됩니다.
        interstitial.OnAdOpening += HandleOnAdOpening;
        // 광고가 닫히면 호출됩니다.
        interstitial.OnAdClosed += HandleOnAdClosed;

        // 빈 광고 요청을 만듭니다.
        AdRequest request = new AdRequest.Builder().Build();
        // 인터스티셜을 요청과 함께 로드합니다.
        interstitial.LoadAd(request);
    }

    public void HandleOnAdLoaded(object sender, EventArgs args)
    {
        Debug.Log("HandleAdLoaded event received");
    }

    public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
    {
        Debug.Log("HandleFailedToReceiveAd event received with message: "
                            + args.ToString());
    }

    public void HandleOnAdOpening(object sender, EventArgs args)
    {
        Debug.Log("HandleAdOpening event received");
    }

    public void HandleOnAdClosed(object sender, EventArgs args)
    {
        Debug.Log("HandleAdClosed event received");
    }
}

전면 광고를 불러오고 싶은 부분에

AdMobShow()함수를 불러주면 된다.

 

플레이 해보면 정상적으로 광고가 나오는걸 확인할 수 있다.

 

 

참고 사이트

https://developers.google.com/admob/unity/interstitial

 

전면 광고  |  Unity  |  Google Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 전면 광고 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 전면 광고는 호스트 앱의 인터

developers.google.com

 

728x90
반응형

댓글