Guest User

Untitled

a guest
Oct 28th, 2025
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.59 KB | None | 0 0
  1. using UnityEngine;
  2. using UnityEngine.Advertisements;
  3.  
  4. public class AdsManager : MonoBehaviour, IUnityAdsInitializationListener, IUnityAdsLoadListener, IUnityAdsShowListener
  5. {
  6. [Header("Game IDs")]
  7. [SerializeField] string _androidGameId;
  8. [SerializeField] string _iOSGameId;
  9. [SerializeField] bool _testMode = false;
  10.  
  11. [Header("Ad Units")]
  12. [SerializeField] string _androidInterstitialId = "Interstitial_Android";
  13. [SerializeField] string _androidRewardedId = "Rewarded_Android";
  14. [SerializeField] string _androidBannerId = "Banner_Android";
  15. [SerializeField] string _iOSInterstitialId = "Interstitial_iOS";
  16. [SerializeField] string _iOSRewardedId = "Rewarded_iOS";
  17. [SerializeField] string _iOSBannerId = "Banner_iOS";
  18.  
  19. private string _gameId;
  20. private string _interstitialId;
  21. private string _rewardedId;
  22. private string _bannerId;
  23.  
  24. void Awake()
  25. {
  26. InitializeAds();
  27. }
  28.  
  29. public void InitializeAds()
  30. {
  31. #if UNITY_IOS
  32. _gameId = _iOSGameId;
  33. _interstitialId = _iOSInterstitialId;
  34. _rewardedId = _iOSRewardedId;
  35. _bannerId = _iOSBannerId;
  36. #else
  37. _gameId = _androidGameId;
  38. _interstitialId = _androidInterstitialId;
  39. _rewardedId = _androidRewardedId;
  40. _bannerId = _androidBannerId;
  41. #endif
  42.  
  43. if (!Advertisement.isInitialized)
  44. {
  45. Advertisement.Initialize(_gameId, false, this);
  46. }
  47. }
  48.  
  49. // ---- Initialization ----
  50. public void OnInitializationComplete()
  51. {
  52. Debug.Log("Unity Ads initialized.");
  53. LoadAd(_interstitialId);
  54. LoadAd(_rewardedId);
  55. LoadBanner();
  56. Debug.Log($"Unity Ads initialized with Game ID: {_gameId} | Test Mode: {_testMode}");
  57. }
  58.  
  59. public void OnInitializationFailed(UnityAdsInitializationError error, string message)
  60. {
  61. Debug.Log($"Initialization failed: {error} - {message}");
  62. }
  63.  
  64. // ---- Loading ----
  65. public void LoadAd(string adUnitId)
  66. {
  67. Debug.Log($"Loading Ad: {adUnitId}");
  68. Advertisement.Load(adUnitId, this);
  69. }
  70.  
  71. // ---- Showing ----
  72. public void ShowAd(string adUnitId)
  73. {
  74. Debug.Log($"Showing Ad: {adUnitId}");
  75. Advertisement.Show(adUnitId, this);
  76. }
  77.  
  78. // ---- Banner ----
  79. public void LoadBanner()
  80. {
  81. Advertisement.Banner.SetPosition(BannerPosition.BOTTOM_CENTER);
  82. Advertisement.Banner.Load(_bannerId);
  83. }
  84.  
  85. public void ShowBanner()
  86. {
  87. Advertisement.Banner.Show(_bannerId);
  88. }
  89.  
  90. public void HideBanner()
  91. {
  92. Advertisement.Banner.Hide();
  93. }
  94.  
  95. // ---- Listeners ----
  96. public void OnUnityAdsAdLoaded(string adUnitId)
  97. {
  98. Debug.Log($"Ad loaded: {adUnitId}");
  99. }
  100.  
  101. public void OnUnityAdsFailedToLoad(string adUnitId, UnityAdsLoadError error, string message)
  102. {
  103. Debug.Log($"Error loading {adUnitId}: {error} - {message}");
  104. }
  105.  
  106. public void OnUnityAdsShowFailure(string adUnitId, UnityAdsShowError error, string message)
  107. {
  108. Debug.Log($"Error showing {adUnitId}: {error} - {message}");
  109. }
  110.  
  111. public void OnUnityAdsShowStart(string adUnitId) { }
  112. public void OnUnityAdsShowClick(string adUnitId) { }
  113. public void OnUnityAdsShowComplete(string adUnitId, UnityAdsShowCompletionState showCompletionState)
  114. {
  115. Debug.Log($"Ad completed: {adUnitId} - {showCompletionState}");
  116. }
  117.  
  118. // ---- Public API ----
  119. public void ShowInterstitial() => ShowAd(_interstitialId);
  120. public void ShowRewarded() => ShowAd(_rewardedId);
  121. }
Advertisement
Add Comment
Please, Sign In to add comment