【问题标题】:why such an error occurs unity monetization [duplicate]为什么会出现这样的错误统一货币化[重复]
【发布时间】:2021-05-14 07:07:54
【问题描述】:

我添加了统一货币化包,然后我编写了这个脚本:

using UnityEngine;
using UnityEngine.Advertisements;

public class ADSSSS : MonoBehaviour
{
    private void Start()
    {
        Advertisement.Initialize("my google play ID", false);
    }
}

然后统一发生这样的错误

无法添加脚本行为 CoroutineExecutor 因为它是一个编辑器 脚本。要附加脚本,它需要位于“编辑器”文件夹之外。 UnityEngine.Advertisements.Advertisement:.cctor () ADSSSS:Start () (在 资产/脚本/ADSSSS.cs:8)

不能添加脚本行为 ApplicationQuit 因为它是一个编辑器 脚本。要附加脚本 > 需要在“编辑器”之外 文件夹。 UnityEngine.Advertisements.Advertisement:.cctor() ADSSSS:Start () (在 Assets/Scripts/ADSSSS.cs:8)

初始化 Unity 广告。 UnityEngine.Advertisements.Advertisement:.cctor () ADSSSS:Start () (在 资产/脚本/ADSSSS.cs:8)

对象引用未设置为对象的实例 UnityEngine.Advertisements.Advertisement:.cctor () ADSSSS:Start () (在 资产/脚本/ADSSSS.cs:8)

无法添加脚本行为 CoroutineExecutor 因为它是一个编辑器 脚本。要附加脚本,它需要位于“编辑器”文件夹之外。 UnityEngine.Advertisements.Advertisement:.cctor () ADSSSS:Start () (在 资产/脚本/ADSSSS.cs:8)

不能添加脚本行为 ApplicationQuit 因为它是一个编辑器 脚本。要附加脚本,它需要位于“编辑器”文件夹之外。 UnityEngine.Advertisements.Advertisement:.cctor () ADSSSS:Start () (在 资产/脚本/ADSSSS.cs:8)

NullReferenceException:对象引用未设置为 目的 UnityEngine.Advertisements.Utilities.UnityLifecycleManager.Initialize () (在 :0) UnityEngine.Advertisements.Utilities.UnityLifecycleManager..ctor () (在 :0) UnityEngine.Advertisements.Advertisement.CreatePlatform () (在 :0) UnityEngine.Advertisements.Advertisement..cctor () (在 :0) 重新抛出为 TypeInitializationException:类型初始化器 'UnityEngine.Advertisements.Advertisement' 引发了异常。 ADSSSS.Start () (在 Assets/Scripts/ADSSSS.cs:8)

【问题讨论】:

  • 从未处理过广告,但我很确定您的广告插件位于名为 /Editor 的文件夹中,您需要将该插件移到该文件夹​​之外的任何其他位置,因为 Editor 文件夹是统一的特殊文件夹,它不编译
  • 请使用正确的标签! unityscript 是或更好的是 JavaScript 风格,类似于早期 Unity 版本中使用的自定义语言,现在早已弃用!你的脚本显然是c#!

标签: c# unity3d unityads


【解决方案1】:

来自Advertisement.Initialize

手动初始化广告系统。通常这是通过编辑器完成的,并且只有在使用禁用了自动初始化的 UnityAds 时才应调用此方法。

您得到的错误是因为某些脚本被放置在一个名为Editor 的文件夹中。顾名思义,这些文件夹的内容应该只在 Unity 编辑器中使用,在构建应用程序时会被跳过。

所以在构建中它们无论如何都不可用。因此 Unity 也禁止在 PlayMode 中使用这些文件夹中的组件。

如果脚本位于 Editor 文件夹中,Unity 不允许将派生自 MonoBehaviour 的组件分配给游戏对象。


为了进一步提供帮助,您需要告诉我们您正在使用的确切 Unity 和广告版本,以及您如何将广告安装到您的项目中。您所引用的手册可能来自不同的版本,并且它们之间的内容发生了变化。

【讨论】:

    猜你喜欢
    • 2012-03-27
    • 1970-01-01
    • 2020-01-19
    • 2013-01-29
    • 2019-09-17
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多