로드 완료 된 보상형 광고가 실행이 되지 않는 문제가 있어서 질문을 드립니다

이 글의 성격은 무엇인가요?

질문 / 문제 해결

내용을 설명해주세요

가이드에 따라서 보상형 광고를 먼저 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

이미지 첨부