GoogleInteractiveMediaAds Framework Reference

  • IMAVideoDisplay is a protocol used for ad playback, allowing publishers to manage video content within their applications.

  • It provides controls for playback, such as play, pause, reset, and seekStreamToTime, enabling basic video interactions.

  • Publishers can use the delegate property to receive player events from the SDK.

  • loadStream method facilitates the loading of video streams with optional subtitles, catering to dynamic ad insertion for VOD streams.

  • The volume property allows adjusting the ad's volume relative to the device's overall volume.

IMAVideoDisplay

@protocol IMAVideoDisplay <IMAAdPlaybackInfo>

Declares a simple video display class used for ad playback.

  • Allows the publisher to send player events to the SDK.

    Declaration

    Swift

    weak var delegate: (any IMAVideoDisplayDelegate)? { get set }

    Objective-C

    @property (nonatomic, weak, nullable) id<IMAVideoDisplayDelegate> delegate;
  • Set and get the volume for the current ad. From 0 (muted) to 1 (loudest). This volume is relative to device volume, not absolute. Default value is 1.

    Declaration

    Swift

    var volume: Float { get set }

    Objective-C

    @property (nonatomic) float volume;
  • Called to inform the VideoDisplay to load the passed URL with the subtitles for the stream. Subtitles are available only for dynamic ad insertion VOD streams and can be ignored for client side ads or dynamic ad insertion live streams.

    Declaration

    Swift

    func loadStream(_ streamURL: URL, withSubtitles subtitles: [[String : String]])

    Objective-C

    - (void)loadStream:(nonnull NSURL *)streamURL
         withSubtitles:
             (nonnull NSArray<NSDictionary<NSString *, NSString *> *> *)subtitles;

    Parameters

    streamURL

    the URL of the stream

    subtitles

    the subtitles for the stream. Each entry in the subtitles array is an NSDictionary that corresponds to a language. Each dictionary will have a language key with a two letter language string value, a language name to specify the set of subtitles if multiple sets exist for the same language, and one or more subtitle key/value pairs. Here’s an example NSDictionary for English:

               "language" -> "en"
               "language_name" -> "English"
               "webvtt" -> "https://somedomain.com/vtt/en.vtt"
               "ttml" -> "https://somedomain.com/ttml/en.ttml"
    
  • Called to inform the VideoDisplay to play.

    Declaration

    Swift

    func play()

    Objective-C

    - (void)play;
  • Called to inform the VideoDisplay to pause.

    Declaration

    Swift

    func pause()

    Objective-C

    - (void)pause;
  • Called to remove all video assets from the player.

    Declaration

    Swift

    func reset()

    Objective-C

    - (void)reset;
  • Called to inform that the stream needs to be seeked to the given time.

    Declaration

    Swift

    func seekStream(toTime time: TimeInterval)

    Objective-C

    - (void)seekStreamToTime:(NSTimeInterval)time;

    Parameters

    time

    the time to which the stream should be seeked