c# - 如何通过单击按钮移动到 Unity 中的下一个场景来显示插页式广告?
问题描述
如何在单击按钮的动作中显示插页式广告 admob 以进入下一个场景,我已经在尝试您将在下面看到的内容。
你能帮我吗 ?
*第一种方法我正在创建一个游戏对象并在其中添加脚本 Admanager 并将游戏对象与用于移动到下一个场景的按钮连接,-注意按钮下一个场景已经与 On Click gameobject Admanger 与 RequestInterstitial 和 ShowInterstitial .. ..
*第二种方法也直接在脚本中添加,我在方法中添加移动到下一个场景 ShowInterstitial 并在游戏管理器脚本中使用 void start RequestInterstitial,-注意我通过 ShowInter 更改 Request... 并且仍然无法正常工作
脚本游戏管理器
private void Start()
{
//Show Banner
AdManager.Instance.RequestBanner();
//Interstitial Preparing
AdManager.Instance.Invoke("RequestInterstitial", 0.5f);
//Interstitial Preparing
}
//Note: i'm trying with void update too
脚本按钮管理器
public void Level2btn()
{
//Interstitial Showing
AdManager.Instance.Invoke("ShowIinterstitial", 0.5f);
//Interstitial Showing
SceneManager.LoadScene(2);
Time.timeScale = 1f;
}
顺便说一下,这是 AdManager 的脚本:
using UnityEngine;
using GoogleMobileAds;
using GoogleMobileAds.Api;
using System;
public class AdManager : MonoBehaviour
{
public static AdManager Instance { get; set; }
public bool interstitialLoaded = false;
public bool interstitialClosed = false;
const string interstitialAdId = "ca-app-pub-3940256099942544/1033173712";
const string bannerADid = "ca-app-pub-3940256099942544/6300978111";
InterstitialAd interstitialAd;
AdRequest request;
private BannerView bannerview;
private void Awake()
{
if(Instance == null)
{
Instance = this;
}
else
{
Destroy(gameObject);
}
DontDestroyOnLoad(gameObject);
interstitialAd = new InterstitialAd(interstitialAdId);
Showbanner();
request = new AdRequest.Builder().Build();
interstitialAd.LoadAd(request);
}
public void RequestBanner()
{
bannerview = new BannerView(bannerADid, AdSize.Banner, AdPosition.TopRight);
AdRequest request = new AdRequest.Builder().Build();
bannerview.LoadAd(request);
bannerview.Show();
}
public void Showbanner()
{
if(bannerview == null)
{
RequestBanner();
}
}
public void InvokeLoadAd()
{
Invoke("ShowIintertitial", 2.0f);
}
public void InvokeAd()
{
Invoke("ShowIintertitial", 2.0f);
}
public void RequestInterstitial()
{
request = new AdRequest.Builder().Build();
interstitialAd.LoadAd(request);
}
public void ShowIintertitial()
{
if(interstitialAd.IsLoaded())
{
interstitialLoaded = true;
interstitialAd.Show();
}
interstitialAd.OnAdClosed += InterstitialAd_onAdClosed;
}
private void InterstitialAd_onAdClosed(object sender, EventArgs e)
{
throw new NotImplementedException();
}
}
解决方案
可能需要查看更多代码才能弄清楚发生的所有事情,但您可以检查几件事。
Level2btn()
1)您是否在检查器中的按钮的 OnClick 上调用您的方法?
2)另外,可能需要仔细检查您的拼写(ShowIinterstitial 有一个额外的 I)以确保它与您尝试调用的方法匹配:
AdManager.Instance.Invoke("ShowIinterstitial", 0.5f);
推荐阅读
- python - 正则表达式捕获剧集编号
- c# - 使用 T4 生成基本装配信息的问题
- amazon-web-services - AWS S3 上传到不同账户中的存储桶并将所有权授予该账户?
- python - 在散景python中向BoxAnnotation添加标签
- python - 从 Python 中的列表创建字典,列表中的第一项作为标题
- angular - 在页脚后面隐藏 mat-tab 内容
- .net - 将 .Net XPath 与包含 ' 的源文本一起使用
- javascript - 为什么我的 localhost 显示以前的 React 应用程序?
- android - 与使用 XML 样式系统相比,通过 Java 中的子类化来设置 Android 视图样式的缺点是什么?
- getstream-io - 无法为测试目的存根 GetStream API