Access the Unity Ads SDK public API reference to view available classes, methods, and properties you can use in Swift to integrate and control ad behavior in your iOS app.
Read time 14 minutesLast updated 2 days ago
Use this reference for the Unity Ads Android SDK API in Swift as you integrate Unity Ads into your iOS applications.Before using this API, ensure that you've imported the
class manages the loading and showing of banner ads.
load(_:completion)
public class UADSBannerAd: NSObject { public static func load(_ configuration: UADSBannerLoadConfiguration, completion: @escaping (UADSBannerAd?, UnityAdsError?) -> Void)}
Loads a banner ad with the specified configuration.
Parameters
Description
configuration
The options for loading the banner ad.
completion
A callback that gets called when the banner is loaded. Returns the loaded UADSBannerAd instance if successful, or an UnityAdsError if loading fails.
onAdExpired
public var onAdExpired: ((UADSBannerAd) -> Void)?
A callback that gets triggered when the ad expires. Set this property to be notified when a loaded banner ad expires and is no longer valid.
view
public class UADSBannerAd: UIView { public var view: UIView}
A view property that provides access to the banner ad instance. Use this property to insert the banner ad within your app's existing view hierarchy at the desired location.
UADSBannerView
Warning
Deprecated in version 4.19.0. Scheduled for removal in version 5.0.0.Use
was the previous delegate protocol for handling banner ad events.
UADSBannerLoadConfiguration
The
UADSBannerLoadConfiguration
class encapsulates the options needed to load banner ads. This includes specifying the placement ID, banner size, optional ad markup, optional delegate, and any additional parameters.
public class UADSBannerLoadConfiguration: NSObject { @objc public private(set) var placementId: String @objc public private(set) var adMarkup: String? @objc public private(set) var bannerSize: CGSize @objc public private(set) var delegate: UADSBannerAdDelegate @objc public private(set) var mediationAdUnitId: String? @objc public private(set) var mediationInfo: UADSMediationInfo? @objc public private(set) var extras: [String: String]}
Property
Description
Required
placementId
The placement ID defined in the Unity Monetization Dashboard.
Yes
adMarkup
Ad markup data that's used when loading an ad through bidding.
No
bannerSize
The size of the banner ad.
Yes
delegate
Delegate to handle banner ad events.
Yes
mediationAdUnitId
The ad unit or placement ID defined in your mediation partner's dashboard.
No
mediationInfo
Specifies details about your mediation integration.
No
extras
Additional custom key–value pairs.
No
UADSBannerLoadConfigurationBuilder
Use
UADSBannerLoadConfigurationBuilder
to create and return an instance of the
UADSBannerLoadConfiguration
class.
init(placementId, bannerSize, delegate)
public init(placementId: String,bannerSize: CGSize,delegate: UADSBannerAdDelegate)
Creates a new instance of
UADSBannerLoadConfigurationBuilder
.
Property
Description
Required
placementId
The placement ID defined in the Unity Monetization Dashboard.
Yes
bannerSize
The size of the banner ad.
Yes
delegate
Delegate to handle banner ad events.
Yes
Returns: An instance of
UADSBannerLoadConfigurationBuilder
.
with(adMarkup:)_
public func with(adMarkup: String) -> Self
Adds an adMarkup to the
UADSBannerLoadConfigurationBuilder
.
Parameter
Description
adMarkup
Ad markup data that's used when loading an ad through bidding.
Returns: The updated
UADSBannerLoadConfigurationBuilder
instance.
with(mediationAdUnitId:)_
public func with(mediationAdUnitId: String) -> Self
Adds a mediation ad unit ID to the
UADSBannerLoadConfigurationBuilder
.
Parameter
Description
mediationAdUnitId
The ad unit or placement ID defined in your mediation partner's dashboard.
Returns: The updated
UADSBannerLoadConfigurationBuilder
instance.
with(mediationInfo:)_
public func with(mediationInfo: UADSMediationInfo) -> Self
Adds mediation information to the
UADSBannerLoadConfigurationBuilder
.
Parameter
Description
mediationInfo
Details about the mediation integration (name, version, adapter version).
Returns: The updated
UADSBannerLoadConfigurationBuilder
instance.
with(extras:)_
public func with(extras: [String: String]) -> Self
Adds extra key–value parameters to the
UADSBannerLoadConfigurationBuilder
.
Parameter
Description
extras
Custom parameters for banner loading.
Returns: The updated UADSBannerLoadConfigurationBuilder instance.
build()_
public func build() -> UADSBannerLoadConfiguration
Builds and returns a
UADSBannerLoadConfiguration
instance.Returns: An instance of
UADSBannerLoadConfiguration
.
UADSBannerLoadOptions
Warning
Deprecated in version 4.19.0. Scheduled for removal in version 5.0.0.Use
was the previous class for specifying banner load options.
UADSInitializationConfiguration
public class UADSInitializationConfiguration: NSObject { @objc public private(set) var gameId: String @objc public private(set) var isTestModeEnabled: Bool @objc public private(set) var logLevel: UADSLogLevel @objc public private(set) var mediationInfo: UADSMediationInfo? @objc public private(set) var extras: [String: String]}
The
UADSInitializationConfiguration
class creates an object consisting of essential information about your app required to initialize the Unity Ads SDK.
Property
Description
Required
gameId
Your unique game identifier from the Unity Ads Monetization dashboard.
Yes
isTestModeEnabled
A boolean that enables test mode. When true, only test ads are shown. Defaults to false.
No
logLevel
Specifies the level of detail for log output. Defaults to INFO.
No
mediationInfo
An object that contains information about your mediation integration.
No
extras
A map of additional key–value parameters for custom configuration.
No
UADSInitializationConfigurationBuilder
Use
UADSInitializationConfigurationBuilder
to create and return an instance of the
UADSInitializationConfiguration
class.
Initialize
public static func initialize(_ configuration: UADSInitializationConfiguration,completion: @escaping (UnityAdsError?) -> Void)
Initializes the Unity Ads SDK with a specified configuration. The completion handler is called when initialization completes with either success or failure.
Parameter
Description
configuration
The UADSInitializationConfiguration object that contains the necessary settings to initialize the SDK.
completion
The completion callback is called upon completion, indicating success or detailing the reason for failure with an error message and an error code.
init(gameId:)_
public init(gameId: String)
Creates a new instance of
UADSInitializationConfigurationBuilder
.
Parameter
Description
gameId
Unique identifier for a game, given by Unity Ads admin tools or Unity editor.
Returns: An instance of
UADSInitializationConfigurationBuilder
.
with(testMode:)_
public func with(testMode: Bool) -> Self
Sets the test mode.
Parameter
Description
testMode
Set this flag to
true
to indicate test mode and show only test ads.
Returns: The updated
UADSInitializationConfigurationBuilder
instance.
with(logLevel:)_
public func with(logLevel: UADSLogLevel) -> Self
Sets the log level, which defines the amount of detail included in logs, from none to full debug information.
public func with(mediationInfo: UADSMediationInfo) -> Self
Sets the mediation information, which provides details about your app's mediation integration, including mediation name, version, and adapter version.
Parameter
Description
mediationInfo
Specifies details about your mediation integration.
Returns: The updated
UADSInitializationConfigurationBuilder
instance.
with(extras:)_
public func with(extras: [String: String]) -> Self
Sets additional parameters.
Parameter
Description
extras
Additional key–value pairs for custom configuration.
Returns: The updated
UADSInitializationConfigurationBuilder
instance.
build()
public func build() -> UADSInitializationConfiguration
Builds and returns a
UADSInitializationConfiguration
instance.Returns: An instance of
UADSInitializationConfiguration
.
UADSInterstitialAd
The
UADSInterstitialAd
class manages the loading and showing of full-screen interstitial ads.
load(_:completion)
public class UADSInterstitialAd: NSObject { public static func load(_ configuration: UADSLoadConfiguration, completion: @escaping (UADSInterstitialAd?, UnityAdsError?) -> Void)}
Loads an interstitial ad with the specified configuration.
Parameters
Description
configuration
An instance of UADSLoadConfiguration containing the ad loading options.
completion
A callback that gets called when the loading process is finished. Returns a UADSInterstitialAd instance if successful, or an UnityAdsError if loading fails.
show(_:delegate:)
public class UADSInterstitialAd: NSObject { public func show(_ configuration: UADSShowConfiguration? = nil, delegate: UADSInterstitialShowDelegate)}
Displays the loaded interstitial ad.
Parameter
Description
configuration
Optional configuration for showing the ad.
delegate
A delegate conforming to UADSInterstitialShowDelegate to handle ad events.
onAdExpired
Register a callback that gets triggered when the ad expires.
public class UADSInterstitialAd: NSObject { public var onAdExpired: ((UnityAd) -> Void)?}
UADSLoadConfiguration
The
UADSLoadConfiguration
class encapsulates the options needed to load Unity ads. This includes specifying the placement ID, optional ad markup, and any additional parameters.
public class UADSLoadConfiguration: NSObject { @objc public private(set) var placementId: String @objc public private(set) var adMarkup: String? @objc public private(set) var mediationAdUnitId: String? @objc public private(set) var mediationInfo: UADSMediationInfo? @objc public private(set) var extras: [String: String]}
Creates a new instance of
UADSLoadConfiguration
.
Property
Description
Required
placementId
The placement ID defined in the Unity Monetization Dashboard.
Yes
adMarkup
Ad markup data that's used when loading an ad through bidding. If it's nil, it's waterfall.
No
mediationAdUnitId
The placement ID used in your mediation partner's dashboard.
No
mediationInfo
Specifies details about your mediation integration.
No
extras
Additional custom key–value pairs for configuration.
No
Note: The adMarkup property is required for all bidding implementations. For waterfall implementations, you can set adMarkup to nil.
UADSLoadConfigurationBuilder
Use
UADSLoadConfigurationBuilder
to create and return an instance of the
UADSLoadConfiguration
class.
init(placementId:)
public init(placementId: String)
Creates a new instance of
UADSLoadConfigurationBuilder
.
Parameter
Description
placementId
The placement ID defined in the Unity Monetization Dashboard.
Returns: An instance of
UADSLoadConfigurationBuilder
.
with(adMarkup:)_
public func with(adMarkup: String) -> Self
Adds an adMarkup to the
UADSLoadConfigurationBuilder
.
Parameter
Description
adMarkup
Ad markup data that's used when loading an ad through bidding. If nil, the ad request uses waterfall.
Returns: The updated
UADSLoadConfigurationBuilder
instance.
with(mediationAdUnitId:)_
public func with(mediationAdUnitId: String) -> Self
Adds the mediation ad unit ID to the
UADSLoadConfigurationBuilder
.
Property
Description
mediationAdUnitId
The placement ID used in your mediation partner's dashboard.
Returns: The updated
UADSLoadConfigurationBuilder
instance.
with(mediationInfo:)_
public func with(mediationInfo: UADSMediationInfo) -> Self
Adds mediation information to the
UADSLoadConfigurationBuilder
.
Parameter
Description
mediationInfo
Specifies details about your mediation integration (name, version, adapter version).
Returns: The updated
UADSLoadConfigurationBuilder
instance.
with(extras:)_
public func with(extras: [String: String]) -> Self
Adds extra configuration key–value pairs to the
UADSLoadConfigurationBuilder
.
Parameter
Description
extras
A dictionary of custom parameters for ad loading.
Returns: The updated
UADSLoadConfigurationBuilder
instance.
build()
public func build() -> UADSLoadConfiguration
Builds and returns a
UADSLoadConfiguration
instance.Returns: An instance of
UADSLoadConfiguration
.
UADSLoadOptions
Warning
Deprecated in version 4.19.0. Scheduled for removal in version 5.0.0.Use
was the previous class for passing mediation partner information.
Privacy
Privacy is a set of enums and a class offering APIs to manage privacy settings and user consents for Unity Ads. This enables developers to handle various privacy settings and consents that comply with GDPR, PIPL, and other regulations.
public class Privacy: NSObject { public static func set(privacy: PrivacyFlag, value: PrivacyValue) {} public static func set(consent: PrivacyConsent, value: PrivacyConsentValue) {} // to set new flags, throws an exception if writing an existing flag public static func setPrivacy(_ flag: String, consent: PrivacyConsentValue) throws {} public static func setPrivacy(_ flag: String, value: PrivacyValue) throws {}}
UADSMetaData
Warning
Deprecated in version 4.19.0. Scheduled for removal in version 5.0.0.Use the typed privacy methods on
was the previous class for setting GDPR and other privacy-related flags.
UADSRewardedAd
The
UADSRewardedAd
class manages the loading and showing of rewarded ads.
load(_:completion)_
public class UADSRewardedAd: NSObject { public static func load(_ configuration: UADSLoadConfiguration, completion: @escaping (UADSRewardedAd?, UnityAdsError?) -> Void)}
Loads a rewarded ad with the specified options.
Parameters
Description
configuration
An instance of UADSLoadConfiguration containing the ad loading options.
completion
A callback that gets called when ad loading finishes. Returns a UADSRewardedAd instance if successful, or an Error if loading fails.
show(_:delegate:)
public class UADSRewardedAd: NSObject { public func show(_ configuration: UADSShowConfiguration? = nil, delegate: UADSRewardedShowDelegate)}
Displays the loaded rewarded ad.
Parameter
Description
configuration
Optional settings for showing the ad.
delegate
An optional delegate that handles rewarded ad events.
onAdExpired
Register a callback that gets triggered when the ad expires.
public class UADSRewardedAd: NSObject { public var onAdExpired: ((UnityAd) -> Void)?}
UADSShowConfiguration
The
UADSShowConfiguration
class specifies additional parameters that you want to pass in the form of key-value pairs when showing Unity Ads.
public class UADSShowConfiguration: NSObject { @objc public private(set) var viewController: UIViewController? @objc public private(set) var customRewardString: String? @objc public private(set) var extras: [String: String]}
Creates a new instance of
UADSShowConfiguration
with optional additional parameters.
Property
Description
Required
viewController
The view controller used to present the ad.
No
customRewardString
A custom reward identifier for the ad impression.
No
extras
Additional key–value parameters to include when showing the ad. Defaults to an empty dictionary.
No
UADSShowConfigurationBuilder
Use
UADSShowConfigurationBuilder
to create and return an instance of the
UADSShowConfiguration
class.
*init()
public init()
Creates a new instance of UADSShowConfigurationBuilder.
with(viewController:)
public func with(viewController: UIViewController) -> Self
Sets the view controller to present the ad from.
Parameter
Description
viewController
The view controller presenting the ad.
Returns: The updated UADSShowConfigurationBuilder instance.
with(customRewardString:)
public func with(customRewardString: String) -> Self
Sets a custom reward identifier for the ad impression.
Parameter
Description
customRewardString
A unique reward ID for the ad impression.
Returns: The updated
UADSShowConfigurationBuilder
instance.
with(extras:)
public func with(extras: [String: String]) -> Self
Adds extra key–value parameters when showing the ad.
Parameter
Description
extras
Custom parameters for ad display.
Returns: The updated
UADSShowConfigurationBuilder
instance.
build()
public func build() -> UADSShowConfiguration
Builds and returns a
UADSShowConfiguration
instance.Returns: An instance of
UADSShowConfiguration
.
UADSShowOptions
Warning
Deprecated in version 4.19.0. Scheduled for removal in version 5.0.0.Use
was the previous class for specifying ad show options.
UADSTokenConfiguration
public class UADSTokenConfiguration: NSObject { @objc public private(set) var adFormat: UADSAdFormat @objc public private(set) var mediationInfo: UADSMediationInfo? @objc public private(set) var mediationAdUnitId: String? @objc public private(set) var placementId: String? @objc public private(set) var bannerSize: CGSize? @objc public private(set) var extras: [String: String] = [:]}
The
UADSTokenConfiguration
class creates an object consisting of essential information required to get a bidding token.
Property
Description
Required
adFormat
The type of ad format for which to generate a token.
Yes
mediationInfo
Specifies details about your mediation integration.
No
mediationAdUnitId
The placement ID used in your mediation partner's dashboard.
No
placementId
The placement ID defined in the Unity Monetization Dashboard.
No
bannerSize
The size of the banner ad if a token requested a banner ad.
No
extras
Additional key–value pairs for custom configuration.
No
UADSTokenConfigurationBuilder
Use
UADSTokenConfigurationBuilder
to create and return an instance of the
UADSTokenConfiguration
class.
init(adFormat:)
public init(adFormat: UADSAdFormat)
Creates a new instance of
UADSTokenConfigurationBuilder
.
Parameter
Description
adFormat
An instance of UADSAdFormat that specifies the type of ad (interstitial, rewarded, banner).
Returns: An instance of
UADSTokenConfigurationBuilder
.
with(mediationInfo:)
public func with(mediationInfo: UADSMediationInfo) -> Self
Specifies details about your mediation integration.
Parameter
Description
mediationInfo
Specifies details about your mediation integration.
Returns: The updated
UADSTokenConfigurationBuilder
instance.
withMediationAdUnitId:_
public func with(mediationAdUnitId: String) -> Self
Adds the mediation ad unit ID to the
UADSTokenConfiguration
.
Property
Description
mediationAdUnitId
The placement ID used in your mediation partner's dashboard.
Returns: The updated
UADSUADSTokenConfigurationBuilder
instance.
withPlacementId:_
public func with(placementId: String) -> Self
Specifies the placement ID defined in the Unity Monetization Dashboard.
Parameter
Description
placementId
The placement ID defined in the Unity Monetization Dashboard.
Returns: The updated
UADSUADSTokenConfigurationBuilder
instance.
withBannerSize:_
public func with(bannerSize: CGSize) -> Self
Specifies the size of the banner ad if a token requested a banner ad.
Parameter
Description
bannerSize
The size of the banner ad if a token requested a banner ad.
Returns: The updated
UADSUADSTokenConfigurationBuilder
instance.
with(extras:)
public func with(extras: [String: String]) -> Self
Specifies additional key–value pairs for custom configuration.
Parameter
Description
extras
Additional key–value pairs for custom configuration.
Returns: The updated
UADSTokenConfigurationBuilder
instance.
build()
public func build() -> UADSTokenConfiguration
Builds and returns a
UADSTokenConfiguration
instance.Returns: An instance of
UADSTokenConfiguration
.
UnityAds
The
UnityAds
class is a static class that serves as the primary entry point for the SDK. It handles initialization, token retrieval, and provides access to global SDK properties.
Initialization
initialize(_, completion:)
Initializes the Unity Ads SDK with a specified configuration. The completion block is called when initialization completes with either success or failure.