728x90
반응형
유니티에서 광고 스크립트를 작업하기 전 Plugins을 설치해야한다.
설치는 앞에 적어놓은 배너광고, 전면광고 글에 설정해 놓았다.
Hierachy에서 빈 오브젝트를 만들고 이름을 AdMobManager로 변경한다.
AdmobReward라는 Script를 만들어서 AdMobManager에 넣어준다.
Script에 아래 코드를 적어준다.
using GoogleMobileAds.Api;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AdmobReward : MonoBehaviour
{
private RewardedAd rewardedAd;
public void Start()
{
RequestRewardedAd();
RewardAdmobShow();
}
public void RewardAdmobShow()
{
if (rewardedAd.IsLoaded())
{
rewardedAd.Show();
}
}
void RequestRewardedAd()
{
string adUnitId;
#if UNITY_ANDROID
adUnitId = "ca-app-pub-3940256099942544/5224354917";
#elif UNITY_IPHONE
adUnitId = "ca-app-pub-3940256099942544/1712485313";
#else
adUnitId = "unexpected_platform";
#endif
rewardedAd = new RewardedAd(adUnitId);
// 광고 요청이 성공적으로 로드되면 호출됩니다.
rewardedAd.OnAdLoaded += HandleRewardedAdLoaded;
// 광고 요청을 로드하지 못한 경우 호출됩니다.
rewardedAd.OnAdFailedToLoad += HandleRewardedAdFailedToLoad;
// 광고가 표시되면 호출됩니다.
rewardedAd.OnAdOpening += HandleRewardedAdOpening;
// 광고 요청이 표시되지 않을 때 호출됩니다.
rewardedAd.OnAdFailedToShow += HandleRewardedAdFailedToShow;
// 사용자가 광고와 상호 작용하여 보상을 받아야 할 때 호출됩니다.
rewardedAd.OnUserEarnedReward += HandleUserEarnedReward;
// 광고가 닫히면 호출됩니다.
rewardedAd.OnAdClosed += HandleRewardedAdClosed;
// 빈 광고 요청을 만듭니다.
AdRequest request = new AdRequest.Builder().Build();
// 보상된 광고를 요청과 함께 로드합니다.
rewardedAd.LoadAd(request);
}
public void HandleRewardedAdLoaded(object sender, EventArgs args)
{
Debug.Log("HandleRewardedAdLoaded event received");
}
public void HandleRewardedAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
Debug.Log("HandleRewardedAdFailedToLoad event received with message: "
+ args.ToString());
}
public void HandleRewardedAdOpening(object sender, EventArgs args)
{
Debug.Log("HandleRewardedAdOpening event received");
}
public void HandleRewardedAdFailedToShow(object sender, AdErrorEventArgs args)
{
Debug.Log("HandleRewardedAdFailedToShow event received with message: "
+ args.Message);
}
public void HandleRewardedAdClosed(object sender, EventArgs args)
{
Debug.Log("HandleRewardedAdClosed event received");
}
public void HandleUserEarnedReward(object sender, Reward args)
{
string type = args.Type;
double amount = args.Amount;
Debug.Log("HandleRewardedAdRewarded event received for "
+ amount.ToString() + " " + type);
}
}
이렇게 해서 플레이 해보면 보상형 광고가 나오는걸 확인할 수 있다.
참고 사이트
https://developers.google.com/admob/unity/rewarded
728x90
반응형
'Unity' 카테고리의 다른 글
[ UNITY ] Unity 2021.2 OBSOLETE 에러, Assets/Plugins/Android/res removed (2) | 2022.12.29 |
---|---|
[ UNITY ] 빌드 후 앱 중단 됐을 때 (0) | 2022.12.22 |
[ UNITY ] AdMob광고 달기 - 전면 광고 (0) | 2022.12.17 |
[ UNITY ] AdMob광고 달기 - 배너 광고, 사이즈 조절 (0) | 2022.12.16 |
[ UNITY ] script on/off, 스크립트 온오프 (0) | 2022.12.12 |
댓글