//Start Native Banner Callbacks. //below methods called from native code for Banner Ad. public void _OnAdColonyAdViewLoaded(string paramJson) { Debug.Log("AdColony.Wrapper._OnAdColonyAdViewLoaded called."); Hashtable values = (AdColonyJson.Decode(paramJson) as Hashtable); if (values == null) { Debug.LogError("Unable to parse parameters in _OnAdColonyAdViewLoaded, " + (paramJson ?? "null")); return; } AdColonyAdView adColonyAdView = GetAdColonyAdViewFromHashtable(values); if (adColonyAdView == null) { Debug.LogError("Unable to create ad within _OnAdColonyAdViewLoaded, " + (paramJson ?? "null")); return; } if (Ads.OnAdViewLoaded != null) { if (adColonyAdView != null) { Ads.OnAdViewLoaded(adColonyAdView); } else { Debug.LogError(Constants.AdsMessageErrorUnableToRebuildAd); } } }
public void PerformAdColonyAction(Asteroid asteroid) { if (asteroid == asteroidConfigure) { ConfigureAds(); } else if (asteroid == asteroidRequest) { RequestAd(); } else if (asteroid == asteroidPlay) { PlayAd(); } else if (asteroid == asteroidAdViewRequest) { RequestBannerAd(); asteroidAdViewRequest.Show(); } else if (asteroid == asteroidAdViewDestroy) { if (arrayList.Count != 0) { AdColony.AdColonyAdView adView = (AdColony.AdColonyAdView)arrayList[0]; adView.DestroyAdView(); arrayList.Remove(adView); if (arrayList.Count != 0) { asteroidAdViewDestroy.Show(); } } } }
//Start internal private methods of Native Banner Callbacks. private AdColonyAdView GetAdColonyAdViewFromHashtable(Hashtable values) { string id = null; if (values != null && values.ContainsKey("id")) { id = values["id"] as string; } AdColonyAdView ad = null; if (id != null) { if (adcolonyAdViewDictionary.ContainsKey(id)) { ad = adcolonyAdViewDictionary[id]; ad.UpdateValues(values); } else { ad = new AdColonyAdView(values); adcolonyAdViewDictionary[id] = ad; } } return(ad); }
void Start() { GameObject configureObj = GameObject.FindGameObjectWithTag(Constants.AsteroidConfigureTag); asteroidConfigure = configureObj.GetComponent <Asteroid>(); GameObject requestObj = GameObject.FindGameObjectWithTag(Constants.AsteroidRequestTag); asteroidRequest = requestObj.GetComponent <Asteroid>(); GameObject playObj = GameObject.FindGameObjectWithTag(Constants.AsteroidPlayTag); asteroidPlay = playObj.GetComponent <Asteroid>(); GameObject adViewRequstObj = GameObject.FindGameObjectWithTag(Constants.AsteroidAdViewRequest); asteroidAdViewRequest = adViewRequstObj.GetComponent <Asteroid>(); GameObject adViewDestroyObj = GameObject.FindGameObjectWithTag(Constants.AsteroidAdViewDestroy); asteroidAdViewDestroy = adViewDestroyObj.GetComponent <Asteroid>(); // Only configure asteroid is available at start. asteroidConfigure.Show(); asteroidRequest.Hide(); asteroidPlay.Hide(); asteroidAdViewRequest.Hide(); asteroidAdViewDestroy.Hide(); // ----- AdColony Ads ----- AdColony.Ads.OnConfigurationCompleted += (List <AdColony.Zone> zones_) => { Debug.Log("AdColony.Ads.OnConfigurationCompleted called"); if (zones_ == null || zones_.Count <= 0) { // Show the configure asteroid again. asteroidConfigure.Show(); } else { // Successfully configured... show the request ad asteroid. asteroidRequest.Show(); asteroidAdViewRequest.Show(); } }; AdColony.Ads.OnRequestInterstitial += (AdColony.InterstitialAd ad_) => { Debug.Log("AdColony.Ads.OnRequestInterstitial called"); Ad = ad_; // Successfully requested ad... show the play ad asteroid. asteroidPlay.Show(); }; AdColony.Ads.OnRequestInterstitialFailedWithZone += (string zoneId) => { Debug.Log("AdColony.Ads.OnRequestInterstitialFailedWithZone called, zone: " + zoneId); // Request Ad failed... show the request ad asteroid. asteroidRequest.Show(); }; AdColony.Ads.OnOpened += (AdColony.InterstitialAd ad_) => { Debug.Log("AdColony.Ads.OnOpened called"); // Ad started playing... show the request ad asteroid for the next ad. asteroidRequest.Show(); }; AdColony.Ads.OnClosed += (AdColony.InterstitialAd ad_) => { Debug.Log("AdColony.Ads.OnClosed called, expired: " + ad_.Expired); ad_.DestroyAd(); }; AdColony.Ads.OnExpiring += (AdColony.InterstitialAd ad_) => { Debug.Log("AdColony.Ads.OnExpiring called"); Ad = null; // Current ad expired... show the request ad asteroid. asteroidRequest.Show(); asteroidPlay.Hide(); }; AdColony.Ads.OnIAPOpportunity += (AdColony.InterstitialAd ad_, string iapProductId_, AdColony.AdsIAPEngagementType engagement_) => { Debug.Log("AdColony.Ads.OnIAPOpportunity called"); }; AdColony.Ads.OnRewardGranted += (string zoneId, bool success, string name, int amount) => { Debug.Log(string.Format("AdColony.Ads.OnRewardGranted called\n\tzoneId: {0}\n\tsuccess: {1}\n\tname: {2}\n\tamount: {3}", zoneId, success, name, amount)); }; AdColony.Ads.OnCustomMessageReceived += (string type, string message) => { Debug.Log(string.Format("AdColony.Ads.OnCustomMessageReceived called\n\ttype: {0}\n\tmessage: {1}", type, message)); }; //Banner events. AdColony.Ads.OnAdViewOpened += (AdColony.AdColonyAdView ad_) => { Debug.Log("AdColony.SampleApps.OnAdViewOpened called"); }; AdColony.Ads.OnAdViewLoaded += (AdColony.AdColonyAdView ad_) => { Debug.Log("AdColony.SampleApps.OnAdViewLoaded called"); asteroidAdViewDestroy.Show(); arrayList.Add(ad_); adView = ad_; // Show or hide the ad view(this is optional; the banner is shown by default) /* Setting 2 timers of 5 and 10 seconds, after 5 sec calling * the ad view's hide method that is defined below and after 10 sec calling the ad view's show method that is defined below.*/ Invoke("HideAdView", 5.0f); Invoke("ShowAdView", 10.0f); }; AdColony.Ads.OnAdViewFailedToLoad += (AdColony.AdColonyAdView ad_) => { Debug.Log("AdColony.SampleApps.OnAdViewFailedToLoad called with Zone id:" + ad_.ZoneId + " " + ad_.adPosition); asteroidAdViewRequest.Show(); }; AdColony.Ads.OnAdViewClosed += (AdColony.AdColonyAdView ad_) => { Debug.Log("AdColony.SampleApps.OnAdViewClosed called"); }; AdColony.Ads.OnAdViewClicked += (AdColony.AdColonyAdView ad_) => { Debug.Log("AdColony.SampleApps.OnAdViewClicked called"); }; AdColony.Ads.OnAdViewLeftApplication += (AdColony.AdColonyAdView ad_) => { Debug.Log("AdColony.SampleApps.OnAdViewLeftApplication called"); }; }