Из вашего кода мне кажется, что вы не звоните, чтобы показать AD, а просто получаете AD.Для промежуточной AD вам нужно позвонить по следующей строке:
HZInterstitialAd.Show ();
Вы сможете показать AD только после завершения вызова Fetch ().Вы можете узнать, когда Fetch () успешно завершился, либо (1) настроив своих делегатов на проверку, либо (2) проверив, доступен ли AD с помощью метода, такого как HZInterstitialAd.IsAvailable ().
Метод (1) - Показывает AD сразу после завершения Fetch () - обратите внимание, что это характерно для промежуточных AD HeyZap и не будет работать для других типов AD (видео и т. Д.) Или для сетей не-HeyZap, если вы используете посредничество:
HZInterstitialAd.SetDisplayListener(delegate(string adState, string adTag) {
Debug.Log("INTERSTITIAL: " + adState + " Tag : " + adTag);
if ( adState.Equals("available") ) {
HZInterstitialAd.Show ();
}
});
Метод (2) - Способ работы этого метода действительно зависит от вашей архитектуры.Например, вы можете добавить метод Try в AdManager и попросить звонящего решить, что делать, если AD не готов:
public static bool TryShowInterstitialAd()
{
if (HZInterstitialAd.IsAvailable ()) {
HZInterstitialAd.Show ();
return true;
}
return false;
}