이 문제는 최근에 저에게 충격을주었습니다. 전에는 눈치 채지 못했지만, Unity3D 프로젝트에서 admob 보상 비디오를 사용했습니다.Unity Admob 보상 비디오 리스너가 장면 전환 후 작동하지 않습니다.
내 프로젝트에서 사용자가 보상 비디오를 볼 때 레벨 실패에 대해 사용자에게 보상하고 레벨 선택에 자동으로 장면 변경이 적용됩니다. 사용자가 게임 플레이를 다시 시작하고 다시 실패하면 비디오를 보지만 아무 일도 일어나지 않습니다.
일부 디버깅 후 게임 플레이 장면이로드 된 두 번째 시간에 리스너가 작동하지 않는 것으로 나타났습니다. 당신이 새로운 장면 GamePlayManager
가 파괴로드 할 때
나는 내가 모든 기능을하고 오전 GamePlayManager 스크립트 ..
public class GamePlayManager : MonoBehaviour {
private RewardBasedVideoAd rewardBasedVideoAd;
void Start()
{
rewardBasedVideoAd = RewardBasedVideoAd.Instance;
RequestRewardBasedVideo();
rewardBasedVideoAd.OnAdFailedToLoad += HandleRewardBasedVideoFailedToLoad;
// has rewarded the user.
rewardBasedVideoAd.OnAdRewarded += HandleRewardBasedVideoRewarded;
}
private void RequestRewardBasedVideo()
{
#if UNITY_ANDROID
string adUnitId = GameConstants.AdmobRewardedVideoID;
#elif UNITY_IPHONE
string adUnitId = GameConstants.AdmobIOSRewardedVideoID;
#else
string adUnitId = "unexpected_platform";
#endif
AdRequest request = new AdRequest.Builder().Build();
rewardBasedVideoAd.LoadAd(request, adUnitId);
}
public void showAdmobRewardedVideo()
{
if (rewardBasedVideoAd.IsLoaded())
{
rewardBasedVideoAd.Show();
}
}
public void HandleRewardBasedVideoRewarded(object sender, Reward args)
{
Debug.Log ("Unity AdmobRewardGiven");
nextLevel();
gotoLevelSelection();
}
public void HandleRewardBasedVideoFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
Debug.Log ("Admob RewardedVideo FailedToLoad");
}
}