Skip to main content

Core Classes

CloudX

Main SDK singleton class for initialization and ad creation. Package: io.cloudx.sdk

Initialization

fun initialize(
    initParams: CloudXInitializationParams,
    listener: CloudXInitializationListener?
)
Initialize the CloudX SDK. Parameters:
  • initParams - Configuration parameters (appKey, testMode)
  • listener - Optional callback for initialization result

Ad Creation Methods

fun createBanner(placementName: String): CloudXAdView
fun createMREC(placementName: String): CloudXAdView
fun createInterstitial(placementName: String): CloudXInterstitialAd
fun createRewardedInterstitial(placementName: String): CloudXRewardedInterstitialAd
fun createNativeAdSmall(placementName: String): CloudXAdView
fun createNativeAdMedium(placementName: String): CloudXAdView

Privacy & Targeting

fun setPrivacy(privacy: CloudXPrivacy)
fun setHashedUserId(hashedUserId: String)
fun setUserKeyValue(key: String, value: String)
fun setAppKeyValue(key: String, value: String)
fun clearAllKeyValues()

Logging

fun setLoggingEnabled(isEnabled: Boolean)
fun setMinLogLevel(minLogLevel: CloudXLogLevel)

Data Classes

CloudXInitializationParams

data class CloudXInitializationParams(
    val appKey: String,
    val testMode: Boolean = false
)

CloudXPrivacy

data class CloudXPrivacy(
    val isUserConsent: Boolean? = null,
    val isAgeRestrictedUser: Boolean? = null
)

Ad Classes

CloudXAdView

Banner, MREC, and Native ad view. Methods:
fun load()
fun startAutoRefresh()
fun stopAutoRefresh()
fun destroy()
var listener: CloudXAdViewListener?

CloudXInterstitialAd

Fullscreen interstitial ad. Methods:
fun load()
fun show()
fun destroy()
val isAdReady: Boolean
var listener: CloudXInterstitialListener?

CloudXRewardedInterstitialAd

Fullscreen rewarded video ad. Methods:
fun load()
fun show()
fun destroy()
val isAdReady: Boolean
var listener: CloudXRewardedInterstitialListener?

Listener Interfaces

CloudXAdListener

Base ad event listener.
interface CloudXAdListener {
    fun onAdLoaded(cloudXAd: CloudXAd)
    fun onAdDisplayed(cloudXAd: CloudXAd)
    fun onAdHidden(cloudXAd: CloudXAd)
    fun onAdClicked(cloudXAd: CloudXAd)
    fun onAdLoadFailed(cloudXError: CloudXError)
    fun onAdDisplayFailed(cloudXError: CloudXError)
}

CloudXAdViewListener

Banner and native ad listener (extends CloudXAdListener).
interface CloudXAdViewListener : CloudXAdListener {
    fun onAdExpanded(cloudXAd: CloudXAd)
    fun onAdCollapsed(cloudXAd: CloudXAd)
}

CloudXInterstitialListener

Interstitial ad listener (extends CloudXAdListener).
interface CloudXInterstitialListener : CloudXAdListener

CloudXRewardedInterstitialListener

Rewarded ad listener (extends CloudXAdListener).
interface CloudXRewardedInterstitialListener : CloudXAdListener {
    fun onUserRewarded(cloudXAd: CloudXAd)
}

CloudXInitializationListener

SDK initialization callback.
interface CloudXInitializationListener {
    fun onInitialized()
    fun onInitializationFailed(cloudXError: CloudXError)
}

Model Classes

CloudXAd

Ad metadata passed to callbacks.
interface CloudXAd {
    val placementName: String
    val placementId: String
    val bidderName: String
    val externalPlacementId: String?
    val revenue: Double
}

CloudXError

Error information.
data class CloudXError(
    val code: CloudXErrorCode,
    val message: String?,
    val cause: Throwable?
) {
    val effectiveMessage: String
}

Enums

CloudXErrorCode

enum class CloudXErrorCode(val value: Int) {
    // Initialization (100-199)
    NOT_INITIALIZED(100),
    INITIALIZATION_IN_PROGRESS(101),
    NO_ADAPTERS_FOUND(102),
    INITIALIZATION_TIMEOUT(103),
    INVALID_APP_KEY(104),

    // Network (200-299)
    NETWORK_ERROR(200),
    NETWORK_TIMEOUT(201),
    INVALID_RESPONSE(202),

    // Ad Loading (300-399)
    NO_FILL(300),
    INVALID_REQUEST(301),
    INVALID_PLACEMENT(302),
    LOAD_TIMEOUT(303),
    LOAD_FAILED(304),

    // Ad Display (400-499)
    AD_NOT_READY(400),
    AD_ALREADY_SHOWN(401),
    AD_EXPIRED(402),
    SHOW_FAILED(404),

    // Configuration (500-599)
    INVALID_AD_UNIT(500),
    PERMISSION_DENIED(501),
    UNSUPPORTED_AD_FORMAT(502),

    // General (700-799)
    UNEXPECTED_ERROR(700)
}

CloudXLogLevel

enum class CloudXLogLevel {
    VERBOSE,
    DEBUG,
    INFO,
    WARN,
    ERROR
}

Adapter Classes

Meta Adapter

Package: io.cloudx.adapter.meta
fun enableMetaAudienceNetworkTestMode(enabled: Boolean)

Maven Coordinates

dependencies {
    implementation("io.cloudx:sdk:0.6.1")
    implementation("io.cloudx:adapter-cloudx:0.6.1")
    implementation("io.cloudx:adapter-meta:0.6.1")
}
Current Version: 0.6.1 Min SDK: 21 (Android 5.0) Target SDK: 35