# Classes

The following classes are available globally.
- `


  ### [IMAAVPlayerContentPlayhead](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAVPlayerContentPlayhead)


  ` An implementation of IMAContentPlayhead for AVPlayer. Use this class to
  provide content tracking if your content player of choice is an AVPlayer
  or its subclass.

  #### Declaration

  Swift

      class IMAAVPlayerContentPlayhead : NSObject, https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Protocols/IMAContentPlayhead

  Objective-C

      @interface IMAAVPlayerContentPlayhead : NSObject <https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Protocols/IMAContentPlayhead>

- `


  ### [IMAAVPlayerVideoDisplay](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAVPlayerVideoDisplay)


  ` An implementation of the IMAVideoDisplay protocol. This object is intended
  to be initialized with the content player, and will reuse the player for
  playing ads.

  #### Declaration

  Swift

      class IMAAVPlayerVideoDisplay : NSObject, https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Protocols/IMAVideoDisplay

  Objective-C

      @interface IMAAVPlayerVideoDisplay : NSObject <https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Protocols/IMAVideoDisplay>

- `


  ### [IMAAd](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAd)


  ` Data object representing a single ad.

  #### Declaration

  Swift

      class IMAAd : NSObject

  Objective-C

      @interface IMAAd : NSObject

- `


  ### [IMAAdDisplayContainer](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdDisplayContainer)


  ` The IMAAdDisplayContainer is responsible for managing the ad container view and companion ad
  slots used for ad playback.

  #### Declaration

  Swift

      class IMAAdDisplayContainer : NSObject

  Objective-C

      @interface IMAAdDisplayContainer : NSObject

[## IMAAdError](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes#/IMAAdError)

- `


  ### [IMAAdError](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdError)


  ` Surfaces an error that occurred during ad loading or playing.

  #### Declaration

  Swift

      class IMAAdError : NSObject

  Objective-C

      @interface IMAAdError : NSObject

[## IMAAdEvent](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes#/IMAAdEvent)

- `


  ### [IMAAdEvent](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdEvent)


  ` Simple data class used to transport ad playback information.

  #### Declaration

  Swift

      class IMAAdEvent : NSObject

  Objective-C

      @interface IMAAdEvent : NSObject

- `


  ### [IMAAdPodInfo](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdPodInfo)


  ` Simple data object containing podding metadata.

  #### Declaration

  Swift

      class IMAAdPodInfo : NSObject

  Objective-C

      @interface IMAAdPodInfo : NSObject

[## IMAAdsLoadedData](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes#/IMAAdsLoadedData)

- `


  ### [IMAAdsLoadedData](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdsLoadedData)


  ` Ad data that is returned when the ads loader loads the ad.

  #### Declaration

  Swift

      class IMAAdsLoadedData : NSObject

  Objective-C

      @interface IMAAdsLoadedData : NSObject

[## IMAAdLoadingErrorData](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes#/IMAAdLoadingErrorData)

- `


  ### [IMAAdLoadingErrorData](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdLoadingErrorData)


  ` Ad error data that is returned when the ads loader fails to load the ad.

  #### Declaration

  Swift

      class IMAAdLoadingErrorData : NSObject

  Objective-C

      @interface IMAAdLoadingErrorData : NSObject

[## IMAAdsLoader](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes#/IMAAdsLoader)

- `


  ### [IMAAdsLoader](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdsLoader)


  ` The IMAAdsLoader class allows the requesting of ads from the ad server.
  Use the delegate to receive the loaded ads or loading error
  in case of failure.

  #### Declaration

  Swift

      class IMAAdsLoader : NSObject

  Objective-C

      @interface IMAAdsLoader : NSObject

[## IMAAdsManager](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes#/IMAAdsManager)

- `


  ### [IMAAdsManager](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdsManager)


  ` The IMAAdsManager class is responsible for playing ads.

  #### Declaration

  Swift

      class IMAAdsManager : NSObject

  Objective-C

      @interface IMAAdsManager : NSObject

[## IMAAdsRenderingSettings](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes#/IMAAdsRenderingSettings)

- `


  ### [IMAAdsRenderingSettings](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdsRenderingSettings)


  ` Set of properties that influence how ads are rendered.

  #### Declaration

  Swift

      class IMAAdsRenderingSettings : NSObject

  Objective-C

      @interface IMAAdsRenderingSettings : NSObject

- `


  ### [IMAAdsRequest](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAAdsRequest)


  ` Data class describing the ad request.

  #### Declaration

  Swift

      class IMAAdsRequest : NSObject

  Objective-C

      @interface IMAAdsRequest : NSObject

- `


  ### [IMACompanionAd](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMACompanionAd)


  ` An object that holds data corresponding to the companion ad.

  #### Declaration

  Swift

      class IMACompanionAd : NSObject

  Objective-C

      @interface IMACompanionAd : NSObject

[## IMACompanionAdSlot](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes#/IMACompanionAdSlot)

- `


  ### [IMACompanionAdSlot](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMACompanionAdSlot)


  ` Ad slot for companion ads. The SDK will put a subview inside the provided
  UIView container. The companion will be matched to the width and height
  provided here. This class cannot be instantiated on tvOS, where companion ads
  are not available.

  #### Declaration

  Swift

      class IMACompanionAdSlot : NSObject

  Objective-C

      @interface IMACompanionAdSlot : NSObject

- `


  ### [IMACuepoint](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMACuepoint)


  ` Data object representation of a cuepoint for a single ad break.

  #### Declaration

  Swift

      class IMACuepoint : NSObject

  Objective-C

      @interface IMACuepoint : NSObject

- `


  ### [IMAFriendlyObstruction](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAFriendlyObstruction)


  ` An obstruction that is marked as "friendly" for viewability measurement purposes.

  #### Declaration

  Swift

      class IMAFriendlyObstruction : NSObject

  Objective-C

      @interface IMAFriendlyObstruction : NSObject

- `


  ### [IMALiveStreamRequest](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMALiveStreamRequest)


  ` Data object describing a live stream request.

  #### Declaration

  Swift

      class IMALiveStreamRequest : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAStreamRequest

  Objective-C

      @interface IMALiveStreamRequest : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAStreamRequest

- `


  ### [IMAPictureInPictureProxy](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAPictureInPictureProxy)


  ` A proxy class that lets IMA SDK detect entering and exiting
  Picture-in-Picture.

  To use the proxy, create an instance of `IMAPictureInPictureProxy` with the
  Picture-in-Picture delegate as an argument. Set the
  Picture-in-Picture controller's delegate to the proxy. For details, see
  [Picture in Picture](https://developers.google.com/interactive-media-ads/docs/sdks/ios/picture_in_picture).

  #### Declaration

  Swift

      class IMAPictureInPictureProxy : NSProxy, AVPictureInPictureControllerDelegate, AVPlayerViewControllerDelegate

  Objective-C

      @interface IMAPictureInPictureProxy
          : NSProxy <AVPictureInPictureControllerDelegate,
                     AVPlayerViewControllerDelegate>

- `


  ### [IMAPodStreamRequest](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAPodStreamRequest)


  ` Data object describing a stream request for a pod serving stream.

  #### Declaration

  Swift

      class IMAPodStreamRequest : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAStreamRequest

  Objective-C

      @interface IMAPodStreamRequest : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAStreamRequest

- `


  ### [IMAPodVODStreamRequest](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAPodVODStreamRequest)


  ` Data object describing a stream request for a third party stitched server-side ad insertion pod
  serving VOD stream.

  #### Declaration

  Swift

      class IMAPodVODStreamRequest : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAStreamRequest

  Objective-C

      @interface IMAPodVODStreamRequest : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAStreamRequest

- `


  ### [IMASecureSignals](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMASecureSignals)


  ` Stores the signal data for Secure Signals. Stores signals for Publisher Collected Signals only.

  #### Declaration

  Swift

      class IMASecureSignals : NSObject

  Objective-C

      @interface IMASecureSignals : NSObject

- `


  ### [IMASettings](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMASettings)


  ` The IMASettings class stores SDK wide settings.

  #### Declaration

  Swift

      class IMASettings : NSObject, NSCopying

  Objective-C

      @interface IMASettings : NSObject <NSCopying>

[## IMAStreamManager](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes#/IMAStreamManager)

- `


  ### [IMAStreamManager](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAStreamManager)


  ` The IMAStreamManager class is responsible for playing streams.

  #### Declaration

  Swift

      class IMAStreamManager : NSObject

  Objective-C

      @interface IMAStreamManager : NSObject

- `


  ### [IMAStreamRequest](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAStreamRequest)


  ` Data class describing the stream request.

  #### Declaration

  Swift

      class IMAStreamRequest : NSObject

  Objective-C

      @interface IMAStreamRequest : NSObject

- `


  ### [IMAUniversalAdID](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAUniversalAdID)


  ` Simple data object containing universal ad ID information.

  #### Declaration

  Swift

      class IMAUniversalAdID : NSObject

  Objective-C

      @interface IMAUniversalAdID : NSObject

- `


  ### [IMAVODStreamRequest](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAVODStreamRequest)


  ` Data object describing a VOD stream request.

  #### Declaration

  Swift

      class IMAVODStreamRequest : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAStreamRequest

  Objective-C

      @interface IMAVODStreamRequest : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAStreamRequest

- `


  ### [IMAVersion](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAVersion)


  ` Represents the IMA SDK version number.

  #### Declaration

  Swift

      class IMAVersion : NSObject

  Objective-C

      @interface IMAVersion : NSObject

- `


  ### [IMAVersionCheck](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes#/c:objc(cs)IMAVersionCheck)


  ` Verifies the minimum OS version IMA SDK supports is compatible with the
  minimum OS version of your app. If not compatible, your app fails to compile.

  #### Declaration

  Swift

      class IMAVersionCheck : NSObject

  Objective-C

      @interface IMAVersionCheck : NSObject

- `


  ### [IMAVideoStitcherLiveStreamRequest](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAVideoStitcherLiveStreamRequest)


  ` Data object describing a stream request for a Google video stitcher live serving stream.

  #### Declaration

  Swift

      class IMAVideoStitcherLiveStreamRequest : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAPodStreamRequest

  Objective-C

      @interface IMAVideoStitcherLiveStreamRequest : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAPodStreamRequest

- `


  ### [IMAVideoStitcherVODStreamRequest](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAVideoStitcherVODStreamRequest)


  ` Data object describing a stream request for a Google video stitcher video on demand serving
  stream.

  #### Declaration

  Swift

      class IMAVideoStitcherVODStreamRequest : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAStreamRequest

  Objective-C

      @interface IMAVideoStitcherVODStreamRequest : https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAStreamRequest