72 lines
2.1 KiB
C#
72 lines
2.1 KiB
C#
using UnityEngine;
|
|
using GoogleMobileAds.Api;
|
|
using System;
|
|
|
|
public class AdManager : MonoBehaviour
|
|
{
|
|
private RewardedInterstitialAd rewardedInterstitialAd;
|
|
private string adUnitId = "ca-app-pub-3940256099942544/5354046379"; // 테스트 광고 ID
|
|
|
|
void Start()
|
|
{
|
|
// Google Mobile Ads 초기화
|
|
MobileAds.Initialize(initStatus => { Debug.Log("AdMob Initialized"); });
|
|
|
|
// 광고 로드
|
|
LoadRewardedInterstitialAd();
|
|
}
|
|
|
|
// 보상형 전면 광고 로드
|
|
public void LoadRewardedInterstitialAd()
|
|
{
|
|
AdRequest request = new AdRequest();
|
|
|
|
RewardedInterstitialAd.Load(adUnitId, request,
|
|
(RewardedInterstitialAd ad, LoadAdError error) =>
|
|
{
|
|
if (error != null)
|
|
{
|
|
Debug.LogError("보상형 전면 광고 로드 실패: " + error);
|
|
return;
|
|
}
|
|
|
|
Debug.Log("보상형 전면 광고 로드 성공");
|
|
rewardedInterstitialAd = ad;
|
|
|
|
// 광고 종료 이벤트 설정
|
|
rewardedInterstitialAd.OnAdFullScreenContentClosed += HandleAdClosed;
|
|
});
|
|
}
|
|
|
|
// 보상형 전면 광고 실행
|
|
public void ShowRewardedInterstitialAd()
|
|
{
|
|
if (rewardedInterstitialAd != null && rewardedInterstitialAd.CanShowAd())
|
|
{
|
|
rewardedInterstitialAd.Show((Reward reward) =>
|
|
{
|
|
Debug.Log("코인 지급됨: " + reward.Amount);
|
|
// 코인 지급 로직
|
|
GrantReward();
|
|
});
|
|
}
|
|
else
|
|
{
|
|
Debug.Log("보상형 전면 광고가 아직 로드되지 않았습니다.");
|
|
}
|
|
}
|
|
|
|
// 광고 닫힘 이벤트 처리
|
|
private void HandleAdClosed()
|
|
{
|
|
Debug.Log("보상형 전면 광고 닫힘, 새로운 광고 로드.");
|
|
LoadRewardedInterstitialAd(); // 광고가 닫힌 후 다시 로드
|
|
}
|
|
|
|
// 코인 지급 함수
|
|
private void GrantReward()
|
|
{
|
|
Debug.Log("코인 지금 완료");
|
|
// 코인 보상 로직 추가
|
|
}
|
|
} |