Unity Ads Initializer Script


using UnityEngine;
using UnityEngine.Advertisements;
 
public class AdsInitializer : MonoBehaviour, IUnityAdsInitializationListener
{
    [SerializeField] string _androidGameId = "4864933";
    [SerializeField] string _iOSGameId = "4864933";
    [SerializeField] bool _testMode = true;
    private string _gameId;
 
    void Awake()
    {
        InitializeAds();
        LogSDKVersion();
    }
 
    public void InitializeAds()
    {
    #if UNITY_IOS
            _gameId = _iOSGameId;
    #elif UNITY_ANDROID
            _gameId = _androidGameId;
    #elif UNITY_EDITOR
            _gameId = _androidGameId; // Only for testing the functionality in the Editor
    #endif
        
        if (!Advertisement.isInitialized && Advertisement.IsSupported())
        {
            Advertisement.Initialize(_gameId, _testMode, this);
        }
        else if (Advertisement.isInitialized)
        {
            Debug.Log("Ads are already initialized.");
        }
        else
        {
            Debug.Log("Ads are not supported on this platform.");
        }
    }

    public void LogSDKVersion()
    {
        string sdkVersion = Advertisement.version;
        Debug.Log($"Unity Ads SDK Version: {sdkVersion}");
    }

    public void OnInitializationComplete()
    {
        Debug.Log("Unity Ads initialization complete.");
    }
 
    public void OnInitializationFailed(UnityAdsInitializationError error, string message)
    {
        Debug.LogError($"Unity Ads Initialization Failed: {error.ToString()} - {message}");
    }
}