/// <summary> /// Start ad playback /// </summary> /// <param name="clip"></param> private void StartPlayback(AudioClip clip) { DisposeCurrentAudio(); if (m_isBannerTextureLoaded) { VPlayerController.Instance.SetAdBannerActive(true); } if (m_adContainsBanner && m_isBannerTextureLoaded) { m_currentAd.DoEventTracking(VStrings.Ad_CreativeView); } m_currentAd.DoEventTracking(VStrings.Ad_Start); if (m_currentAd != null && m_currentAd.GetImpressionUrls().Count > 0) { // Adswizz requires impression calls at start, other networks at completion if (m_currentAd.GetMediaUrl().Contains("adswizz")) { foreach (var imprToCall in m_currentAd.GetImpressionUrls()) { m_network.CallGet(imprToCall, null); } } } else { OnError("Error calling impressions!"); } m_isAdStarted = true; m_audioSource.clip = clip; m_audioSource.Play(); OnStarted(); }
/// <summary> /// Ad is completed. Continue with music playback. /// </summary> private void OnCompleted() { if (m_currentAd != null && m_currentAd.GetImpressionUrls().Count > 0) { foreach (var imprToCall in m_currentAd.GetImpressionUrls()) { m_network.CallGet(imprToCall, null); } } else { OnError("Error calling impressions!"); } m_currentAd.DoEventTracking(VStrings.Ad_Complete); Reset(); if (OnPlaybackCompleted != null) { OnPlaybackCompleted(); } ChangeState(PlayerState.Standby); }