【发布时间】:2021-05-16 11:30:55
【问题描述】:
我在我的应用程序中使用 Unity Ads。一切正常,但我想添加一个功能,在整个应用生命周期内处理广告按钮交互,无论广告是否准备就绪。
我编写的最简单的解决方案是在 update() 方法中检查广告的可用性:
public class AdButton : MonoBehaviour
{
// Some stuff here
void Update()
{
if (myButton)
myButton.interactable = Advertisement.IsReady(placementId);
}
}
但我也考虑过使用Actions 事件:
public class AdsManager : MonoBehaviour
{
public static event Action<bool> AdReady;
// Some stuff here
void update()
{
adReady?.invoke(Advertisement.isReady(placementId));
}
}
public class AdButton : MonoBehaviour
{
// Some stuff here
void OnEnable()
{
AdsManager.AdReady += RefreshButton;
}
void RefreshButton(bool interactivity)
{
myButton.interactable = interactivity
}
void OnDisable()
{
AdsManager.AdReady -= RefreshButton;
}
}
问题是我是 Unity 的新手,我对 update() 方法有点害怕。我一直在阅读,由于该函数的性质(每帧调用一次),很容易使应用程序过载。
我应该担心这些代码行还是调用每一帧这些指令不会减慢我的应用程序?
感谢您的帮助。
西莫
【问题讨论】: