이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
가이드에 따라서 보상형 광고를 먼저 LoadFullScreenAd를 실행 후 load가 완료 된 것을 확인하고 ShowFullScreenAd을 실행하였습니다.
그런데 ShowFullScreenAd 실행 이후 광고가 실행이 되지 않는 문제가 발생이 되고 있습니다.
매번 그러지는 않지만 LoadFullScreenAd를 요청하고 응답이 오기까지 1~2분이나 그 이상 걸려서 load가 완료가 되었을 경우에는 높은 확률로 ShowFullScreenAd를 실행하여도 반응이 없습니다.
저희 앱 뿐만 아니라 다른 앱을 실행하여도 비슷한 현상이 나오는 걸로 보이는데 구현한 코드와 테스트 결과 이미지를 같이 올려드립니다.
확인 부탁드립니다.
public void LoadAd_rewarded()
{
NGUIDebug.Log(“LoadAd_rewarded start”);
_rewardedLoadUnsubscribe?.Invoke();
_isRewardedLoading = true;
_rewardedLoadUnsubscribe = AIT.LoadFullScreenAd(
adGroupId: REWARDED_AD_ID,
onEvent: (result) =>
{
_isRewardedLoading = false;
NGUIDebug.Log("LoadAd_rewarded result.Type = " + result.Type);
if (result.Type == “loaded”)
{
_isRewardedLoaded = true;
NGUIDebug.Log(“LoadAd_rewarded load ok”);
}
},
onError: (error) =>
{
_isRewardedLoading = false;
_isRewardedLoaded = false;
NGUIDebug.Log($“LoadAd_rewarded load fail: {error.ErrorCode} - {error.Message}”);
}
);
}
public void ShowAd_rewarded(Action<AdMgr.ADRewardType> callback, int _getspot)
{
NGUIDebug.Log(“ShowAd_rewarded”);
if (!_isRewardedLoaded)
{
NGUIDebug.Log(“ShowAd_rewarded _isRewardedLoaded not load”);
//Debug.LogWarning(“광고가 아직 로드되지 않았어요”);
if (callback != null)
{
callback(ADRewardType.LoadFail);
}
return;
}
_rewardedShowUnsubscribe?.Invoke();
NGUIDebug.Log("ShowAd_rewarded ShowFullScreenAd");
this.m_getspot = _getspot;
ChangeSound(true);
_rewardedShowUnsubscribe = AIT.ShowFullScreenAd(
adGroupId: REWARDED_AD_ID,
onEvent: (result) =>
{
NGUIDebug.Log("ShowAd_rewarded result.Type = " + result.Type);
switch (result.Type)
{
case "requested":
// Debug.Log("광고 표시 요청됨");
break;
case "show":
// Debug.Log("광고 화면 표시됨");
break;
case "impression":
// Debug.Log("광고 노출 기록됨 (수익 발생)");
break;
case "clicked":
// Debug.Log("광고 클릭됨");
break;
case "dismissed":
// Debug.Log("광고가 닫힘");
_isRewardedLoaded = false;
ChangeSound(false);
LoadAd_rewarded(); // 다음 광고 로드
break;
case "failedToShow":
NGUIDebug.Log("Ad Show Fail onEvent");
_isRewardedLoaded = false;
ChangeSound(false);
if (callback != null)
{
callback(ADRewardType.PlayFail);
}
LoadAd_rewarded(); // 다음 광고 로드
break;
case "userEarnedReward":
// 보상형 광고: 리워드 지급
// Debug.Log($"리워드 획득: {result.Data}");
callback_rewardvideo = callback;
GrantReward(result.Data);
break;
}
},
onError: (error) =>
{
NGUIDebug.Log($"Ad Show Fail onError: {error.ErrorCode} - {error.Message}");
_isRewardedLoaded = false;
ChangeSound(false);
if (callback != null)
{
callback(ADRewardType.PlayFail);
}
LoadAd_rewarded(); // 다음 광고 로드
}
);
}
appName (선택)
bricksbreakerhit
