private void StartGame() { // showing interstitial if (lastAddsTime + gameSettings.interstitialShowingDelay < Time.realtimeSinceStartup) { AdsManager.ShowInterstitial(interstitialType); lastAddsTime = Time.realtimeSinceStartup; } reviveUsed = false; firstStageCompleted = false; currentItemsAbsorbed = 0; currentLevel = GameSettingsPrefs.Get <int>("current level"); levelState = LevelState.First; LevelController.instance.LoadLevel(currentLevel); UIController.instance.InitLevel(currentLevel); CameraController.instance.InitCameraOnFirstStage(); ColorsController.SetRandomPreset(); GroundGenerator.InitPlayground(); waitingForTap = true; // ads bannerType = AdsManager.GetBannerType(); interstitialType = AdsManager.GetInterstitialType(); rewardedVideoType = AdsManager.GetRewardedVideoType(); AdsManager.RequestInterstitial(interstitialType); AdsManager.RequestRewardBasedVideo(rewardedVideoType); AdsManager.ShowBanner(bannerType); }
public static RewardedVideoType GetRewardedVideoType() { RewardedVideoType rewardedVideoType = instance.settings.rewardedVideoType; if (rewardedVideoType == RewardedVideoType.RewardedVideo_Random) { rewardedVideoType = Random.Range(0, 1.0f) > 0.5f ? RewardedVideoType.RewardedVideo_ADMOB : RewardedVideoType.RewardedVideo_UNITYADS; } return(rewardedVideoType); }
public static bool IsRewardBasedVideoLoaded(RewardedVideoType rewardedVideoType) { switch (rewardedVideoType) { case RewardedVideoType.RewardedVideo_ADMOB: #if MODULE_ADMOB return(instance.rewardBasedVideo != null && instance.rewardBasedVideo.IsLoaded()); #endif break; case RewardedVideoType.RewardedVideo_UNITYADS: #if MODULE_UNITYADS return(instance.rewardedBasedVideoUnityAds != null && Monetization.IsReady(instance.settings.GetUnityAdsRewardedVideoID())); #endif break; } return(false); }
public static void RequestRewardBasedVideo(RewardedVideoType rewardedVideoType) { if (IsRewardBasedVideoLoaded(rewardedVideoType)) { return; } switch (rewardedVideoType) { case RewardedVideoType.RewardedVideo_ADMOB: #if MODULE_ADMOB string adUnitId = instance.settings.GetRewardedVideoID(); instance.rewardBasedVideo.LoadAd(instance.settings.CreateAdRequest(), adUnitId); #endif break; case RewardedVideoType.RewardedVideo_UNITYADS: #if MODULE_UNITYADS instance.rewardedBasedVideoUnityAds = Monetization.GetPlacementContent(instance.settings.GetUnityAdsRewardedVideoID()) as ShowAdPlacementContent; #endif break; } }
public static void ShowRewardBasedVideo(RewardedVideoType rewardedVideoType, RewardedVideoCallback callback) { if (!IsRewardBasedVideoLoaded(rewardedVideoType)) { callback.Invoke(false); return; } if (instance.rewardedVideoCallback != null) { instance.rewardedVideoCallback = null; } #if UNITY_EDITOR callback.Invoke(true); return; #endif instance.rewardedVideoCallback = callback; switch (rewardedVideoType) { case RewardedVideoType.RewardedVideo_ADMOB: #if MODULE_ADMOB #if UNITY_EDITOR Tween.NextFrame(delegate { callback.Invoke(true); }); #endif instance.rewardBasedVideo.Show(); #endif break; case RewardedVideoType.RewardedVideo_UNITYADS: #if MODULE_UNITYADS ShowAdCallbacks options = new ShowAdCallbacks(); options.finishCallback = (UnityEngine.Monetization.ShowResult result) => { if (result == UnityEngine.Monetization.ShowResult.Finished) { // Reward the player if (instance.rewardedVideoCallback != null) { RewardedVideoCallback videoCallbackTemp = instance.rewardedVideoCallback; Tween.NextFrame(delegate { videoCallbackTemp.Invoke(true); PauseManager.SetPause(false); }); instance.rewardedVideoCallback = null; } } else { if (instance.rewardedVideoCallback != null) { RewardedVideoCallback videoCallbackTemp = instance.rewardedVideoCallback; Tween.NextFrame(delegate { videoCallbackTemp.Invoke(false); PauseManager.SetPause(false); }); instance.rewardedVideoCallback = null; } } }; instance.rewardedBasedVideoUnityAds.Show(options); #endif break; } }