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

public class AdMobRewardAds : MonoBehaviour
{
    private RewardBasedVideoAd rewardBasedVideo;

    private void Start()
    {
        // 광고 요청 시 사용할 광고 단위 ID를 설정
        string adUnitId = "YOUR_REWARD_ADMOB_AD_UNIT_ID";

        // RewardBasedVideoAd 객체 초기화
        rewardBasedVideo = RewardBasedVideoAd.Instance;

        // 광고 로드 및 이벤트 처리를 위한 델리게이트 등록
        rewardBasedVideo.OnAdLoaded += HandleRewardBasedVideoLoaded;
        rewardBasedVideo.OnAdFailedToLoad += HandleRewardBasedVideoFailedToLoad;
        rewardBasedVideo.OnAdOpening += HandleRewardBasedVideoOpened;
        rewardBasedVideo.OnAdStarted += HandleRewardBasedVideoStarted;
        rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
        rewardBasedVideo.OnAdClosed += HandleRewardBasedVideoClosed;
        rewardBasedVideo.OnAdLeavingApplication += HandleRewardBasedVideoLeftApplication;

        // 광고 요청 설정
        AdRequest request = new AdRequest.Builder().Build();

        // 광고 요청
        rewardBasedVideo.LoadAd(request, adUnitId);
    }

    public void ShowRewardAd()
    {
        if (rewardBasedVideo.IsLoaded())
        {
            // 광고 재생
            rewardBasedVideo.Show();
        }
    }

    // 광고 이벤트 핸들러
    public void HandleRewardBasedVideoLoaded(object sender, EventArgs args)
    {
        Debug.Log("광고 로드 완료");
    }

    public void HandleRewardBasedVideoFailedToLoad(object sender, AdFailedToLoadEventArgs args)
    {
        Debug.Log("광고 로드 실패: " + args.Message);
    }

    public void HandleRewardBasedVideoOpened(object sender, EventArgs args)
    {
        Debug.Log("광고가 열렸습니다.");
    }

    public void HandleRewardBasedVideoStarted(object sender, EventArgs args)
    {
        Debug.Log("광고가 시작되었습니다.");
    }

    public void HandleRewardBasedVideoRewarded(object sender, Reward args)
    {
        Debug.Log("광고 시청 완료! 보상 지급: " + args.Type + " " + args.Amount);
        // 보상을 지급하는 코드를 여기에 추가
    }

    public void HandleRewardBasedVideoClosed(object sender, EventArgs args)
    {
        Debug.Log("광고가 닫혔습니다.");
    }

    public void HandleRewardBasedVideoLeftApplication(object sender, EventArgs args)
    {
        Debug.Log("광고를 나가서 다른 애플리케이션으로 이동했습니다.");
    }
}


친구가 보내준 코드인데

이 코드를 기반으로 광고 재시청 대기시간, 광고 횟수 제한 등등 보상형 광고 관련 코드들을 만드려고 합니다.

문제점 없는지 확인좀 부탁드립니다ㅠ