私は私のゲームでRewardAdを望んでいません。ビデオを見ると、あなたの現在の得点に+10点が得られ、ハイスコアにはなりません。ユニティRewardAd関数呼び出しより多くの時間は、一回だけ
あなたは45ハイスコアを持っているとあなたは今37であるので、あなたは、10のスコアのためにビデオを見て、あなたはそれがいいのよ47ハイスコアを持っています。しかし、あなたがそれをやり直すと、ビデオはあなたに+20のスコアを与えますか?そして次の時間+30など。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;
using System.Threading;
public class RewardAd : MonoBehaviour {
public int highscore;
public int score;
public static GameObject drawscore_obj;
public RewardBasedVideoAd rewardBasedVideo = null;
public string adUnitId;
void Start()
{
rewardBasedVideo = null;
GetComponent<SpriteRenderer>().enabled = false;
//highscore = PlayerPrefs.GetInt ("highscore");
adUnitId = "ca-app-pub-2879768424205988/1590886374";
rewardBasedVideo = RewardBasedVideoAd.Instance;
AdRequest request = new AdRequest.Builder().Build();
rewardBasedVideo.LoadAd(request, adUnitId);
rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
}
void Update()
{
if (GameOverScript.GameOver)
{
GetComponent<SpriteRenderer>().enabled = true;
}
}
void OnMouseDown()
{
showAdd(rewardBasedVideo);
}
private void showAdd(RewardBasedVideoAd rewardBasedVideo)
{
if (rewardBasedVideo.IsLoaded())
{
if (GameOverScript.GameOver)
{
rewardBasedVideo.Show();
}
}
}
public void HandleRewardBasedVideoRewarded(object sender, Reward args)
{
highscore = PlayerPrefs.GetInt ("highscore");
if ((Controll.points + 10) > highscore)
{
Controll.points += 10;
if(Controll.points > highscore)
{
PlayerPrefs.SetInt ("highscore", highscore);
}
}
}
}
ようこそ!あなたは方法は二回、またはそれが一度と呼ばれるが、20ポイントを追加されていた場合に呼び出されているかどうかを説明することができればあなたの質問は、より明確になります。広告が表示されるたびにイベントを追加しますが、削除することはないため、そのように見えます。 – DSway
ありがとう! :)私の悪い英語のためにSry ...私は2回呼ばれ、10 + 10ポイントを追加する方法を言ってみたいです。私はDebug.Logでメソッド呼び出しをチェックしました! :) – antal1208