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("광고를 나가서 다른 애플리케이션으로 이동했습니다.");
}
}
친구가 보내준 코드인데
이 코드를 기반으로 광고 재시청 대기시간, 광고 횟수 제한 등등 보상형 광고 관련 코드들을 만드려고 합니다.
문제점 없는지 확인좀 부탁드립니다ㅠ
댓글 0