正如标题所说,我正在尝试将广告包装添加到我的项目中,但我遇到了一些问题:
我已经查看了Heyzap提出的示例应用程序here,它完美无缺。我甚至尝试将它放入我自己的项目中,而不是改变任何东西,我遇到了同样的问题。
这是我写的课程:
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();
}
}
任何人都可以看到我做错了吗?因为我不能。
答案 0 :(得分:0)
From your code it looks to me that you are not calling to show the AD, but just fetch the AD. For an interstitial AD, you need to call the following line:
HZInterstitialAd.Show ();
You will only be able to show the AD after a Fetch () call has completed. You can find out when Fetch () has completed successfully by either (1) setting up your delegates to check for it or (2) checking if an AD is available using a method such as HZInterstitialAd.IsAvailable ().
Method (1) - Shows AD immediately after Fetch () has completed - note that this is specific for HeyZap Interstitial ADs and would not work for other AD types (video, etc) or for non-HeyZap networks if you are using mediation:
HZInterstitialAd.SetDisplayListener(delegate(string adState, string adTag) {
Debug.Log("INTERSTITIAL: " + adState + " Tag : " + adTag);
if ( adState.Equals("available") ) {
HZInterstitialAd.Show ();
}
});
Method (2) - How you do this method really depends on your architecture. For example, you might add a Try method to your AdManager and have the caller decide what to do if an AD is not ready:
public static bool TryShowInterstitialAd()
{
if (HZInterstitialAd.IsAvailable ()) {
HZInterstitialAd.Show ();
return true;
}
return false;
}