유니티 C# 구글 애드몹 보상형 광고 간단 구현 Google Admob 8.7.0

반응형

유니티용 구글 Admob SDK 설치

 

Releases · googleads/googleads-mobile-unity

Official Unity Plugin for the Google Mobile Ads SDK - googleads/googleads-mobile-unity

github.com

 

구글 Admob 설정

 

Google AdMob: 모바일 앱 수익 창출

인앱 광고를 사용하여 모바일 앱에서 더 많은 수익을 창출하고, 사용이 간편한 도구를 통해 유용한 분석 정보를 얻고 앱을 성장시켜 보세요.

admob.google.com

 

구글 Admob 홈페이지

 

보상형 광고  |  Unity  |  Google for Developers

Google 모바일 광고 Unity 플러그인 버전 5.4.0 이하에서는 서비스가 종료되어 광고가 게재되지 않을 수 있습니다. 지원되는 SDK 버전으로 앱을 업데이트합니다. 이 페이지는 Cloud Translation API를 통해

developers.google.com

 

v8.7.0 기준

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

public class AdmobReward : MonoBehaviour
{
    [Header("안드로이드 ID")]
    public string androidUnitId = "ca-app-pub-3940256099942544/5224354917";

    [Header("아이폰 ID")]
    public string iosUnitId = "ca-app-pub-3940256099942544/1712485313";

    string adUnitId;

    private RewardedAd rewardedAd;

    void Start()
    {
        // Google Mobile Ads 초기화
        MobileAds.Initialize((InitializationStatus initStatus) =>
        {
            // 초기화 완료
        });

#if UNITY_ANDROID
        adUnitId = androidUnitId;
#elif UNITY_IOS
        adUnitId = iosUnitId;
#else
        adUnitId = "unexpected_platform";
#endif

        // 리워드 광고 로드
        LoadRewardedAd();
    }

    public void LoadRewardedAd() // 광고 로드
    {
        // 이전 광고 객체를 제거
        if (rewardedAd != null)
        {
            rewardedAd.Destroy();
            rewardedAd = null;
        }

        Debug.Log("리워드 광고 로드 중.");

        // 광고 요청 객체 생성
        var adRequest = new AdRequest.Builder().Build();

        // 광고 로드 요청
        RewardedAd.Load(adUnitId, adRequest,
            (RewardedAd ad, LoadAdError error) =>
            {
                // 로드 중 오류 발생 시 처리
                if (error != null || ad == null)
                {
                    Debug.LogError("리워드 광고 로드 실패, 오류: " + error);
                    return;
                }

                Debug.Log("리워드 광고 로드 성공: " + ad.GetResponseInfo());

                rewardedAd = ad;
            });
    }

    public void ShowAd() // 광고 보기
    {
        const string rewardMsg =
            "리워드 광고 보상 획득: 유형: {0}, 수량: {1}.";

        // 광고가 표시 가능한지 확인
        if (rewardedAd != null && rewardedAd.CanShowAd())
        {
            rewardedAd.Show((Reward reward) =>
            {
                // 보상 지급
                Debug.Log(string.Format(rewardMsg, reward.Type, reward.Amount));
            });
        }
        else
        {
            // 광고가 없으면 다시 로드
            LoadRewardedAd();
        }
    }

    private void RegisterReloadHandler(RewardedAd ad) // 광고 재로드 핸들러
    {
        // 광고 전체 화면 닫힘 이벤트
        ad.OnAdFullScreenContentClosed += () =>
        {
            Debug.Log("리워드 광고 전체 화면 닫힘.");

            // 다음 광고를 위한 로드
            LoadRewardedAd();
        };

        // 광고 전체 화면 열기 실패 이벤트
        ad.OnAdFullScreenContentFailed += (AdError error) =>
        {
            Debug.LogError("리워드 광고 전체 화면 열기 실패, 오류: " + error);

            // 다음 광고를 위한 로드
            LoadRewardedAd();
        };
    }
}

 

반응형

참고할만한 글

 

유니티 C# 구글 애드몹 Google Admob 배너 광고 간단 적용법

구글 애드몹 SDK 설치 https://github.com/googleads/googleads-mobile-unity/releases Releases · googleads/googleads-mobile-unity Official Unity Plugin for the Google Mobile Ads SDK - googleads/googleads-mobile-unity github.com 구글 애드몹 홈페

parksh3641.tistory.com

 

유니티 C# 구글 애드몹 Google Admob 전면 광고 간단 적용법

구글 애드몹 SDK 설치 https://github.com/googleads/googleads-mobile-unity/releases Releases · googleads/googleads-mobile-unity Official Unity Plugin for the Google Mobile Ads SDK - googleads/googleads-mobile-unity github.com 구글 애드몹 홈페

parksh3641.tistory.com

 


의뢰하기

 

유니티로 제작된 게임을 업그레이드 해드립니다. - 크몽

DevPark 전문가의 IT·프로그래밍 서비스를 만나보세요. <p><strong style="font-size: 24px;&q...

kmong.com

 

반응형