How To Check If An Advertisement Has Finished In Unity
I am using a rewarded video ad from admob in unity. The advertise is called when the player dies and asks them if they want to watch an ad to be revived. I am trying to check when
Solution 1:
Likely because you registering to event multiple times when you call rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
more than once. You should remove it from there and put it in the Start function instead.
string adUnitId = "ca-app-pub-5920324855307233/4458481507";
RewardBasedVideoAd rewardBasedVideo = null;
void Start()
{
//Subscribe to Ad event once
rewardBasedVideo = RewardBasedVideoAd.Instance;
//Subscribe to Ad event once
rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded;
}
public void adButton()
{
AdRequest request = new AdRequest.Builder().Build();
rewardBasedVideo.LoadAd(request, adUnitId);
showAd();
}
void Update()
{
}
public void showAd()
{
print("IN showAd()");
if (rewardBasedVideo.IsLoaded())
{
print("IN showAd() AND IsLoaded()");
rewardBasedVideo.Show();
}else{
print("IN showAd() NOT IsLoaded()");
}
}
public void HandleRewardBasedVideoRewarded(object sender, Reward args)
{
print("IN HandleRewardBasedVideoRewarded()");
IsLoaded()
string type = args.Type;
double amount = args.Amount;
//Reawrd User here
print("User rewarded with: " + amount.ToString() + " " + type);
managerScript.revival();
managerScript.Loading.SetActive(false);
}
public void OnDestroy()
{
//Un-Subscribe to Ad event once
rewardBasedVideo.OnAdRewarded -= HandleRewardBasedVideoRewarded;
}
Post a Comment for "How To Check If An Advertisement Has Finished In Unity"