using CloudX;
using UnityEngine;
public class AppOpenExample : MonoBehaviour
{
private const string AppOpenAdUnitId = "app_open_main";
void Start()
{
// Subscribe to callbacks
CloudXAdsCallbacks.AppOpen.OnAdLoadSuccess += OnAppOpenLoaded;
CloudXAdsCallbacks.AppOpen.OnAdLoadFailed += OnAppOpenLoadFailed;
CloudXAdsCallbacks.AppOpen.OnAdShowSuccess += OnAppOpenShown;
CloudXAdsCallbacks.AppOpen.OnAdShowFailed += OnAppOpenShowFailed;
CloudXAdsCallbacks.AppOpen.OnAdHidden += OnAppOpenHidden;
CloudXAdsCallbacks.AppOpen.OnAdClicked += OnAppOpenClicked;
CloudXAdsCallbacks.AppOpen.OnAdRevenuePaid += OnAppOpenRevenuePaid;
// Load app open ad
CloudXSdk.LoadAppOpen(AppOpenAdUnitId);
}
public void ShowAppOpen()
{
if (CloudXSdk.IsAppOpenReady(AppOpenAdUnitId))
{
// Show with optional placement and custom data
CloudXSdk.ShowAppOpen(AppOpenAdUnitId, "app_foreground", "custom_data");
}
else
{
Debug.LogWarning("App open ad not ready yet");
}
}
private void OnAppOpenLoaded(CloudXAd ad)
{
Debug.Log($"App open ad loaded: {ad.AdUnitId}");
}
private void OnAppOpenLoadFailed(string adUnitId, CloudXError error)
{
Debug.LogError($"App open ad failed to load: {adUnitId} - {error}");
}
private void OnAppOpenShown(CloudXAd ad)
{
Debug.Log($"App open ad shown: {ad.AdUnitId}");
}
private void OnAppOpenShowFailed(CloudXAd ad, CloudXError error)
{
Debug.LogError($"App open ad failed to show: {ad.AdUnitId} - {error}");
// Reload for next time
CloudXSdk.LoadAppOpen(AppOpenAdUnitId);
}
private void OnAppOpenHidden(CloudXAd ad)
{
Debug.Log($"App open ad hidden: {ad.AdUnitId}");
// Reload for next time
CloudXSdk.LoadAppOpen(AppOpenAdUnitId);
}
private void OnAppOpenClicked(CloudXAd ad)
{
Debug.Log($"App open ad clicked: {ad.AdUnitId}");
}
private void OnAppOpenRevenuePaid(CloudXAd ad)
{
Debug.Log($"App open ad revenue: ${ad.Revenue} from {ad.NetworkName}");
}
}
Ad formats
App Open Ads
Integrate CloudX app open ads in Unity games
Full-screen ads shown when users open your app or return it to the foreground.