コードに問題があります。Google Admob をプロジェクトにインポートしたことがわかります。Github の Plugin Wiki and Documentationを使用して、報酬システムを AdManager スクリプトに統合しました。ただし、(私の AdManager スクリプトでは) ユーザー関数に報酬を与えることは実際には機能していません。別のスクリプトからの静的 int を使用して、プレイヤーがゲームでブーメランを拾ったり、購入したり、ビデオを見て受け取ったりしたときにブーメランを与えます。以下は私の AdManager スクリプトです。
public class AdManager : MonoBehaviour
{
public static AdManager Instance { set; get; }
public string bannerId;
public string videoId;
private void Start()
{
Instance = this;
DontDestroyOnLoad(gameObject);
#if UNITY_EDITOR
#elif UNITY_ANDROID
Admob.Instance().initAdmob(bannerId, videoId);
Admob.Instance().setTesting(true);
Admob.Instance().loadInterstitial();
Admob.Instance().rewardedVideoEventHandler += onRewardedVideoEvent;
#endif
}
public void Reward()
{
Admob ad = Admob.Instance();
if (ad.isRewardedVideoReady())
{
ad.showRewardedVideo();
}
else
{
ad.loadRewardedVideo("ca-app-pub-2099082167446861/xxxxxxxxxx");
}
}
void onRewardedVideoEvent(string eventName, string msg)
{
WeaponScript.boomerang += 1;
Debug.Log("Well Done! You have been rewarded one Boomerang!");
Debug.Log("handler onRewardedVideoEvent---" + eventName + " " + msg);
}
}
私の問題: ゲームを作成して試してみたところ、報酬が得られるビデオ (ブーメラン) が見られましたが、もう一度 (別の報酬ビデオを見て) 報酬が得られませんでした (ブーメラン)。私が間違っているかどうかはわかりません。誰でも私の問題を手伝ってください。ありがとうございました!