所以我有一个脚本,如果播放器观看了奖励广告,该脚本将删除广告10分钟:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Advertisements;
using System;
public class AdManager : MonoBehaviour
{
private static int loadCount = 0;
private static bool noAds = false;
private static DateTime noAdsTime = new DateTime();
void Start()
{
DateTime currentTime = DateTime.Now;
if (noAdsTime != new DateTime())
noAds = DateTime.Compare(currentTime, noAdsTime) < 0 ? true : false; //DateTime.Compare returns less than zero if currentTime is earlier than noAdsTime.
if (loadCount % 5 == 0 && noAds == false) // show ad every 5th time
{
ShowAd();
}
loadCount++;
}
public void ActivateNoAds(int minutes)
{
Advertisement.Show();
DateTime currentTime = DateTime.Now;
noAdsTime = currentTime.AddMinutes(minutes);
}
public void ShowAd()
{
if (Advertisement.IsReady())
{
Advertisement.Show();
}
}
}
那很好。现在,我试图在没有广告的10分钟内隐藏“删除广告”按钮。我也尝试复制上述脚本的结构来隐藏按钮10分钟……而且我可以隐藏它,但是下次玩家在按钮上着陆时再次出现(但广告仍然关闭) )。我已经尝试了自己的脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
public class AdsRemoveButton : MonoBehaviour
{
private static bool noButton = false;
private static DateTime noButtonTime = new DateTime();
void Start()
{
DateTime currentTime = DateTime.Now;
if (noButtonTime != new DateTime())
noButton = DateTime.Compare(currentTime, noButtonTime) < 0 ? true : false; //DateTime.Compare returns less than zero if currentTime is earlier than noAdsTime.
}
public void ActivateNoButton(int minutes)
{
DateTime currentTime = DateTime.Now;
noButtonTime = currentTime.AddMinutes(minutes);
GameObject.Find("Remove Ads Button").transform.localScale = new Vector3(0, 0, 0); // Hide button
}
还有一个组合脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Advertisements;
using System;
public class AdManager : MonoBehaviour
{
private static int loadCount = 0;
private static bool noAds = false;
private static DateTime noAdsTime = new DateTime();
private static bool noButton = false;
private static DateTime noButtonTime = new DateTime();
void Start()
{
DateTime currentTime = DateTime.Now;
if (noAdsTime != new DateTime())
noAds = DateTime.Compare(currentTime, noAdsTime) < 0 ? true : false; //DateTime.Compare returns less than zero if currentTime is earlier than noAdsTime.
if (noButtonTime != new DateTime())
noButton = DateTime.Compare(currentTime, noButtonTime) < 0 ? true : false; //DateTime.Compare returns less than zero if currentTime is earlier than noAdsTime.
if (loadCount % 5 == 0 && noAds == false) // show ad every 5th time
{
ShowAd();
}
loadCount++;
}
public void ActivateNoAds(int minutes)
{
Advertisement.Show();
DateTime currentTime = DateTime.Now;
noAdsTime = currentTime.AddMinutes(minutes);
}
public void ActivateNoButton(int minutes)
{
DateTime currentTime = DateTime.Now;
noButtonTime = currentTime.AddMinutes(minutes);
GameObject.Find("Remove Ads Button").transform.localScale = new Vector3(0, 0, 0); // Hide button
}
public void ShowAd()
{
if (Advertisement.IsReady())
{
Advertisement.Show();
}
}
}
请原谅我可能是愚蠢的错误。我非常新手。
我将这些分配给按钮的“单击时”,并且没有错误,所以我不知道为什么它不起作用?
任何帮助,不胜感激!
谢谢!