无法访问 Unity Ads UnityEngine.Advertisements 库
Unity Ads UnityEngine.Advertisements library inaccessible
出于某种原因,我无法访问 using UnityEngine.Advertisements;
,尽管我的目标平台是 Android 并且启用了 Unity Ads 和内置广告扩展。
通常,我只在为不支持 Unity Ads 的平台编译时出现此错误,我通过简单地敲击 #if UNITY_ADS #endif
中的相关代码来解决这个问题
这是 Unity 服务中的 "ads" 部分:
如果我注释掉 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?
我真的不知道为什么这不起作用,当我最初实现它时它正在工作并在某个未知点停止,因为脚本直到需要发布时才被使用...
让我知道哪些其他信息可能有用...
提前致谢!
我过去也遇到过几次这个问题。我不知道这是否是最好的解决方案,但我会告诉你我做了什么。
前往 Unity 中的 Asset Store 并搜索 Unity Ads
下载并导入此包。一旦你这样做了,错误就会消失。但它有时会出现故障。正如我所说,这可能不是理想的解决方案,但它确实对我有用,并且在我发布到 google play 的应用程序中一切正常。
有时 Unity 广告只需要重新启用服务并重新启动 Unity。
也不需要使用ID和初始化,只需重新link你的项目,它会自动发生
可能是来不及回答了,但是可以按照以下步骤解决:
-关闭统一(保存你的项目)
-转到项目目录下的项目设置文件夹
- 删除这两个文件1.UnityAdsSettings.assets2.UnityConnectionSettings.assets
-现在重新打开您的项目并在服务下打开统一广告,您将不会再看到该错误。
答案很简单,当你打开广告服务时,文本编辑器感觉不到,只需保存你的工作,重新启动 unity 和 visual studio 或者你使用的文本编辑器,它就会工作
对象 conenctSettingsRes = EditorResources.Load("ProjectSettings/UnityConnectSettings.asset");
SerializedObject conenctSettingsObj = new SerializedObject(conenctSettingsRes);
bool adsServiceEnabled = conenctSettingsObj.FindProperty("UnityAdsSettings").FindPropertyRelative("m_Enabled").boolValue;
string iosGameId = conenctSettingsObj.FindProperty("UnityAdsSettings").FindPropertyRelative("m_IosGameId").stringValue;
string androidGameId = conenctSettingsObj.FindProperty("UnityAdsSettings").FindPropertyRelative("m_AndroidGameId").stringValue;
出于某种原因,我无法访问 using UnityEngine.Advertisements;
,尽管我的目标平台是 Android 并且启用了 Unity Ads 和内置广告扩展。
通常,我只在为不支持 Unity Ads 的平台编译时出现此错误,我通过简单地敲击 #if UNITY_ADS #endif
这是 Unity 服务中的 "ads" 部分:
如果我注释掉 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?
我真的不知道为什么这不起作用,当我最初实现它时它正在工作并在某个未知点停止,因为脚本直到需要发布时才被使用...
让我知道哪些其他信息可能有用...
提前致谢!
我过去也遇到过几次这个问题。我不知道这是否是最好的解决方案,但我会告诉你我做了什么。
前往 Unity 中的 Asset Store 并搜索 Unity Ads
下载并导入此包。一旦你这样做了,错误就会消失。但它有时会出现故障。正如我所说,这可能不是理想的解决方案,但它确实对我有用,并且在我发布到 google play 的应用程序中一切正常。
有时 Unity 广告只需要重新启用服务并重新启动 Unity。
也不需要使用ID和初始化,只需重新link你的项目,它会自动发生
可能是来不及回答了,但是可以按照以下步骤解决:
-关闭统一(保存你的项目)
-转到项目目录下的项目设置文件夹
- 删除这两个文件1.UnityAdsSettings.assets2.UnityConnectionSettings.assets
-现在重新打开您的项目并在服务下打开统一广告,您将不会再看到该错误。
答案很简单,当你打开广告服务时,文本编辑器感觉不到,只需保存你的工作,重新启动 unity 和 visual studio 或者你使用的文本编辑器,它就会工作
对象 conenctSettingsRes = EditorResources.Load("ProjectSettings/UnityConnectSettings.asset"); SerializedObject conenctSettingsObj = new SerializedObject(conenctSettingsRes); bool adsServiceEnabled = conenctSettingsObj.FindProperty("UnityAdsSettings").FindPropertyRelative("m_Enabled").boolValue; string iosGameId = conenctSettingsObj.FindProperty("UnityAdsSettings").FindPropertyRelative("m_IosGameId").stringValue; string androidGameId = conenctSettingsObj.FindProperty("UnityAdsSettings").FindPropertyRelative("m_AndroidGameId").stringValue;