// ============================================================================== /// <summary> /// Shows a new ad on the canvas if one is not already shown. /// </summary> /// <param name="force">If set to <c>true</c> force a new ad to be shown immediately.</param> public void ShowAd(bool force = false) { if (_loadingState == MediaLoadingState.Waiting || _loadingState == MediaLoadingState.Failed || force) { _loadingState = MediaLoadingState.Loading; VreoCommunicate.RequestRandomAd(mediaType, category, spotId, isClickable, RandomAdCallback); } }
IEnumerator RetrieveStreamingAsset(VreoResponse response) { string mediaUrl; if (response.success) mediaUrl = response.result.str_MediaURL; else { switch ((MediaType) response.result.ID_MediaType) { case MediaType.LandscapeVideo: case MediaType.PortraitVideo: mediaUrl = "vreo_placeholder_video.mp4"; break; default: mediaUrl = "vreo_placeholder_image.jpg"; break; } } var streamingMediaPath = Path.Combine(Application.streamingAssetsPath, mediaUrl); WWW wwwReader = new WWW(streamingMediaPath); yield return wwwReader; if (wwwReader.error != null) { _loadingState = MediaLoadingState.Failed; Debug.LogError("wwwReader error (" + streamingMediaPath + ") : " + wwwReader.error); } else { switch ((MediaType) response.result.ID_MediaType) { case MediaType.MediumRectangle: case MediaType.LargeRectangle: case MediaType.WideSkyscraper: case MediaType.Leaderboard: ShowImage(wwwReader); break; case MediaType.LandscapeVideo: case MediaType.PortraitVideo: ShowVideo(wwwReader.url); break; } } }
// ============================================================================== void VideoPlayer_PrepareCompleted(VideoPlayer source) { if (source.isPrepared ) { _playingTime = 0; _loadingState = MediaLoadingState.Succeeded; if ((initialRandomDelay <= 0) && (MovieQuad.ScreenPercentage > proximity)) { VideoPlayer.Play(); } if (VideoPlayer.isPlaying) _loadingState = MediaLoadingState.Showing; } else _loadingState = MediaLoadingState.Failed; }
// ============================================================================== void ShowImage(WWW wwwReader) { _loadingState = MediaLoadingState.Succeeded; // apply it to the texture Texture2D texture = new Texture2D(1, 1, TextureFormat.RGB24, false); texture.anisoLevel = 8; texture.wrapMode = TextureWrapMode.Clamp; wwwReader.LoadImageIntoTexture(texture); if (texture != null) { _renderer.material.mainTexture = texture; _renderer.enabled = true; _loadingState = MediaLoadingState.Showing; _playingTime = 0; } }
// ============================================================================== IEnumerator DownloadAdMediaAndLoad(VreoResponse response) { var type = response.result.ID_MediaType; var mediaFormat = response.result.str_MediaTypeName; switch ((MediaType) type) { case MediaType.MediumRectangle: case MediaType.LargeRectangle: case MediaType.WideSkyscraper: case MediaType.Leaderboard: { WWW wwwReader = new WWW(response.result.str_MediaURL); yield return wwwReader; if (wwwReader.error != null) { _loadingState = MediaLoadingState.Failed; Debug.LogError("wwwReader error: " + wwwReader.error); } else { switch (mediaFormat) { case "svg": ShowSVGImage(wwwReader); break; default: ShowImage(wwwReader); break; } } break; } case MediaType.LandscapeVideo: case MediaType.PortraitVideo: { ShowVideo(response.result.str_MediaURL); break; } } }