using AppAdvisory.Ads; using com.adjust.sdk; using Facebook.Unity; using Firebase.Analytics; using System; using UnityEngine; using UnityEngine.Advertisements; using UnityEngine.SceneManagement;
public class AdsControl : Singleton<AdsControl> { ? ? private string ad_id_banner = "123456"; ? ? //private string ad_id_native = "123456"; ? ? private string ad_id_chaping = "123456"; ? ? private string ad_id_reward = "123456";
? ? public float chaPingCoolTime = 3;
? ? public string isNewUser; ? ? private int chaPingShowNum = 0; ? ? private int videoShowNum = 0; ? ? private void Awake() ? ? { ? ? ? ? chaPingShowNum = PlayerPrefs.GetInt("chapingNum",0); ? ? ? ? videoShowNum = PlayerPrefs.GetInt("videoNum",0); ? ? ? ? if (chaPingShowNum == 0) ? ? ? ? { ? ? ? ? ? ? FuUtils.RememberThisTime(2); ? ? ? ? } ? ? ? ? else { ? ? ? ? ? ? if (!FuUtils.isSameDay(2)) { ? ? ? ? ? ? ? ? FuUtils.RememberThisTime(2); ? ? ? ? ? ? ? ? chaPingShowNum = 0; ? ? ? ? ? ? ? ? PlayerPrefs.SetInt("chapingNum", 0); ? ? ? ? ? ? ? ? videoShowNum = 0; ? ? ? ? ? ? ? ? PlayerPrefs.SetInt("videoNum", 0); ? ? ? ? ? ? } ? ? ? ? }
? ? ? ? isNewUser = PlayerPrefs.GetString("isNewUserLogin","true"); ? ? ? ? if (isNewUser.Equals("true")) ? ? ? ? { ? ? ? ? ? ? FuUtils.RememberThisTime(1); ? ? ? ? ? ? PlayerPrefs.GetString("isNewUserLogin", "false"); ? ? ? ? } ? ? ? ? else {? ? ? ? ? ? ? if (FuUtils.isSameDay(1)) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? isNewUser = "true"; ? ? ? ? ? ? ? ? Debug.LogError("今日新用户"); ? ? ? ? ? ? } ? ? ? ? }
? ? ? ? Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => { ? ? ? ? ? ? var dependencyStatus = task.Result; ? ? ? ? ? ? if (dependencyStatus == Firebase.DependencyStatus.Available) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? //app = Firebase.FirebaseApp.DefaultInstance; ? ? ? ? ? ? ? ? Debug.LogError("Firebase is ready"); ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? UnityEngine.Debug.LogError(System.String.Format( ? ? ? ? ? ? ? ? ? "Could not resolve all Firebase dependencies: {0}", dependencyStatus)); ? ? ? ? ? ? ? ? // Firebase Unity SDK is not safe to use here. ? ? ? ? ? ? } ? ? ? ? });
? ? ? ? SetAdListener(); ? ? ? ? TradPlus.InitializeSdk("D0473666045EF9202CD94DA5E5C48FA6"); ? ? ? ? //TradPlusAndroid.SetNeedTestDevice(true);
? ? ? ? if (FB.IsInitialized) ? ? ? ? { ? ? ? ? ? ? FB.ActivateApp(); ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? //Handle FB.Init ? ? ? ? ? ? FB.Init(() => { ? ? ? ? ? ? ? ? FB.ActivateApp(); ? ? ? ? ? ? }); ? ? ? ? } ? ? }
? ? private void OnApplicationPause(bool pause) ? ? { ? ? ? ? if (!pause) ? ? ? ? { ? ? ? ? ? ? //app resume ? ? ? ? ? ? if (FB.IsInitialized) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? FB.ActivateApp(); ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? //Handle FB.Init ? ? ? ? ? ? ? ? FB.Init(() => { ? ? ? ? ? ? ? ? ? ? FB.ActivateApp(); ? ? ? ? ? ? ? ? }); ? ? ? ? ? ? } ? ? ? ? } ? ? } ? ? private void Start() ? ? { ? ? ? ? DontDestroyOnLoad(gameObject); ? ? ? ? SceneLoaderManager.sceneNameToLoad = "MainGarage"; ? ? ? ? SceneManager.LoadScene("MainGarage"); ? ? } ? ? //Banner ? ? public void ShowBannerAd() { ? ? ? ? //if (isNoAds) ? ? ? ? //{ ? ? ? ? // ? ?Debug.LogError("免广告"); ? ? ? ? // ? ?return; ? ? ? ? //} ? ? ? ? TradPlus.CreateBanner(ad_id_banner, TradPlus.AdPosition.BottomCenter); ? ? } ? ? public void HideBannerAd() ? ? { ? ? ? ? TradPlus.DestroyBanner(ad_id_banner); ? ? }
? ? //原生 ? ? public void ShowNativeAd() { ? ? ? ? //TradPlus.CreateNative(ad_id_native, TradPlus.AdPosition.BottomCenter); ? ? } ? ?? ? ? //插屏 ? ? public void LoadChaPingAd() { ? ? ? ? TradPlus.RequestInterstitialAd(ad_id_chaping, true); ? ? }
? ? public void ShowChaPingAd() { ? ? ? ? //if (isNoAds) { ? ? ? ? // ? ?Debug.LogError("免广告"); ? ? ? ? // ? ?return; ? ? ? ? //} ? ? ? ? if (TradPlus.IsInterstialReady(ad_id_chaping)) ? ? ? ? { ? ? ? ? ? ? chaPingShowNum += 1; ? ? ? ? ? ? PlayerPrefs.SetInt("chapingNum", chaPingShowNum); ? ? ? ? ? ? if (chaPingShowNum <= 10) {? ? ? ? ? ? ? ? ? SendEvent_firebase("int_show_"+chaPingShowNum, "", ""); ? ? ? ? ? ? ? ? if ("true".Equals(isNewUser)) { ? ? ? ? ? ? ? ? ? ? SendEvent_firebase("int_show_" + chaPingShowNum + "_in24hours", "", ""); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? ? ? SendEvent_firebase("show_int", "", ""); ? ? ? ? ? ? TradPlus.ShowInterstitialAd(ad_id_chaping); ? ? ? ? } ? ? ? ? else { ? ? ? ? ? ? LoadChaPingAd(); ? ? ? ? } ? ? } ? ? //激励视频 ? ? public void LoadVideoAd() { ? ? ? ? TradPlus.RequestRewardedVideo(ad_id_reward, true); ? ? }
? ? Action<bool> act; ? ? public bool isTest; ? ? public void ShowVideoAd(string sceneId, Action<bool> _act) { ? ? ? ? act = _act; ? ? ? ? if (isTest) { ? ? ? ? ? ? act(true); ? ? ? ? ? ? return; ? ? ? ? } ? ? ? ? if (TradPlus.HasRewardedVideo(ad_id_reward)) ? ? ? ? { ? ? ? ? ? ? switch (sceneId) { ? ? ? ? ? ? ? ? case "D3CCC7D263EB01": ? ? ? ? ? ? ? ? ? ? SendEvent_firebase("home_rv", "", ""); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? ? ? case "84FEC4A5365168": ? ? ? ? ? ? ? ? ? ? SendEvent_firebase("pause_rv", "", ""); ? ? ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? } ? ? ? ? ? ? if (!TheManager.trafficMode) { ? ? ? ? ? ? ? ? SendEvent_firebase("free_mode_rv", "", ""); ? ? ? ? ? ? } ? ? ? ? ? ? videoShowNum += 1; ? ? ? ? ? ? PlayerPrefs.SetInt("videoNum", videoShowNum); ? ? ? ? ? ? if (videoShowNum <= 10) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? SendEvent_firebase("rv_show_" + videoShowNum, "", ""); ? ? ? ? ? ? ? ? if (videoShowNum <= 3) { ? ? ? ? ? ? ? ? ? ? SendEvent_firebase("rv_show_" + videoShowNum + "times_in24hours", "", ""); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? if ("true".Equals(isNewUser)) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? SendEvent_firebase("rv_show_" + videoShowNum+"_in24hours", "", ""); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? ? ? SendEvent_firebase("show_rv", "", ""); ? ? ? ? ? ? TradPlus.ShowRewardedVideo(ad_id_reward,sceneId); ? ? ? ? } ? ? ? ? else { ? ? ? ? ? ? act(false); ? ? ? ? ? ? LoadVideoAd(); ? ? ? ? } ? ? }
? ? private void OnDestroy() ? ? { ? ? ? ? TradPlus.DestroyBanner(ad_id_banner); ? ? ? ? //TradPlus.DestroyNative(ad_id_native); ? ? }
? ? private void SetAdListener() { ? ? ? ? TradPlusManager.OnSdkInitializedEvent += OnSdkInitializedEvent; ? ? ? ? ///banner/// ? ? ? ? TradPlusManager.OnAdLoaded += OnAdLoaded; ? ? ? ? TradPlusManager.OnAdLoadFailed += OnAdLoadFailed; ? ? ? ? TradPlusManager.OnAdShowFailed += OnAdShowFailed; ? ? ? ? //插屏/ ? ? ? ? TradPlusManager.OnInterstitialAdLoaded += OnInterstitialAdLoaded; ? ? ? ? TradPlusManager.OnInterstitialAdFailed += OnInterstitialAdFailed; ? ? ? ? ///激励视频/// ? ? ? ? TradPlusManager.OnRewardedVideoAdLoaded += OnRewardedVideoAdLoaded; ? ? ? ? TradPlusManager.OnRewardedVideoAdFailed += OnRewardedVideoAdFailed; ? ? ? ? TradPlusManager.OnRewardedVideoAdReward += OnRewardedVideoAdReward; ? ? } ? ? private void OnSdkInitializedEvent(string str) { ? ? ? ? TradPlusAndroid.SetNeedTestDevice(true); ? ? ? ? Debug.LogError("SDK init...."+str); ? ? ? ? TradPlus.LoadBannerPluginsForAdUnits(ad_id_banner); ? ? ? ? //TradPlus.LoadNativePluginsForAdUnits(ad_id_native); ? ? ? ? TradPlus.LoadInterstitialPluginsForAdUnits(ad_id_chaping); ? ? ? ? TradPlus.LoadRewardedVideoPluginsForAdUnits(ad_id_reward);
? ? ? ? LoadChaPingAd(); ? ? ? ? LoadVideoAd(); ? ? } ? ? #region banner回调 ? ? private void OnAdLoaded(string str1, float str2) ? ? { ? ? ? ? Debug.LogError("banner加载完成:" + str1 + "..str2:" + str2); ? ? } ? ? private void OnAdLoadFailed(string str1, string str2) ? ? { ? ? ? ? Debug.LogError("banner加载失败:" + str1 + "...str2:" + str2); ? ? } ? ? private void OnAdShowFailed(string str1, string str2) ? ? { ? ? ? ? Debug.LogError("banner展示失败:" + str1 + "...str2:" + str2); ? ? } ? ? #endregion ? ? #region 插屏回调 ? ? private void OnInterstitialAdLoaded(string str) { ? ? ? ? Debug.LogError("插屏加载完成:" + str); ? ? } ? ? private void OnInterstitialAdFailed(string str1,string str2) ? ? { ? ? ? ? Debug.LogError("插屏加载失败:" + str1+"...str2:"+str2); ? ? } ? ? #endregion ? ? #region 激励视频回调 ? ? private void OnRewardedVideoAdLoaded(string str) { ? ? ? ? Debug.LogError("激励视频加载完成:"+str); ? ? } ? ? private void OnRewardedVideoAdFailed(string str1,string str2) ? ? { ? ? ? ? Debug.LogError("激励视频加载失败:" + str1+"...str2:"+str2); ? ? } ? ? private void OnRewardedVideoAdReward(string str) ? ? { ? ? ? ? Debug.LogError("激励视频播放完成:" + str); ? ? ? ? act(true); ? ? } ? ? #endregion
? ? 统计// ? ? public void SendEvent_adjust(string adjustStr) ? ? { ? ? ? ? AdjustEvent adjustEvent = new AdjustEvent(adjustStr); ? ? ? ? Adjust.trackEvent(adjustEvent); ? ? }
? ? public void SendEvent_firebase(string _key,string _name,string _value) { ? ? ? ? FirebaseAnalytics.LogEvent(_key,_name,_value); ? ? } } ?
|