我知道这个问题已经被问过几次了,但是即使我已经实施并尝试了所有解决方案,但我还是被卡住了。我会按照本教程中的插页广告来显示:
https://developers.google.com/admob/unity/interstitial
我的主要目标是在用户点击游戏的“重新启动”按钮时展示广告。
这是我的主要广告管理器类(与游戏对象链接):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;
public class AdManager : MonoBehaviour {
public string interstitial_id;
public string app_id;
public InterstitialAd interstitial;
// Use this for initialization
void Start () {
//MobileAds.Initialize(app_id);
DontDestroyOnLoad(this);
Prepare_Video();
Debug.Log("Admob ilklendirildi: " + interstitial.ToString());
}
public void Show_Video()
{
Debug.Log("Reklam hazırlık durumu: " + interstitial.IsLoaded());
if (interstitial.IsLoaded()) {
Debug.Log("Reklam hazır, gösterilecek");
interstitial.Show();
}
else
{
Prepare_Video();
interstitial.Show();
}
}
public void Destroy_Video()
{
if(interstitial != null)
{
interstitial.Destroy();
}
}
public void Prepare_Video()
{
interstitial = new InterstitialAd(interstitial_id);
AdRequest request = new AdRequest.Builder().Build();
interstitial.LoadAd(request);
}
}
我在重启操作中调用show方法:
public void RestartScene()
{
GameStatusText.gameObject.SetActive(false);
RestartButton.gameObject.SetActive(false);
MeterText.gameObject.SetActive(false);
MeterTextTop.text = "";
Time.timeScale = 1;
TimeController.TimeLeft = 50f;
FindObjectOfType<AdManager>().Show_Video();
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
答案 0 :(得分:1)
您需要先初始化admob
答案 1 :(得分:0)
检查分配给AdManager
的场景的情况,以及场景是否有变化,并且您的游戏中是否安装了Google Ads unity资源?
答案 2 :(得分:0)
我已经重新安装了admob插件,并从一开始就按照说明进行操作。有效。看来我的插件包已损坏,并且缺少一些文件。