유니티에서 배너 광고 넣기
전면 광고 넣는 방법은 이전 글에서 확인 해주세요
이번에는 전면 광고가 아닌 유니티 배너 광고를 넣어보려고 합니다.
패키지 다운받고 넣는 방법은 아래에서 확인해 주세요
https://j2su0218.tistory.com/514#toc-link-1
배너 광고 넣는 방법
일단 광고 애드몹을 넣기 위해서
using GoogleMobileAds.Api를 선언 해주어야 한다.
using GoogleMobileAds.Api;
이제 구글 애드몹 관련 클래스를 사용할 수 있기 때문에
전면 광고에서는 InterstitialAd 클래스를 사용하지만
배너 광고는 BannerView 클래스를 사용하기 때문에
private BannerView bannerView;
BannerView를 사용하기 위해서 선언을 해준다.
그 다음에 함수를 하나 만들어서 구글 애드몹에서 생성한
해당 배너 광고를 사용하겠다는 기기ID와 광고 ID를 가져와서
넣어줘야한다.
기기 ID 샘플
ca-app-pub-3940256099942544~3347511713
배너 광고 샘플
Banner Ad Sample : ca-app-pub-3940256099942544/6300978111
Banner IOS Sample ID: ca-app-pub-3940256099942544/2934735716
전면 광고 샘플
InterstitialAd Ad Sample : ca-app-pub-3940256099942544/1033173712
InterstitialAD IOS Sample: ca-app-pub-3940256099942544/4411468910
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-3940256099942544/6300978111"; //sample
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3940256099942544/2934735716"; //sample
#else
string adUnitId = "unexpected_platform";
#endif
전처리기를 이용해서 해당 플랫폼 광고 ID가 맞게 작동할 수 있도록 구현해준다.
그리고 비어있는 광고를 생성해주고
LoadAd를 사용해서 광고를 불러준다.
AdRequest request = new AdRequest.Builder().Build();
this.bannerView.LoadAd(request);
해주고 실행을 하면
아래쪽에 광고가 나오는 것을 확인 할 수 있다.
전체 코드 정리
//배너 광고 로드하기
private void RequestBanner()
{
#if UNITY_ANDROID
string adUnitId = "ca-app-pub-3940256099942544/6300978111"; //sample
#elif UNITY_IPHONE
string adUnitId = "ca-app-pub-3940256099942544/2934735716"; //sample
#else
string adUnitId = "unexpected_platform";
#endif
//새로운 광고 배너를 만들기 전에 정리를 해주어야한다.
if(this.bannerView != null)
{
this.bannerView.Destroy();
}
AdSize adaptiveSize =
AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(AdSize.FullWidth);
//AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth((int)MobileAds.Utils.GetDeviceScale());
//광고 이벤트를 등록
this.bannerView = new BannerView(adUnitId, adaptiveSize, AdPosition.Bottom);
this.bannerView.OnAdLoaded += this.HandleOnAdLoaded;//OnAdLoaded 이벤트는 광고 로드가 완료되면 실행됩니다.
this.bannerView.OnAdFailedToLoad += this.HandleOnAdFailedToLoad; //이벤트는 광고 로드에 실패할 때 실행됩니다
this.bannerView.OnAdOpening += this.HandleOnAdOpened;//사용자가 광고를 탭하면 호출됩니다.
this.bannerView.OnAdClosed += this.HandleOnAdClosed;//사용자가 광고의 도착 URL을 조회한 후 앱으로 돌아가면 이 메서드가 호출
AdRequest request = new AdRequest.Builder().Build();
this.bannerView.LoadAd(request);
Canvas banner = GameObject.Find("ADAPTIVE(Clone)").GetComponent<Canvas>();
banner.renderMode = RenderMode.ScreenSpaceCamera;
banner.worldCamera = Camera.main;
}
private void HandleOnAdClosed(object sender, EventArgs e)
{
print("HandleAdLoaded event received");
}
private void HandleOnAdOpened(object sender, EventArgs e)
{
print("HandleFailedToReceiveAd event received with message: "
+ e.ToString());
}
private void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs e)
{
print("HandleAdOpened event received");
RequestBanner();
}
private void HandleOnAdLoaded(object sender, EventArgs e)
{
print("HandleAdClosed event received");
print(String.Format("Ad Height: {0}, width: {1}",
this.bannerView.GetHeightInPixels(),
this.bannerView.GetWidthInPixels()));
}
public void ShowBanner(bool b)
{
bannerView.Show();
}
public void HideBanner()
{
bannerView.Hide();
}
'PROGRAMING📚 > Unity📑' 카테고리의 다른 글
[유니티 Unity]InputField에서 Android(iOS) 가상 키보드 숨기기 (0) | 2023.02.08 |
---|---|
[유니티 Unity]구글 애드몹, 앱 오프닝 광고 적용하기 (0) | 2023.02.07 |
[유니티 Unity] 구글 애드몹 전면(InterstitialAd) 광고 넣는 방법 (0) | 2023.02.03 |
[유니티Unity]유니티에서 인앱 업데이트 지원 하기 (1) | 2023.01.27 |
[유니티 Unity]Unity Localization으로 다국어 지원 기능 넣기 (0) | 2023.01.13 |
댓글