반응형
광고를 불러오는 시간이 오래걸리는 경우가 생각보다 많습니다..
이때 사용할 수 있는게 광고 미리 불러오기 입니다.
1. 보상형 광고 미리 불러오기
void LoadRewardAd()
{
if (_rewardedAd != null && _rewardedAd.CanShowAd())
{
UIHandler.instance.logUI.WriteLog("이미 로드된 광고가 있습니다.");
return;
}
var adRequest = new AdRequest();
RewardedAd.Load(rewardId, adRequest,
(RewardedAd ad, LoadAdError error) =>
{
if (error != null || ad == null)
return;
UIHandler.instance.logUI.WriteLog("광고 불러오기 성공");
_rewardedAd = ad;
});
return;
}
유저가 광고를 재생하기 전에 RewardedAd.Load 함수를 호출하여 광고를 미리 불러오는 방법으로 로딩 시간을 거의 삭제할 수가 있습니다.
하지만, 광고 종류 후 유저가 곧바로 광고를 다시 재생하게 된다면 로딩 시간이 다시 생기게됩니다.
이 때 사용할 수 있는 방법은 광고를 하나만 저장해놓는게 아니라 두개 이상 저장해 놓는겁니다.
그래픽스의 더블 버퍼링을 생각하면 될 것 같습니다.
2. 광고 여러개 저장해놓기
RewardedAd[] _rewardedAds = { null, null, null };
int GetRewardAd()
{
for (int i = 0; i < 3; i++)
{
if (_rewardedAds[i] != null && _rewardedAds[i].CanShowAd())
return i;
}
return -1;
}
RewardedAd를 여러개 사용하는 방식으로 A를 사용할 때, B를 불러와서 빠르게 다음 광고로 교체가 가능합니다.
반응형
LIST
'Unity' 카테고리의 다른 글
유니티 무한 로딩 오류 (0) | 2025.02.20 |
---|---|
유니티 대화 시스템 구현 (0) | 2025.02.19 |
Unity Shader Graph 이용한 외곽선 생성법 (0) | 2025.01.07 |
Unable to load DLL 'native-googlesignin' 해결법 (0) | 2024.12.20 |
unity gradle build failed (0) | 2024.12.19 |