유니티에 광고 넣는 방법은 여러가지가 있을텐데요, 저는 그냥 광고만 관리해주는 싱글턴 클래스 하나 만들어서 사용해요. 필요할때마다 배너 광고를 숨겼다가 다시 보여줬다가 하기 편리하더라구요.


괜시리 BannerView 계속 생성했다가 해제하고 할려면 귀찮으니, 요렇게 사용해 보심어떨까요? 


using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using GoogleMobileAds.Api;


public class AdsManager : MonoBehaviour {


    public static AdsManager instance;


    private static bool isAdsLoaded = false;

    private BannerView bannerView;


    private void Awake()

    {

        if (instance == null)

            instance = this;

        else if (instance != this)

            Destroy(gameObject);


        DontDestroyOnLoad(gameObject);

    }


    // Use this for initialization

    void Start () {


        if (!isAdsLoaded)

            RequestBanner();


    }


    void RequestBanner()

    {


#if UNITY_EDITOR

        string adUnitId = "unused";

#elif UNITY_ANDROID

        string adUnitId = "ca-app-pub-7875247216342041/8468415417";

#elif UNITY_IPHONE

        string adUnitId = "INSERT_IOS_BANNER_AD_UNIT_ID_HERE";

#else

        string adUnitId = "unexpected_platform";

#endif


        bannerView = new BannerView(adUnitId, AdSize.Leaderboard, AdPosition.Top);

        AdRequest request = new AdRequest.Builder().Build();

        bannerView.LoadAd(request);

        isAdsLoaded = true;

    }


    public void ShowBannerView()

    {

        bannerView.Show();

    }


    public void HideBannerView()

    {

        bannerView.Hide();

    }

}



혹시 이렇게 사용하는데 문제점이 있다면 뎃글 남겨주세요.

저도 수정하게요.