【问题标题】:Cannot use Unity Ads 2017.3.1.p1无法使用 Unity 广告 2017.3.1.p1
【发布时间】:2018-02-26 22:36:16
【问题描述】:

每当我在启用 Unity 广告后尝试在编辑器中玩游戏时,都会收到这些错误消息。在这个项目之前从来没有遇到过问题。我已经尝试升级到最新的补丁(我现在正在使用的那个),将资产序列化为文本并手动启用它们(它们已经启用),切换广告,重新启动等。

编辑:

在它准备好之前,我不会调用任何广告。我有这段代码,但我将其注释掉只是为了检查问题是否仍然存在:

using UnityEngine;
using UnityEngine.Advertisements;

public class Ads : MonoBehaviour
{
    private int ShowEachTry = 3;

    private int TrysCount;

    /// <summary>
    /// 
    /// </summary>
    void Start()
    {
        Debug.LogError("Ads aren't working");
        //Advertisement.Show();
    }

    public void SetTry()
    {
        TrysCount++;
        if (TrysCount >= ShowEachTry)
        {
            if (!GameManager.adsDisabled)
            {
                if (Advertisement.IsReady())
                {
                    //Advertisement.Show();
                }
            }
            TrysCount = 0;
        }
    }
}

我在启动函数中添加了Advertisement.Show()之后问题开始发生只是为了检查。

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    当您在 Start() 方法上调用 Advertisement.Show(); 时,Unity 无法“获取广告”,换句话说,它还没有初始化。您应该做的是等待大约 1 或 2 秒,然后致电 Advertisement.Show()

    例子:

    Using System.Collections;
    IEnumerator Start()
    {
        yield return new WaitForSeconds(1.5f);
        Advertisement.Show();
    }
    

    【讨论】:

    • 完成。在帖子中编辑。我想这就是你的意思?
    • 这不提供答案或其他信息。请不要在答案部分添加 cmets。同时等到你有足够的声誉来评论问题。
    • 正如我的问题中所解释的,我在Start() 函数中添加了该方法之后我开始遇到问题,只是为了检查Advertisment.IsReady() 是否导致错误不知何故。我最初没有那个,删除所有对 Advertisement 类的调用无论如何都没有任何效果。
    猜你喜欢
    • 2017-01-02
    • 1970-01-01
    • 2021-10-15
    • 2023-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多