好的,所以我们正在使用 adbannerview 中内置的统一性。我们使用基本代码
private ADBannerView banner = null;
void Start()
{
banner = new ADBannerView(ADBannerView.Type.Banner, ADBannerView.Layout.Top);
ADBannerView.onBannerWasClicked += OnBannerClicked;
ADBannerView.onBannerWasLoaded += OnBannerLoaded;
}
void OnBannerClicked()
{
Debug.Log("Clicked!\n");
}
void OnBannerLoaded()
{
Debug.Log("Loaded!\n");
banner.visible = true;
StartCoroutine(HideBanner);
}
IEnumerator HideBanner()
{
yield return new WaitForSeconds(10);
banner.visible = false;
Destroy(this);
}
void OnDestroy()
{
ADBannerView.onBannerWasClicked -= OnBannerClicked;
ADBannerView.onBannerWasLoaded -= OnBannerLoaded;
}
现在,一旦横幅显示十秒钟,我们调用 Destroy,它将取消订阅这两个事件,然后销毁脚本并清空它所在的游戏对象。我知道这有点极端,但出于某种原因,在我们的应用程序中,它会在游戏开始时显示横幅,但由于某种原因 5 分钟后它会变得非常滞后,我已经确定这是处理试图接收另一个广告的广告。因为当我们没有完全销毁 adbanner 脚本时,另一个广告会在 2 分钟左右加载,另一个会在 5 分钟后加载。一旦我们取消广告,五分钟左右就没有延迟。
不知道如何解决这个问题。