유니티
유니티 애드몹 전면광고 구현방법 (실행 횟수 체크 후 광고 띄우기)
유니티에서 실행 횟수를 저장해두고 설정한 횟수 이상이면 AD실행
유니티에서 플레이 횟수를 저장하고, 설정된 횟수 이상이 되었을 때
ShowFrontAD
를 실행하는 방법입니다. PlayerPrefs
를 사용하여 로컬에 횟수를 저장하고, 특정 횟수 이상일 때 광고를 표시하는 클래스를 구현합니다. 아래는 그 예시 코드입니다.1. 플레이 횟수 저장 및 광고 호출 논리
using UnityEngine;
public class PlayManager : MonoBehaviour
{
// 광고를 표시할 최소 플레이 횟수
public int playLimit = 5;
void Start()
{
// 게임 시작 시 플레이 횟수를 증가시킵니다.
IncreasePlayCount();
}
void IncreasePlayCount()
{
// 저장된 플레이 횟수를 가져옵니다. 없으면 기본값 0을 반환합니다.
int playCount = PlayerPrefs.GetInt("PlayCount", 0);
// 플레이 횟수를 1 증가시킵니다.
playCount++;
// 새로운 플레이 횟수를 저장합니다.
PlayerPrefs.SetInt("PlayCount", playCount);
Debug.Log("Current Play Count: " + playCount);
// 플레이 횟수가 설정한 한도 이상이면 광고를 표시합니다.
if (playCount >= playLimit)
{
ShowFrontAD();
// 광고를 표시한 후 플레이 횟수를 0으로 초기화합니다.
PlayerPrefs.SetInt("PlayCount", 0);
}
}
void ShowFrontAD()
{
// 여기에 광고 표시 코드를 넣습니다.
Debug.Log("ShowFrontAD is called. Displaying ad...");
// 예: Advertisement.Show();
}
}
2. 코드 설명
IncreasePlayCount
: 게임이 시작될 때 호출되며, 현재까지의 플레이 횟수를 증가시키고 저장합니다.PlayerPrefs
: 유니티에서 간단하게 데이터를 로컬에 저장할 수 있는 클래스입니다. 플레이 횟수를 저장하고 로드하는 데 사용됩니다.playLimit
: 광고를 표시할 최소 플레이 횟수입니다. 예를 들어,5
로 설정하면 5번 플레이한 후 광고가 표시됩니다.ShowFrontAD
: 광고를 표시하는 메서드입니다. 실제 광고 호출 코드를 여기에 추가할 수 있습니다.
구글애드몹 전면광고 보여주기
유니티에서 구글 애드몹(Google AdMob) 전면 광고(Interstitial Ad)를 구현하기 위해서는, 먼저 Google Mobile Ads SDK를 Unity 프로젝트에 추가해야 합니다. 그 후, 광고를 로드하고 표시하는 코드를 작성할 수 있습니다.
1. Google Mobile Ads SDK 설치
- Unity 패키지 매니저를 통해 Google Mobile Ads Unity Plugin을 설치합니다.
- 설치한 후, 구글 애드몹 대시보드에서 애드몹 계정을 생성하고, 애플리케이션과 광고 단위 ID(Ad Unit ID)를 설정하세요.
2. 구글 애드몹 전면 광고 코드
아래는 Unity에서 구글 애드몹 전면 광고를 보여주는 코드입니다.
using System;using UnityEngine;
using GoogleMobileAds.Api; // 구글 애드몹 API를 사용하기 위한 네임스페이스
public class GoogleAdMobManager : MonoBehaviour
{
private InterstitialAd interstitial;
// 애드몹 전면 광고 ID를 넣습니다 (실제 애드몹 계정에서 가져온 ID로 대체)
private string adUnitId = "ca-app-pub-3940256099942544/1033173712"; // 테스트용 ID, 실제 ID로 변경해야 함
void Start()
{
// 구글 애드몹 SDK를 초기화합니다.
MobileAds.Initialize(initStatus => { });
// 전면 광고를 로드합니다.
RequestInterstitial();
}
private void RequestInterstitial()
{
// 새로운 전면 광고 객체를 만듭니다.
interstitial = new InterstitialAd(adUnitId);
// 광고가 로드되었을 때 실행될 이벤트 핸들러 설정
interstitial.OnAdLoaded += HandleOnAdLoaded;
interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
interstitial.OnAdClosed += HandleOnAdClosed;
// 광고 로드 요청을 보냅니다.
AdRequest request = new AdRequest.Builder().Build();
interstitial.LoadAd(request);
}
// 광고 로드 성공 시 호출되는 함수
private void HandleOnAdLoaded(object sender, EventArgs args)
{
Debug.Log("Interstitial ad loaded successfully.");
}
// 광고 로드 실패 시 호출되는 함수
private void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
Debug.Log("Failed to load interstitial ad: " + args.LoadAdError);
}
// 광고를 닫았을 때 호출되는 함수
private void HandleOnAdClosed(object sender, EventArgs args)
{
Debug.Log("Interstitial ad closed.");
// 광고가 닫히면 다시 광고를 요청합니다.
RequestInterstitial();
}
// 광고를 표시하는 함수
public void ShowInterstitialAd()
{
if (interstitial.IsLoaded())
{
interstitial.Show();
}
else
{
Debug.Log("Interstitial ad is not ready yet.");
}
}
void OnDestroy()
{
// 광고 이벤트 핸들러를 해제합니다.
interstitial.OnAdLoaded -= HandleOnAdLoaded;
interstitial.OnAdFailedToLoad -= HandleOnAdFailedToLoad;
interstitial.OnAdClosed -= HandleOnAdClosed;
}
}
3. 코드 설명
adUnitId
: 구글 애드몹에서 발급받은 전면 광고의 Ad Unit ID를 넣습니다. 위의 ID는 테스트용이며, 실제 애드몹 대시보드에서 발급받은 ID로 변경해야 합니다.MobileAds.Initialize
: 구글 애드몹 SDK를 초기화하는 함수입니다. 이 함수는 앱 시작 시 호출되어야 합니다.RequestInterstitial
: 전면 광고를 로드하는 함수입니다. 광고가 로드되면HandleOnAdLoaded
이벤트가 호출됩니다.ShowInterstitialAd
: 전면 광고가 로드되었을 때 광고를 화면에 표시하는 함수입니다. 광고가 아직 로드되지 않았으면 광고를 표시하지 않습니다.HandleOnAdClosed
: 광고를 닫았을 때 호출되는 함수입니다. 광고가 닫힌 후 다시 새로운 광고를 로드하도록 처리할 수 있습니다.
4. 사용 방법
- Unity의 빈 게임 오브젝트에 이 스크립트를 추가합니다.
- 전면 광고를 표시하려는 타이밍에
ShowInterstitialAd()
메서드를 호출하면 됩니다.
댓글 쓰기
0 댓글