1

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;
using UnityEngine.UI;

public class admobVideo : MonoBehaviour {

	RewardBasedVideoAd rewardBasedVideo;

	static InterstitialAd interstitial;

	string VideoID = "ca-app-pub-6032262586397129~2821965113";
	string adUnitId = "ca-app-pub-6032262586397129/5003220953";

	public static admobVideo Instance;
	void Start ()
	{
		Instance = this;
		DontDestroyOnLoad(gameObject);
		RequestRewardBasedVideo();
		RequestInterstitial();
	}

	public void RequestRewardBasedVideo()
	{       
		rewardBasedVideo = RewardBasedVideoAd.Instance;
		rewardBasedVideo.LoadAd(new AdRequest.Builder().Build(), adUnitId);
	}

	public void RequestInterstitial()
	{
		interstitial = new InterstitialAd(VideoID);
		interstitial.LoadAd(new AdRequest.Builder().Build());
	}
	public void ShowAd()
	{
		if(rewardBasedVideo.IsLoaded())
		{
			rewardBasedVideo.Show();
			rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
		}
	}
	public static void ShowInter()
	{
		showInterstitial(interstitial);
	}


	private void showAdd(RewardBasedVideoAd r)
	{
		if (r.IsLoaded())
		{
			//Subscribe to Ad event
			r.Show();
			r.OnAdRewarded += HandleRewardBasedVideoRewarded;
		}
	}

	public void HandleRewardBasedVideoRewarded(object sender, Reward args)
	{

		PlayerPrefs.SetInt("coins", PlayerPrefs.GetInt("coins") + 5);
		GameObject.FindGameObjectWithTag("Coins").GetComponent<Text>().text = PlayerPrefs.GetInt("coins").ToString();
		GameObject.FindGameObjectWithTag("Double").GetComponent<Button>().interactable = false;

		Debug.Log("Pref: " + PlayerPrefs.GetInt("coins"));
	}

	static void showInterstitial(InterstitialAd i)
	{
		if (i.IsLoaded())
		{
			i.Show();
		}
	}
}

プレーヤーに 5 コインを与えていますが、ボタンをクリックしても何も表示されません。さまざまな方法でコードを変更しようとしましたが、良い結果は得られませんでした。

Unity でボタンをクリックすると、コンソールに「Dummy is loaded」と「Dummy showrewardedbasedvideoad」が表示される

ボタンのクリック時に呼び出されるメソッドは ShowAd() です。助けてください

4

1 に答える 1