1

わかりましたので、adbannerview に組み込まれている unity を使用しています。基本的なコードを使用します

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;
}

バナーが 10 秒間表示されたら、Destroy を呼び出します。Destroy は、両方のイベントのサブスクライブを解除し、スクリプトとそれが存在する空のゲーム オブジェクトを破棄します。少し極端なのはわかっていますが、何らかの理由で私たちのアプリではゲームの開始時にバナーが表示されますが、その後 5 分後に何らかの理由で非常にラグが発生し、それが何かに影響を与えていることを突き止めました。別の広告を受信しようとしている広告を処理します。adbanner スクリプトを完全に破棄しなかった場合、別の広告が約 2 分で読み込まれ、別の広告が 5 分で読み込まれたためです。広告を削除すると、約 5 分間の遅延はありませんでした。

これを修正する方法がわかりません。

4

1 に答える 1