Dieses Problem hat mich in letzter Zeit aufgefallen, nie zuvor bemerkt, offenbar habe ich admob belohnt Video in meinem Unity3D-Projekt verwendet.Unity Admob Video-Zuhörer nicht funktionieren nach dem Ändern der Szene
In meinem Projekt belohne ich den Benutzer auf Level Fail, wenn der Benutzer das Belohnungsvideo ansieht, wird eine Belohnung für Benutzer- und Szenenänderungen automatisch an die Levelauswahl vergeben. Wenn der Benutzer das Gameplay erneut startet und erneut fehlschlägt, wird das Video angesehen, aber nichts passiert.
Nach einigen Debugging fand ich die Zuhörer funktionierten nicht zum zweiten Mal die Spielszene geladen wurde.
Ich habe ein GamePlayManager Script, wo ich alle Funktionalitäten tue ..
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");
}
}