Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cloudx.io/llms.txt

Use this file to discover all available pages before exploring further.

Full-screen ads shown between content transitions.
using CloudX;
using UnityEngine;

public class InterstitialExample : MonoBehaviour
{
    private const string InterstitialAdUnitId = "interstitial_main";

    void Start()
    {
        // Subscribe to callbacks
        CloudXAdsCallbacks.Interstitial.OnAdLoadSuccess += OnInterstitialLoaded;
        CloudXAdsCallbacks.Interstitial.OnAdLoadFailed += OnInterstitialLoadFailed;
        CloudXAdsCallbacks.Interstitial.OnAdShowSuccess += OnInterstitialShown;
        CloudXAdsCallbacks.Interstitial.OnAdShowFailed += OnInterstitialShowFailed;
        CloudXAdsCallbacks.Interstitial.OnAdHidden += OnInterstitialHidden;
        CloudXAdsCallbacks.Interstitial.OnAdClicked += OnInterstitialClicked;
        CloudXAdsCallbacks.Interstitial.OnAdRevenuePaid += OnInterstitialRevenuePaid;

        // Load interstitial
        CloudXSdk.LoadInterstitial(InterstitialAdUnitId);
    }

    public void ShowInterstitial()
    {
        if (CloudXSdk.IsInterstitialReady(InterstitialAdUnitId))
        {
            // Show with optional placement and custom data
            CloudXSdk.ShowInterstitial(InterstitialAdUnitId, "level_complete", "custom_data");
        }
        else
        {
            Debug.LogWarning("Interstitial not ready yet");
        }
    }

    private void OnInterstitialLoaded(CloudXAd ad)
    {
        Debug.Log($"Interstitial loaded: {ad.AdUnitId}");
    }

    private void OnInterstitialLoadFailed(string adUnitId, CloudXError error)
    {
        Debug.LogError($"Interstitial failed to load: {adUnitId} - {error}");
    }

    private void OnInterstitialShown(CloudXAd ad)
    {
        Debug.Log($"Interstitial shown: {ad.AdUnitId}");
    }

    private void OnInterstitialShowFailed(CloudXAd ad, CloudXError error)
    {
        Debug.LogError($"Interstitial failed to show: {ad.AdUnitId} - {error}");
        // Reload for next time
        CloudXSdk.LoadInterstitial(InterstitialAdUnitId);
    }

    private void OnInterstitialHidden(CloudXAd ad)
    {
        Debug.Log($"Interstitial hidden: {ad.AdUnitId}");
        // Reload for next time
        CloudXSdk.LoadInterstitial(InterstitialAdUnitId);
    }

    private void OnInterstitialClicked(CloudXAd ad)
    {
        Debug.Log($"Interstitial clicked: {ad.AdUnitId}");
    }

    private void OnInterstitialRevenuePaid(CloudXAd ad)
    {
        Debug.Log($"Interstitial revenue: ${ad.Revenue} from {ad.NetworkName}");
    }
}