GoogleInteractiveMediaAds Framework Reference

Classes

The following classes are available globally.

  • 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, IMAContentPlayhead

    Objective-C

    @interface IMAAVPlayerContentPlayhead : NSObject <IMAContentPlayhead>
  • 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, IMAVideoDisplay

    Objective-C

    @interface IMAAVPlayerVideoDisplay : NSObject <IMAVideoDisplay>
  • Data object representing a single ad.

    Declaration

    Swift

    class IMAAd : NSObject

    Objective-C

    @interface IMAAd : NSObject
  • 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
  • Surfaces an error that occurred during ad loading or playing.

    Declaration

    Swift

    class IMAAdError : NSObject

    Objective-C

    @interface IMAAdError : NSObject
  • Simple data class used to transport ad playback information.

    Declaration

    Swift

    class IMAAdEvent : NSObject

    Objective-C

    @interface IMAAdEvent : NSObject
  • Simple data object containing podding metadata.

    Declaration

    Swift

    class IMAAdPodInfo : NSObject

    Objective-C

    @interface IMAAdPodInfo : NSObject
  • Ad data that is returned when the ads loader loads the ad.

    Declaration

    Swift

    class IMAAdsLoadedData : NSObject

    Objective-C

    @interface IMAAdsLoadedData : NSObject
  • 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
  • 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
  • The IMAAdsManager class is responsible for playing ads.

    Declaration

    Swift

    class IMAAdsManager : NSObject

    Objective-C

    @interface IMAAdsManager : NSObject
  • Set of properties that influence how ads are rendered.

    Declaration

    Swift

    class IMAAdsRenderingSettings : NSObject

    Objective-C

    @interface IMAAdsRenderingSettings : NSObject
  • Data class describing the ad request.

    Declaration

    Swift

    class IMAAdsRequest : NSObject

    Objective-C

    @interface IMAAdsRequest : NSObject
  • An object that holds data corresponding to the companion ad.

    Declaration

    Swift

    class IMACompanionAd : NSObject

    Objective-C

    @interface IMACompanionAd : NSObject
  • 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
  • Data object representation of a cuepoint for a single ad break.

    Declaration

    Swift

    class IMACuepoint : NSObject

    Objective-C

    @interface IMACuepoint : NSObject
  • An obstruction that is marked as “friendly” for viewability measurement purposes.

    Declaration

    Swift

    class IMAFriendlyObstruction : NSObject

    Objective-C

    @interface IMAFriendlyObstruction : NSObject
  • Data object describing a live stream request.

    Declaration

    Swift

    class IMALiveStreamRequest : IMAStreamRequest

    Objective-C

    @interface IMALiveStreamRequest : IMAStreamRequest
  • Undocumented

    Declaration

    Swift

    class IMAPictureInPictureProxy : NSProxy, AVPictureInPictureControllerDelegate, AVPlayerViewControllerDelegate

    Objective-C

    @interface IMAPictureInPictureProxy
        : NSProxy <AVPictureInPictureControllerDelegate, AVPlayerViewControllerDelegate>
    #else
    @interface IMAPictureInPictureProxy : NSObject
    #endif
    /**
     * Whether or not Picture-in-Picture is currently active.
     */
    @property(nonatomic, readonly, getter=isPictureInPictureActive) BOOL pictureInPictureActive;
    
    /**
     * Whether or not Picture-in-Picture is supported on this device.
     */
    + (BOOL)isPictureInPictureSupported;
    
    /**
     * Instantiates an IMAPictureInPictureProxy that will proxy delegate
     * messages from an AVPictureInPictureController, and forward them
     * to the AVPictureInPictureControllerDelegate passed on init.
     *
     * @param delegate the AVPictureInPictureControllerDelegate
     *
     * @return an IMAPictureInPictureProxy instance
     */
    - (instancetype)initWithAVPictureInPictureControllerDelegate:
        (id<AVPictureInPictureControllerDelegate>)delegate API_AVAILABLE(ios(9.0), tvos(14.0));
    
    /**
     * Instantiates an IMAPictureInPictureProxy that will proxy delegate
     * messages from an AVPlayerViewController, and forward them to the
     * AVPlayerViewControllerDelegate passed on init.
     *
     * @param delegate the AVPlayerViewControllerDelegate
     *
     * @return an IMAPictureInPictureProxy instance
     */
    - (instancetype)initWithAVPlayerViewControllerDelegate:(id<AVPlayerViewControllerDelegate>)delegate
        API_AVAILABLE(ios(9.0), tvos(14.0));
    
    @end
  • Data object describing a stream request for a pod serving stream.

    Declaration

    Swift

    class IMAPodStreamRequest : IMAStreamRequest

    Objective-C

    @interface IMAPodStreamRequest : IMAStreamRequest
  • Data object describing a stream request for a third party stitched server-side ad insertion pod serving VOD stream.

    Declaration

    Swift

    class IMAPodVODStreamRequest : IMAStreamRequest

    Objective-C

    @interface IMAPodVODStreamRequest : IMAStreamRequest
  • Undocumented

    Declaration

    Swift

    class IMASecureSignals : NSObject

    Objective-C

    @interface IMASecureSignals : NSObject
    
    /**
     * Secure Signal with custom data sent with ads request. Secure Signal with custom
     * data is an encrypted blob containing signals collected by the publisher and previously agreed
     * upon by the publisher and bidder。
     */
    
    @property(nonatomic, copy, readonly) NSString *customData;
    
    - (instancetype)initWithCustomData:(NSString *)customData NS_DESIGNATED_INITIALIZER;
    
    /**
     * :nodoc:
     */
    - (instancetype)init NS_UNAVAILABLE;
    
    @end
  • The IMASettings class stores SDK wide settings.

    Declaration

    Swift

    class IMASettings : NSObject, NSCopying

    Objective-C

    @interface IMASettings : NSObject <NSCopying>
  • The IMAStreamManager class is responsible for playing streams.

    Declaration

    Swift

    class IMAStreamManager : NSObject

    Objective-C

    @interface IMAStreamManager : NSObject
  • Data class describing the stream request.

    Declaration

    Swift

    class IMAStreamRequest : NSObject

    Objective-C

    @interface IMAStreamRequest : NSObject
  • Simple data object containing universal ad ID information.

    Declaration

    Swift

    class IMAUniversalAdID : NSObject

    Objective-C

    @interface IMAUniversalAdID : NSObject
  • Data object describing a VOD stream request.

    Declaration

    Swift

    class IMAVODStreamRequest : IMAStreamRequest

    Objective-C

    @interface IMAVODStreamRequest : IMAStreamRequest
  • Undocumented

    Declaration

    Swift

    class IMAVersion : NSObject

    Objective-C

    @interface IMAVersion : NSObject
    /** Major version. */
    @property(nonatomic) NSInteger majorVersion;
    /** Minor version. */
    @property(nonatomic) NSInteger minorVersion;
    /** Patch version. */
    @property(nonatomic) NSInteger patchVersion;
    @end
  • Data object describing a stream request for a Google video stitcher live serving stream.

    Declaration

    Swift

    class IMAVideoStitcherLiveStreamRequest : IMAPodStreamRequest

    Objective-C

    @interface IMAVideoStitcherLiveStreamRequest : IMAPodStreamRequest
  • Data object describing a stream request for a Google video stitcher video on demand serving stream.

    Declaration

    Swift

    class IMAVideoStitcherVODStreamRequest : IMAStreamRequest

    Objective-C

    @interface IMAVideoStitcherVODStreamRequest : IMAStreamRequest