Quantcast
Channel: Questions in topic: "ads"
Viewing all articles
Browse latest Browse all 1416

Heyzap Listener: delegate randomly becoming null at run time (Android)

$
0
0
I've "successfully" implemented ads with Heyzap. Right now I'm implementing callback routines for a "extra-life" mechanic based on ads. The system works like such: - HeyzapAdsManager has 2 private delegates: successCallback and failedCallback. It also has a listener for the IncentiveAds Events - A GameManager calls HeyzapAdsManager.RewardVideo, sending a success callback and failed callback; - HeyzapAdsManager assigned those callbacks to it's private variables and call HZIncentvezeAd.ShowWithOptions (which shows an ad video) - The IncentiveListener is called normally, but when it has to call either the successCallback or the failedCallback, sometimes they are null, sometimes not... I'm using Unity 5.4.3f1 Does anybody sees a flaw in this? I've been over this for hours... -----

HeyzapAdsManager public class HeyZapAdsManager : SingletonMono { public delegate void RewardVideoCallback(); private RewardVideoCallback successCallback; private RewardVideoCallback failedCallback; protected override void Awake() { base.Awake(); HeyzapAds.Start(Constants.HeyZap.PublisherID, HeyzapAds.FLAG_DISABLE_AUTOMATIC_FETCHING); .... HZInterstitialAd.SetDisplayListener(InterstitialListener); }

GameManager

private void ExtraLife(bool video, int medalAmount) { if (video) { HeyZapAdsManager.instance.ShowRewardVideoAd( Constants.HeyZapTags.EXTRA_LIFE_VIDEO, GrantExtraLife, GameOver); playerRevive.chosedToWatchVideo = true; playerRevive.VideoWatched(); } ... }

HeyzapAdsManager - ShowAds and Listener

public void ShowRewardVideoAd(string tag, RewardVideoCallback success, RewardVideoCallback fail) { successCallback = success; failedCallback = fail; if (HZIncentivizedAd.IsAvailable(tag)) { HZIncentivizedShowOptions showOptions = new HZIncentivizedShowOptions(); showOptions.Tag = tag; HZIncentivizedAd.ShowWithOptions(showOptions); } } .... private void IncentiveListener(string adState, string adTag) { if (adState.Equals("incentivized_result_complete")) { Debug.Log("GIVE REWARD WITH TAG with tag: " + adTag); if (successCallback != null) { Debug.Log("SUCESS_CALLBACK"); successCallback(); } else throw new System.Exception("Success callback is null!"); FetchRewardVideoAd(adTag); } if (adState.Equals("incentivized_result_incomplete")) { Debug.Log("NOT give reward with tag: " + adTag); if (failedCallback != null) { failedCallback(); } else throw new System.Exception("Failed callback is null!"); FetchRewardVideoAd(adTag); } }

Viewing all articles
Browse latest Browse all 1416

Trending Articles