文档中官方代码上的 Unity3D 无效令牌错误
Posted
技术标签:
【中文标题】文档中官方代码上的 Unity3D 无效令牌错误【英文标题】:Unity3D invalid token error on official code from documentation 【发布时间】:2022-01-18 00:31:51 【问题描述】:我试图在我的游戏中统一设置简单的广告系统,但统一文档中的奖励广告脚本给了我无效令牌错误,我不知道为什么
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Advertisements;
public class RewardedAdsButton : MonoBehaviour, IUnityAdsLoadListener, IUnityAdsShowListener
[SerializeField] Button _showAdButton;
[SerializeField] string _androidAdUnitId = "Rewarded_Android";
[SerializeField] string _iosAdUnitId = "Rewarded_iOS";
public string _adUnitId = null;
#if UNITY_IOS
_adUnitId = _iOSAdUnitId;
#elif UNITY_ANDROID
_adUnitId = _androidAdUnitId;
#endif
Assets\Scripts\RewardedAdsButton.cs(14,13):错误 CS1519:类、结构或接口成员声明中的标记“=”无效
Assets\Scripts\RewardedAdsButton.cs(14,31):错误 CS1519:无效令牌“;”在类、结构或接口成员声明中
【问题讨论】:
【参考方案1】:在这种情况下,文档极具误导性!
您不能只在班级级别重新分配字段。特别是不使用其他非常量字段!您不能在任何方法之外使用它。
这可能应该以类似的方法发生,例如在Awake
public class RewardedAdsButton : MonoBehaviour, IUnityAdsLoadListener, IUnityAdsShowListener
[SerializeField] Button _showAdButton;
[SerializeField] string _androidAdUnitId = "Rewarded_Android";
[SerializeField] string _iOSAdUnitId = "Rewarded_iOS";
[NonSerialized] public string _adUnitId = null;
private void Awake ()
#if UNITY_IOS
_adUnitId = _iOSAdUnitId;
#elif UNITY_ANDROID
_adUnitId = _androidAdUnitId;
#endif
...
或者,我实际上宁愿简单地使用property,例如
public class RewardedAdsButton : MonoBehaviour, IUnityAdsLoadListener, IUnityAdsShowListener
[SerializeField] Button _showAdButton;
[SerializeField] string _androidAdUnitId = "Rewarded_Android";
[SerializeField] string _iOSAdUnitId = "Rewarded_iOS";
public string _adUnitId
get
#if UNITY_IOS
return _iOSAdUnitId;
#elif UNITY_ANDROID
return _androidAdUnitId;
#else
return null;
#endif
【讨论】:
谢谢!这似乎行得通。也是的,它是官方实现,这里是链接docs.unity.com/ads/ImplementingRewardedAdsUnity.htm @kpcttobee 哦,男孩..那我很抱歉那部分!有人应该告诉他们..他们在那里的方式确实没有意义 @kpcttobee 实际上通过此处的链接立即报告了它;)希望将来得到修复 他们于 2022 年 1 月 7 日更新了页面,但尚未修复... @H_7 在我报告了文档的问题后,它通过初始化Awake
中的字段进行了更新;)以上是关于文档中官方代码上的 Unity3D 无效令牌错误的主要内容,如果未能解决你的问题,请参考以下文章
.append 上的 Laravel ajax“无效或意外令牌”