【问题标题】:Unity Ads UnityEngine.Advertisements library inaccessibleUnity 广告 UnityEngine.Advertisements 库无法访问
【发布时间】:2022-01-27 17:36:58
【问题描述】:

由于某种原因,尽管我的目标平台是 Android 和 Unity Ads 并且启用了内置广告扩展,但我无法访问 using UnityEngine.Advertisements;

通常,当我为不支持 Unity 广告的平台进行编译时,我只会收到此错误,我只需在 #if UNITY_ADS #endif 中敲击相关代码即可解决此问题

这是 Unity 服务中的“广告”部分:

如果我注释掉 if 语句,这就是 MonoDevelop 显示代码的方式:

构建设置:

Unity 控制台出错:

Assets/Scripts/Project Management/AdvertManager.cs(5,19): error CS0234: The type or namespace name `Advertisements' does not exist in the namespace `UnityEngine'. Are you missing an assembly reference?

我真的不知道为什么这不起作用,当我最初实现它时它正在工作并在某个未知点停止,因为直到需要发布时才使用脚本......

让我知道其他可能有用的信息...

提前致谢!

【问题讨论】:

    标签: c# unity3d unity5


    【解决方案1】:

    过去我也遇到过几次这个问题。我不知道这是否是最好的解决方案,但我会告诉你我做了什么。

    在 Unity 中的 Asset Store 中搜索 Unity Ads

    下载并导入此包。一旦你这样做,错误就会消失。但它有时会出现问题。正如我所说,这可能不是理想的解决方案,但它确实对我有用,并且在我发布到 google play 的应用程序中一切正常。

    【讨论】:

    • @Tiaan 老实说,我不明白为什么会出现这样的问题。这是非常错误的。在我关闭我正在处理的内容后,有时我不得不重新导入它。这让我非常恼火。但它有效。我真的很喜欢 unity,而且 unityads 在应用程序中很不错。但它会造成这样的麻烦。如果您遇到任何其他问题,请告诉我。我从字面上看到他们都(希望)与统一广告
    【解决方案2】:

    有时 Unity 广告只需要重新启用服务并重新启动 Unity。

    也不需要使用ID和初始化,只需重新链接你的项目,它会自动发生

    【讨论】:

    • 以前可以,现在不行了,可惜-_- 至于ID,我不知道,我只是按照Unity的例子。谢谢
    【解决方案3】:

    现在回答可能为时已晚,但可以通过以下步骤解决:

    -close unity(保存你的项目)

    -转到项目目录下的项目设置文件夹

    • 删除这两个文件 1. UnityAdsSettings.assets 2. UnityConnectionSettings.assets

    -现在重新打开你的项目,在services下开启unity ads,你就不会再看到错误了。

    【讨论】:

      【解决方案4】:

      答案很简单,当你打开广告服务时,文本编辑器感觉不到它,只需保存你的工作,重新启动 Unity 和 Visual Studio 或你正在使用的文本编辑器,它就会工作

      【讨论】:

        【解决方案5】:

        Object conenctSettingsRes = EditorResources.Load("ProjectSettings/UnityConnectSettings.asset"); SerializedObject conenctSettingsObj = new SerializedObject(conenctSettingsRes); bool adsServiceEnabled = conenctSettingsObj.FindProperty("UnityAdsSettings").FindPropertyRelative("m_Enabled").boolValue; 字符串 iosGameId = conenctSettingsObj.FindProperty("UnityAdsSettings").FindPropertyRelative("m_IosGameId").stringValue; string androidGameId = conenctSettingsObj.FindProperty("UnityAdsSettings").FindPropertyRelative("m_AndroidGameId").stringValue;

        【讨论】:

        • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
        猜你喜欢
        • 2018-02-05
        • 2017-01-02
        • 1970-01-01
        • 1970-01-01
        • 2023-01-08
        • 1970-01-01
        • 1970-01-01
        • 2013-01-08
        • 1970-01-01
        相关资源
        最近更新 更多