首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >难以将Heyzap广告集成到我的统一应用程序中

难以将Heyzap广告集成到我的统一应用程序中
EN

Stack Overflow用户
提问于 2018-04-26 07:24:40
回答 1查看 263关注 0票数 1

正如标题所述,我试图将广告包装添加到我的项目中,但我遇到了一些问题:

  • 无论何时我运行中介套件,Heyzap和Heyzap交叉Promo网络都是完全集成的,所有选项都会勾选。但是,如果我尝试获取任何类型的add,它将给我一个NO_FILL错误,并且我无法显示它。
  • 在初始化广告网络时,do被正确地初始化,所以这很好。
  • 然而,如果我试着展示一个广告,比如说间隙广告,它将完全失败。

我已经检查了示例应用程序Heyzap已经安装了这里,并且它运行得很好。我甚至试着把它应用到我自己的项目中,没有改变任何东西,我也遇到了同样的问题。

这是我写的一堂课:

代码语言:javascript
复制
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();
    }
}

有人能看到我做错了什么吗?因为我不能。

EN

回答 1

Stack Overflow用户

发布于 2018-07-25 04:47:33

在我看来,从您的代码中可以看出,您不是要显示AD,而是要获取AD。对于间质广告,您需要调用以下行:

代码语言:javascript
复制
HZInterstitialAd.Show ();

只有在Fetch ()调用完成后才能显示AD。您可以通过(1)设置委托来检查它,或者(2)使用HZInterstitialAd.IsAvailable ()之类的方法检查AD是否可用,从而找出Fetch ()何时已成功完成。

方法(1) -在Fetch ()完成后立即显示AD -注意,这是特定于HeyZap Interstitial广告的,如果您使用中介,它将不适用于其他AD类型(视频等)或非HeyZap网络:

代码语言:javascript
复制
HZInterstitialAd.SetDisplayListener(delegate(string adState, string adTag) {
    Debug.Log("INTERSTITIAL: " + adState + " Tag : " + adTag);

    if ( adState.Equals("available") ) {
        HZInterstitialAd.Show ();
    }
});

方法(2) --如何执行此方法实际上取决于您的体系结构。例如,您可以向您的AdManager添加一个Try方法,并让调用方决定在AD尚未准备好的情况下做什么:

代码语言:javascript
复制
public static bool TryShowInterstitialAd() 
{
    if (HZInterstitialAd.IsAvailable ()) {
        HZInterstitialAd.Show ();
        return true;
    }

    return false;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50037149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档