C# Unity MobAd奖励视频不起作用
我有一个奇怪的问题。我已经为我的游戏实现了一个广告代码,当我的玩家死后,我请求玩家观看广告并重生。当我在手机上构建并安装apk时,首先,一切都很好。在第二次尝试之后,我的Rewardedd.onAndwarded函数根本不起作用。我在游戏中控制广告状态,在第二场比赛中,我可以看到奖励系统不起作用。这是我的密码C# Unity MobAd奖励视频不起作用,c#,unity3d,ads,C#,Unity3d,Ads,我有一个奇怪的问题。我已经为我的游戏实现了一个广告代码,当我的玩家死后,我请求玩家观看广告并重生。当我在手机上构建并安装apk时,首先,一切都很好。在第二次尝试之后,我的Rewardedd.onAndwarded函数根本不起作用。我在游戏中控制广告状态,在第二场比赛中,我可以看到奖励系统不起作用。这是我的密码 void Start() { adState = 0; gameOverScript = GameObject.Find("GameO
void Start()
{
adState = 0;
gameOverScript = GameObject.Find("GameOver").GetComponent<GameOverCode>();
kingSCript = GameObject.FindGameObjectWithTag("Player").GetComponent<RedKing>();
isCompleted = false;
RequestRewardedVideo();
this.rewardedAd.OnAdRewarded += RewardPlayer;
// this.rewardedAd.OnAdClosed += PlayerClosed;
}
public void RequestRewardedVideo()
{
rewardedAd = RewardBasedVideoAd.Instance;
// Create an empty ad request.
AdRequest request = new AdRequest.Builder().Build();
// Load the rewarded ad with the request.
this.rewardedAd.LoadAd(request,rewarderID);
if(rewardedAd.IsLoaded() == true)
{
adState = 5;
}
}
private void RewardPlayer(object sender, EventArgs e)
{
isCompleted = true;
adState = 1;
Reward();
}
private void PlayerClosed(object sender, EventArgs e)
{
if(adState != 1)
{
adState = -1;
}
}
public void Reward()
{
adState = 1;
kingSCript.Reborn();
}
public void ShowVideoRewardAd()
{
if (this.rewardedAd.IsLoaded())
{
adState = 2;
isLoaded = true;
this.rewardedAd.Show();
}
else
{
isLoaded = false;
}
}
void Start()
{
吸附态=0;
gameOverScript=GameObject.Find(“GameOver”).GetComponent();
kingSCript=GameObject.FindGameObjectWithTag(“玩家”).GetComponent();
isCompleted=假;
RequestRewardedVideo();
this.rewardedAd.onadwarded+=奖赏玩家;
//this.rewardedAd.OnAdClosed+=播放器关闭;
}
public void RequestRewardedVideo()
{
RewardedDad=RewardBasedVideoAd.Instance;
//创建一个空的广告请求。
AdRequest request=新建AdRequest.Builder().Build();
//加载带有请求的奖励广告。
this.rewardedAd.LoadAd(请求,rewardedid);
if(rewardedAd.IsLoaded()==true)
{
吸附态=5;
}
}
私有无效奖励播放器(对象发送者,事件参数e)
{
isCompleted=真;
吸附态=1;
奖励();
}
私有void PlayerClosed(对象发送方,事件参数e)
{
if(adState!=1)
{
吸附态=-1;
}
}
公开无效奖励()
{
吸附态=1;
kingSCript.Reborn();
}
公开无效显示视频奖励()
{
if(this.rewardedAd.IsLoaded())
{
吸附态=2;
isLoaded=true;
这个。回报爸爸。Show();
}
其他的
{
isLoaded=false;
}
}
为什么广告状态在第二次尝试中不起作用?每次我重新上传的场景,所以每一个代码应该像第一次一样工作,但它根本不工作 所有方法的解决方案都是使用-=函数。请检查此脚本
void Start()
{
gameOverScript = GameObject.Find("GameOver").GetComponent<GameOverCode>();
kingScript = GameObject.FindGameObjectWithTag("Player").GetComponent<RedKing>();
adState = 0;
rewardedID = "ca-app-pub-3940256099942544/5224354917";
rewardedAd = RewardBasedVideoAd.Instance;
isAdLoaded = false;
RequestRewardedAd();
}
void Update()
{
Debug.Log(adState);
if (rewardedAd.IsLoaded())
{
isAdLoaded = true;
Debug.Log("burda");
}
if(adState == 1)
{
kingScript.Reborn();
}
if(adState == -1)
{
gameOverScript.FinishTheGame();
}
}
public void RequestRewardedAd()
{
AdRequest request = AdRequestBuild();
rewardedAd.LoadAd(request, rewardedID);
rewardedAd.OnAdLoaded += this.HandleOnRewardedAdLoaded;
rewardedAd.OnAdRewarded += this.HandleOnAdRewarded;
rewardedAd.OnAdClosed += this.HandleOnRewardedAdClosed;
}
public void HandleOnRewardedAdLoaded(object sender, EventArgs args)
{
Debug.Log("loaded");
adState = 3;
}
public void HandleOnAdRewarded(object sender, EventArgs args)
{
adState = 1;
}
public void HandleOnRewardedAdClosed(object sender, EventArgs args)
{
rewardedAd.OnAdLoaded -= this.HandleOnRewardedAdLoaded;
rewardedAd.OnAdRewarded -= this.HandleOnAdRewarded;
rewardedAd.OnAdClosed -= this.HandleOnRewardedAdClosed;
if(adState != 1)
{
playerAdCount = PlayerPrefs.GetInt("PlayerDontWatchTheAds");
playerAdCount++;
PlayerPrefs.SetInt("PlayerDontWatchTheAds", playerAdCount);
adState = -1;
}
}
public void ShowRewardAd()
{
if (rewardedAd.IsLoaded())
{
rewardedAd.Show();
}
}
AdRequest AdRequestBuild()
{
return new AdRequest.Builder().Build();
}
void Start()
{
gameOverScript=GameObject.Find(“GameOver”).GetComponent();
kingScript=GameObject.FindGameObjectWithTag(“玩家”).GetComponent();
吸附态=0;
rewardedID=“ca-app-pub-3940256099942544/5224354917”;
RewardedDad=RewardBasedVideoAd.Instance;
isAdLoaded=false;
RequestRewardedAd();
}
无效更新()
{
Debug.Log(adState);
if(rewardedAd.IsLoaded())
{
isAdLoaded=真;
Debug.Log(“burda”);
}
if(adState==1)
{
kingScript.Reborn();
}
if(adState==-1)
{
gameOverScript.FinishTheGame();
}
}
public void RequestRewardedAd()
{
AdRequest request=ADREQUESTBILD();
rewardedAd.LoadAd(请求,rewardedID);
rewardedAd.OnAdLoaded+=此.HandleOnRewardedLoaded;
REWARDADD.ONADREWARD+=此.HANDLEONADREWARD;
rewardedAd.OnAdClosed+=此.handleOnRewardedAclosed;
}
public void handleOnRewardedAddLoaded(对象发送方、事件args args)
{
Debug.Log(“已加载”);
吸附态=3;
}
public void handleOnAddresseded(对象发送方、事件args args)
{
吸附态=1;
}
public void handleOnRewardedAdadClosed(对象发送方,事件args args)
{
rewardedAd.OnAdLoaded-=此.HandleOnRewardedLoaded;
奖赏;奖赏;奖赏;
RewardedDad.OnAdClosed-=此.handleOnRewardedClosed;
if(adState!=1)
{
playerAdCount=PlayerPrefs.GetInt(“playerdontwatchthead”);
playerAdCount++;
PlayerPrefs.SetInt(“playerDontWatchThead”,playerAddCount);
吸附态=-1;
}
}
公开无效显示奖赏()
{
if(rewardedAd.IsLoaded())
{
报答爸爸。Show();
}
}
AdRequest ADREQUESTBILD()
{
返回新的addRequest.Builder().Build();
}
为了解释问题,在第一次尝试中,我的adState在观看广告后更改为1,但在第二次尝试中,它没有更改。卡在2号了