using UnityEngine;

namespace Davanci.Nexus
{
    // GameAnalytics impression-level ad revenue (ILRD) — the supported path for MAX / LevelPlay.
    // Firebase + AppsFlyer still receive per-impression revenue via DavanciNexus.AdRevenue.
    public static class NexusGameAnalyticsIlrd
    {
        static bool _subscribed;

        public static void Subscribe(NexusConfig cfg)
        {
#if DAVANCI_GA
            if (_subscribed || cfg == null || !cfg.enableAds) return;

            try
            {
                if (!GameAnalyticsSDK.GameAnalytics.Initialized)
                    return;

                if (cfg.adMediation == NexusMediation.AppLovinMax)
                    GameAnalyticsSDK.GameAnalyticsILRD.SubscribeMaxImpressions();
                else
                    GameAnalyticsSDK.GameAnalyticsILRD.SubscribeIronSourceImpressions();

                _subscribed = true;
                Debug.Log("[Nexus] GameAnalytics ILRD subscribed for ad revenue.");
            }
            catch (System.Exception e)
            {
                Debug.LogWarning($"[Nexus] GameAnalytics ILRD subscribe failed: {e.Message}");
            }
#endif
        }
    }
}
