Пример #1
0
 private void RewardUser(NimbusAdUnit ad, bool skipped)
 {
     if (_ad?.InstanceID != ad.InstanceID)
     {
         return;
     }
     if (!skipped)
     {
         Debug.unityLogger.Log(
             $"NimbusEventListenerExample Ad was rendered for ad instance {ad.InstanceID}, " +
             $"bid value: {ad.ResponseMetaData.BidRaw}, " +
             $"bid value in cents: {ad.ResponseMetaData.BidInCents}, " +
             $"network: {ad.ResponseMetaData.Network}, " +
             $"placement_id: {ad.ResponseMetaData.PlacementID}, " +
             $"auction_id: {ad.ResponseMetaData.AuctionID}");
         // ensures that this coroutine starts on the Unity Main thread since this is called within an event callback
         UnityThread.ExecuteInUpdate(() => StartCoroutine(MakeItRain()));
         return;
     }
     Debug.unityLogger.Log(
         $"NimbusEventListenerExample Ad was rendered for ad instance, however the user skipped the ad {ad.InstanceID}, " +
         $"bid value: {ad.ResponseMetaData.BidRaw}, " +
         $"bid value in cents: {ad.ResponseMetaData.BidInCents}, " +
         $"network: {ad.ResponseMetaData.Network}, " +
         $"placement_id: {ad.ResponseMetaData.PlacementID}, " +
         $"auction_id: {ad.ResponseMetaData.AuctionID}");
 }
Пример #2
0
 public void OnAdError(NimbusAdUnit nimbusAdUnit)
 {
     if (_ad?.InstanceID != nimbusAdUnit.InstanceID)
     {
         return;
     }
     Debug.unityLogger.Log($"RewardedVideoExample Err {nimbusAdUnit.ErrorMessage()}");
 }
Пример #3
0
        private void OnTriggerEnter2D(Collider2D other)
        {
            var player = other.gameObject.GetComponent <NimbusPlayerController>();

            if (player == null || _alreadyTriggered)
            {
                return;
            }
            _ad = NimbusManager.Instance.LoadAndShowRewardedVideoAd("unity_demo_rewarded_video_position", 0.0f);
            _alreadyTriggered = true;
        }
Пример #4
0
 private void LogError(NimbusAdUnit ad)
 {
     if (_ad?.InstanceID != ad.InstanceID)
     {
         return;
     }
     Debug.unityLogger.Log(
         $"NimbusEventListenerExample Ad failed to load {ad.InstanceID}, " +
         $"Error Message Ad failed to load {ad.ErrorMessage()}, " +
         $"auction_id: {ad.ResponseMetaData.AuctionID}");
 }
Пример #5
0
 public void OnAdDestroyed(NimbusAdUnit nimbusAdUnit)
 {
     if (_ad?.InstanceID != nimbusAdUnit.InstanceID)
     {
         return;
     }
     Debug.unityLogger.Log(
         $"RewardedVideoExample Ad was destroyed/removed from the scene {nimbusAdUnit.InstanceID}, " +
         $"network: {nimbusAdUnit.ResponseMetaData.Network}, " +
         $"placement_id: {nimbusAdUnit.ResponseMetaData.PlacementID}, " +
         $"auction_id: {nimbusAdUnit.ResponseMetaData.AuctionID}");
 }
Пример #6
0
 public void OnAdImpression(NimbusAdUnit nimbusAdUnit)
 {
     if (_ad?.InstanceID != nimbusAdUnit.InstanceID)
     {
         return;
     }
     Debug.unityLogger.Log(
         $"RewardedVideoExample Ad impression was fired {nimbusAdUnit.InstanceID}, " +
         $"network: {nimbusAdUnit.ResponseMetaData.Network}, " +
         $"placement_id: {nimbusAdUnit.ResponseMetaData.PlacementID}, " +
         $"auction_id: {nimbusAdUnit.ResponseMetaData.AuctionID}");
 }
Пример #7
0
 public void OnAdWasRendered(NimbusAdUnit nimbusAdUnit)
 {
     if (_ad?.InstanceID != nimbusAdUnit.InstanceID)
     {
         return;
     }
     Debug.unityLogger.Log(
         $"RewardedVideoExample Ad was rendered for ad instance {nimbusAdUnit.InstanceID}, " +
         $"bid value: {nimbusAdUnit.ResponseMetaData.BidRaw}, " +
         $"bid value in cents: {nimbusAdUnit.ResponseMetaData.BidInCents}, " +
         $"network: {nimbusAdUnit.ResponseMetaData.Network}, " +
         $"placement_id: {nimbusAdUnit.ResponseMetaData.PlacementID}, " +
         $"auction_id: {nimbusAdUnit.ResponseMetaData.AuctionID}");
 }
Пример #8
0
        public void LoadBanner()
        {
            if (!_shouldDestroyBanner)
            {
                _shouldDestroyBanner  = true;
                bannerButtonText.text = "Destroy Banner";
                _bannerAdUnit         = NimbusManager.Instance.LoadAndShowBannerAd("unity_demo_banner_position", 0.0f);
                return;
            }

            _bannerAdUnit?.Destroy();
            _bannerAdUnit         = null;
            _shouldDestroyBanner  = false;
            bannerButtonText.text = _currentBannerButtonText;
        }
Пример #9
0
 public void OnAdCompleted(NimbusAdUnit nimbusAdUnit, bool skipped)
 {
     if (_ad?.InstanceID != nimbusAdUnit.InstanceID)
     {
         return;
     }
     if (skipped)
     {
         return;
     }
     Debug.unityLogger.Log(
         $"RewardedVideoExample Ad was completed and the use can be rewarded {nimbusAdUnit.InstanceID}, " +
         $"network: {nimbusAdUnit.ResponseMetaData.Network}, " +
         $"placement_id: {nimbusAdUnit.ResponseMetaData.PlacementID}, " +
         $"auction_id: {nimbusAdUnit.ResponseMetaData.AuctionID}");
     UnityThread.ExecuteInUpdate(RewardUser);
 }
Пример #10
0
        /// <summary>
        ///     Calls to Nimbus on a set timer for a 320x50 banner ad and loads the ad if an ad is returned from the auction.
        ///     Note: there can only be 1 refreshing banner ad per application session
        /// </summary>
        /// <param name="position">
        ///     This is a Nimbus specific field, it must not be empty and it represents a generic placement name
        ///     can be used by the Nimbus dashboard to breakout data
        /// </param>
        /// <param name="bannerBidFloor">
        ///     Represents your asking price for banner ads during the auction
        /// </param>
        /// <param name="refreshIntervalInSeconds">
        ///     Specifies the rate at which banner ads should be called for. This defaults to
        ///     the industry standard and best practice of 30 seconds
        /// </param>
        public IEnumerator LoadAndShowBannerAdWithRefresh(string position, float bannerBidFloor,
                                                          float refreshIntervalInSeconds = 30f)
        {
            if (!_canStartBannerRefreshing)
            {
                throw new Exception(
                          "LoadAndShowBannerAdWithRefresh() is currently running a coroutine, only 1 running coroutine can be called at a time");
            }
            _canStartBannerRefreshing = false;
            _refreshAd = new NimbusAdUnit(AdUnityType.Banner, position, bannerBidFloor, 0, in NimbusEvents);
            _nimbusPlatformAPI.LoadAndShowAd(Debug.unityLogger, ref _refreshAd);
            while (true)
            {
                yield return(new WaitForSeconds(refreshIntervalInSeconds));

                _refreshAd?.Destroy();
                _refreshAd = new NimbusAdUnit(AdUnityType.Banner, position, bannerBidFloor, 0, in NimbusEvents);
                _nimbusPlatformAPI.LoadAndShowAd(Debug.unityLogger, ref _refreshAd);
            }
            // ReSharper disable once IteratorNeverReturns
        }
Пример #11
0
 public void OnAdError(NimbusAdUnit nimbusAdUnit)
 {
     Debug.unityLogger.Log(
         $"Ad unit of {nimbusAdUnit.InstanceID} type {nimbusAdUnit.AdType} could not be rendered {nimbusAdUnit.ErrorMessage()}");
 }
Пример #12
0
 public void OnAdCompleted(NimbusAdUnit nimbusAdUnit, bool skipped)
 {
     Debug.unityLogger.Log(
         $"Ad unit of {nimbusAdUnit.InstanceID} type {nimbusAdUnit.AdType} for auction id {nimbusAdUnit.ResponseMetaData.AuctionID} was completed");
 }
Пример #13
0
 public void OnAdClicked(NimbusAdUnit nimbusAdUnit)
 {
     Debug.unityLogger.Log(
         $"Ad unit of {nimbusAdUnit.InstanceID} type {nimbusAdUnit.AdType} for auction id {nimbusAdUnit.ResponseMetaData.AuctionID} was clicked");
 }
Пример #14
0
 public void OnAdImpression(NimbusAdUnit nimbusAdUnit)
 {
     Debug.unityLogger.Log(
         $"Ad unit of {nimbusAdUnit.InstanceID} type {nimbusAdUnit.AdType} for auction id {nimbusAdUnit.ResponseMetaData.AuctionID} fired it's impression pixel");
 }