유니티 광고적용하기 애드몹

2020. 4. 26. 15:20유니티실습

반응형

안녕하세요 UnityBeginner입니다.

이번 글에선 개발자들의 수입 구조중 하나인 광고에 대해 알아보겠습니다.

 

Admob 필요조건

 

Unity의 버전 4.6.8 이상

IOS에 배포 요건 (Xcode 10 이상 CocoaPods 사용)

안드로이드 배포요건 (Google Play 서비스 7.5 이상 API 14 이상)

 

유니티 광고적용 순서

1. 모바일 광고 게재하기 위한 Unity 플러그인을 다운로드.

https://github.com/googleads/googleads-mobile-unity/releases/tag/v4.2.1

 

2. 유니티 에디터를 실행하고 다운로드한 패키지 Import.

(Assets(애셋) > Import Package(패키지 가져오기) > Custom Package(맞춤 패키지))

 

 

 

3. 애드몹 페이지 이동 회원가입 진행.

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

 

 

4. 앱을 추가하고 앱ID (앱 > 앱 설정) 확인.

 

 

5. 광고단위 생성 및 광고 단위 ID (앱 > 광고 단위) 확인


6. 유니티 AdmobManager 스크립트 생성

 

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);
}

 

 

 

7. 스크립트 앱 ID 설정 및 모바일 광고 초기화 

https://neighboringub.blogspot.com/2020/02/unity-apply-admob.html

※ 해당링크에 포함되는 샘플 코드입니다. 


빌드 타깃에 따른 코드를 분리 처리하는 방식의 하나이다


#if UNITY_EDITOR

유니티 에디터 상태에서 동작


#if UNITY_IPHONE

빌드 타겟이 아이폰일 때 동작


#if UNITY_ANDROID

빌드 타겟이 안드로이드 일 때 동작

 

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);

    // Called when an ad request has successfully loaded.
    this.interstitial.OnAdLoaded += HandleOnAdLoaded;
    // Called when an ad request failed to load.
    this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    // Called when an ad is shown.
    this.interstitial.OnAdOpening += HandleOnAdOpened;
    // Called when the ad is closed.
    this.interstitial.OnAdClosed += HandleOnAdClosed;
    // Called when the ad click caused the user to leave the application.
    this.interstitial.OnAdLeavingApplication += HandleOnAdLeavingApplication;

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

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

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
                        + args.Message);
}

public void HandleOnAdOpened(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdOpened event received");
}

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

public void HandleOnAdLeavingApplication(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdLeavingApplication event received");
}

 

8. 스크립트 전면 광고 단위 ID 설정 및 광고 로드

https://neighboringub.blogspot.com/2020/02/unity-apply-admob.html

※ 해당링크에 포함되는 샘플 코드입니다. 


광고 이벤트 핸들러


OnAdLoaded :

광고로드가 완료되면 실행 


OnAdFailedToLoad :

광고 로드가 실패한 경우 호출


OnAdOpening :

광고가 표시될때 호출


OnAdClosed :

보이고 있는 전면광고에서 빠져나온 경우 호출

 

OnAdFailedToLoad :

백그라운드 된 현재 앱이 사용자 클릭으로 다른 앱을 실행할 때 호출

 

 

이상으로 유니티 애드몹 광고를 적용하는 방법에 대해 알아보았으며 

주의할 사항으로는 출시 이전에 실제 광고 단위 ID를 사용하여 무분별하게 

광고를 노출시킨다면 구글 정책 위반 사항인 무효 트래픽의 대상이 되어 

광고 게재가 제한되는 경우가 있으니 반드시 테스트 ID를 활용하셔야 합니다.

반응형