유니티 버그 리포트

유니티 애드몹 보상형광고 크러시

san10 2022. 12. 16. 22:23

오리키우기 내부 테스트 중에...

보상형 광고를 보고 close를 하면 앱이 강제종료가 되는 현상이 발생했다.

광고를 띄우는 것까지는 문제가 없었는데 광고를 다보고 종료하기만 하면 강제종료가 되었고

당연히 보상도 들어오지 않았다.

 

구글링을 해보니 쓰레드 충돌 문제라고 하는데

(아마도) TextMeshPro가 주로 문제가 되는 듯 했다.

 

애드몹에서 광고를 실행하는 동안 게임을 일시중지하기 위해 유니티와 분리된 스레드에서 광고가 실행되는데,

광고후 첫 프레임에서 TMP로 텍스트를 렌더링할때 충돌하는 현상이 있다고 한다.

 

해결책으로 TMP를 비활성화 하면 된다고 하는데...

이미 만들어놓은걸 비활성화 하긴 아까워서 

광고가 끝났는지 체크하는 bool형 변수를 만들고

update에서 해당 변수가 true면 invoke로 0.1초 뒤에 보상을 주는 함수가 실행되게 만들었다.

 

private bool endVideo=false;
private bool rewardComplete=false;

public void HandleUserEarnedReward(object sender, Reward args)
{
        rewardComplete = true;
}

public void HandleRewardedAdClosed(object sender, EventArgs args)
{
        this.CreateAndLoadRewardedAd();
        endVideo = true;
}

void Update()
{
        if (endVideo)
        {
            endVideo = false;
            if (rewardComplete)
            {
                Invoke("rewardOn", 0.1f);
            }
            rewardComplete= false;
        }
}

 

크러시 안나고 잘된다. ^___^

 

참고: https://mentum.tistory.com/438

 

애드몹 보상형광고 크러시 Admob Reward Close Crash

애드몹 보상형광고를 처음 구현해보면 유저가 끝까지 영상을 시청하여 보상을 받을 수 있다는 콜백인 rewardedAd.OnUserEarnedReward += HandleUserEarnedReward; 광고가 닫혔다는 콜백인 rewardedAd.OnAdClosed += Handl

mentum.tistory.com

https://stackoverflow.com/questions/59674322/admob-rewardbasedvideoad-app-crash-after-reward-video-closed-unity3dd-android

 

AdMob RewardBasedVideoAd, App crash after reward video closed (Unity3dd, Android)

I'm working on an Android game and I want to add AdMob ads to my game. I have added Banner and interstitial Views but the problem in RewardBasedVideoAd specifically on OnAdRewarded event, when the ...

stackoverflow.com