Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using UnityEngine.Advertisements;
- public class AdsManager : MonoBehaviour, IUnityAdsInitializationListener, IUnityAdsLoadListener, IUnityAdsShowListener
- {
- [Header("Game IDs")]
- [SerializeField] string _androidGameId;
- [SerializeField] string _iOSGameId;
- [SerializeField] bool _testMode = false;
- [Header("Ad Units")]
- [SerializeField] string _androidInterstitialId = "Interstitial_Android";
- [SerializeField] string _androidRewardedId = "Rewarded_Android";
- [SerializeField] string _androidBannerId = "Banner_Android";
- [SerializeField] string _iOSInterstitialId = "Interstitial_iOS";
- [SerializeField] string _iOSRewardedId = "Rewarded_iOS";
- [SerializeField] string _iOSBannerId = "Banner_iOS";
- private string _gameId;
- private string _interstitialId;
- private string _rewardedId;
- private string _bannerId;
- void Awake()
- {
- InitializeAds();
- }
- public void InitializeAds()
- {
- #if UNITY_IOS
- _gameId = _iOSGameId;
- _interstitialId = _iOSInterstitialId;
- _rewardedId = _iOSRewardedId;
- _bannerId = _iOSBannerId;
- #else
- _gameId = _androidGameId;
- _interstitialId = _androidInterstitialId;
- _rewardedId = _androidRewardedId;
- _bannerId = _androidBannerId;
- #endif
- if (!Advertisement.isInitialized)
- {
- Advertisement.Initialize(_gameId, false, this);
- }
- }
- // ---- Initialization ----
- public void OnInitializationComplete()
- {
- Debug.Log("Unity Ads initialized.");
- LoadAd(_interstitialId);
- LoadAd(_rewardedId);
- LoadBanner();
- Debug.Log($"Unity Ads initialized with Game ID: {_gameId} | Test Mode: {_testMode}");
- }
- public void OnInitializationFailed(UnityAdsInitializationError error, string message)
- {
- Debug.Log($"Initialization failed: {error} - {message}");
- }
- // ---- Loading ----
- public void LoadAd(string adUnitId)
- {
- Debug.Log($"Loading Ad: {adUnitId}");
- Advertisement.Load(adUnitId, this);
- }
- // ---- Showing ----
- public void ShowAd(string adUnitId)
- {
- Debug.Log($"Showing Ad: {adUnitId}");
- Advertisement.Show(adUnitId, this);
- }
- // ---- Banner ----
- public void LoadBanner()
- {
- Advertisement.Banner.SetPosition(BannerPosition.BOTTOM_CENTER);
- Advertisement.Banner.Load(_bannerId);
- }
- public void ShowBanner()
- {
- Advertisement.Banner.Show(_bannerId);
- }
- public void HideBanner()
- {
- Advertisement.Banner.Hide();
- }
- // ---- Listeners ----
- public void OnUnityAdsAdLoaded(string adUnitId)
- {
- Debug.Log($"Ad loaded: {adUnitId}");
- }
- public void OnUnityAdsFailedToLoad(string adUnitId, UnityAdsLoadError error, string message)
- {
- Debug.Log($"Error loading {adUnitId}: {error} - {message}");
- }
- public void OnUnityAdsShowFailure(string adUnitId, UnityAdsShowError error, string message)
- {
- Debug.Log($"Error showing {adUnitId}: {error} - {message}");
- }
- public void OnUnityAdsShowStart(string adUnitId) { }
- public void OnUnityAdsShowClick(string adUnitId) { }
- public void OnUnityAdsShowComplete(string adUnitId, UnityAdsShowCompletionState showCompletionState)
- {
- Debug.Log($"Ad completed: {adUnitId} - {showCompletionState}");
- }
- // ---- Public API ----
- public void ShowInterstitial() => ShowAd(_interstitialId);
- public void ShowRewarded() => ShowAd(_rewardedId);
- }
Advertisement
Add Comment
Please, Sign In to add comment