GoogleInteractiveMediaAds Framework Reference

IMAAdDisplayContainer

@interface IMAAdDisplayContainer : NSObject

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

  • View containing the video display and ad related UI. This view must be present in the view hierarchy in order to make ad or stream requests.

    Declaration

    Swift

    var adContainer: UIView { get }

    Objective-C

    @property (nonatomic, readonly) UIView *_Nonnull adContainer;
  • View controller containing the ad container. Used to present ad UI in child view controllers. It must be non-nil in order to make ad or stream requests, and it must be in the view hierarchy before ad playback.

    Declaration

    Swift

    weak var adContainerViewController: UIViewController? { get set }

    Objective-C

    @property (nonatomic, weak, nullable) UIViewController *adContainerViewController;
  • The environment to focus on during an ad break. Nil if there is not currently an ad break.

    Declaration

    Swift

    var focusEnvironment: (any UIFocusEnvironment)? { get }

    Objective-C

    @property (nonatomic, readonly, nullable) id<UIFocusEnvironment> focusEnvironment;
  • List of companion ad slots. Can be nil or empty.

    Declaration

    Swift

    var companionSlots: [IMACompanionAdSlot]? { get }

    Objective-C

    @property (nonatomic, readonly, nullable) NSArray<IMACompanionAdSlot *> *companionSlots;
  • Initializes IMAAdDisplayContainer for rendering the ad and displaying the ad UI without any companion slots.

    Declaration

    Swift

    init(adContainer: UIView, viewController adContainerViewController: UIViewController?)

    Objective-C

    - (nonnull instancetype)initWithAdContainer:(nonnull UIView *)adContainer
                                 viewController:(nullable UIViewController *)
                                                    adContainerViewController;

    Parameters

    adContainer

    The view where the ad will be rendered. Fills the view’s bounds.

    adContainerViewController

    The view controller containing the ad container. If not provided here, must be set on the property before making an ads or stream request.

    Return Value

    A new IMAAdDisplayContainer instance

  • Initializes IMAAdDisplayContainer for rendering the ad and displaying the ad UI.

    Declaration

    Swift

    init(adContainer: UIView, viewController adContainerViewController: UIViewController?, companionSlots: [IMACompanionAdSlot]?)

    Objective-C

    - (nonnull instancetype)
        initWithAdContainer:(nonnull UIView *)adContainer
             viewController:(nullable UIViewController *)adContainerViewController
             companionSlots:
                 (nullable NSArray<IMACompanionAdSlot *> *)companionSlots;

    Parameters

    adContainer

    The view where the ad will be rendered. Fills the view’s bounds.

    adContainerViewController

    The view controller containing the ad container. If not provided here, must be set on the property before making an ads or stream request.

    companionSlots

    The array of IMACompanionAdSlots. Can be nil or empty.

    Return Value

    A new IMAAdDisplayContainer instance

  • Registers a view that overlays or obstructs this container as “friendly” for viewability measurement purposes.

    See Open Measurement in the IMA SDK for guidance on what is and what is not allowed to be registered.

    Declaration

    Swift

    func register(_ friendlyObstruction: IMAFriendlyObstruction)

    Objective-C

    - (void)registerFriendlyObstruction:
        (nonnull IMAFriendlyObstruction *)friendlyObstruction;

    Parameters

    friendlyObstruction

    An obstruction to be marked as “friendly” until unregistered.

  • Unregisters all previously registered friendly obstructions.

    Declaration

    Swift

    func unregisterAllFriendlyObstructions()

    Objective-C

    - (void)unregisterAllFriendlyObstructions;