Проблема интеграции объявлений Heyzap в мое приложение Unity
Как видно из заголовка, я пытаюсь добавить упаковщик рекламы в свой проект, но у меня возникают некоторые проблемы:
- Всякий раз, когда я запускаю пакет медиации, сети Heyzap и Heyzap Cross Promo полностью интегрируются со всеми опциями. Однако, если я попытаюсь получить какой-либо тип добавления, это выдаст мне ошибку NO_FILL, и я не смогу ее показать.
- После инициализации рекламных сетей они инициализируются должным образом, и это нормально.
- Однако, если я попытаюсь показать объявление, скажем, промежуточное, оно полностью провалится.
Я проверил пример приложения, которое Heyzap разместил здесь, и оно отлично работает. Я даже попытался вставить это в свой собственный проект, ничего не меняя, и у меня возникли те же проблемы.
Вот класс, который я написал:
using Heyzap;
using UnityEngine;
public static class AdManager {
public static void InitialiseAdNetwork()
{
HeyzapAds.NetworkCallbackListener networkCallbackListener = delegate(string network, string callback) {
Debug.Log("The " + network + " network has been " + callback);
};
HeyzapAds.SetNetworkCallbackListener(networkCallbackListener);
HeyzapAds.Start("myID", HeyzapAds.FLAG_DISABLE_AUTOMATIC_FETCHING);
HZInterstitialAd.SetDisplayListener(delegate(string adState, string adTag) {
Debug.Log("INTERSTITIAL: " + adState + " Tag : " + adTag);
});
HZIncentivizedAd.SetDisplayListener(delegate(string adState, string adTag) {
Debug.Log("INCENTIVIZED: " + adState + " Tag : " + adTag);
});
}
public static void ShowMediationSuite()
{
HeyzapAds.ShowMediationTestSuite();
}
public static void ShowInterstitialAd()
{
HZInterstitialAd.Fetch();
}
}
Кто-нибудь может увидеть что-то, что я сделал неправильно? Потому что я не могу.
1 ответ
Из вашего кода мне кажется, что вы не звоните, чтобы показать 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;
}