GoogleInteractiveMediaAds Framework Reference
Stay organized with collections
Save and categorize content based on your preferences.
IMAStreamRequest
@interface IMAStreamRequest : NSObject
Data class describing the stream request.
-
The network code for the publisher making this stream request. Network codes are required for Pod
serving stream requests (made with IMAPodStreamRequest or IMAPodVODStreamRequest) and Cloud
stitching stream requests (IMAVideoStitcherLiveStreamRequest or IMAVideoStitcherVODStreamRequest)
and are optional but recommended for Full service stream requests (IMALiveStreamRequest or
IMAVODStreamRequest). The code is used to apply settings selected in the Ad Manager UI such as
programmatic limited ads enablement. For Pod serving and Cloud stitching it is also used to
locate and play the stream. To find the network code, see
this article.
Declaration
Swift
var networkCode: String? { get }
Objective-C
@property (nonatomic, readonly, nullable) NSString *networkCode;
-
The stream display container for displaying the ad UI.
-
The video display where the stream can be played.
Declaration
Objective-C
@property (nonatomic, readonly) id<IMAVideoDisplay> _Nonnull videoDisplay;
-
The stream request API key. It’s configured through the
DFP Admin UI and provided to the publisher to unlock their content.
It verifies the applications that are attempting to access the content.
Declaration
Swift
var apiKey: String? { get set }
Objective-C
@property (nonatomic, copy, nullable) NSString *apiKey;
-
The stream request authorization token. This is used in place of the API key for stricter
content authorization. The publisher can control individual content streams authorized based
on this token.
Declaration
Swift
var authToken: String? { get set }
Objective-C
@property (nonatomic, copy, nullable) NSString *authToken;
-
The ID to be used to debug the stream with the stream activity monitor. This is used to provide
a convenient way to allow publishers to find a stream log in the stream activity monitor tool.
Declaration
Swift
var streamActivityMonitorID: String? { get set }
Objective-C
@property (nonatomic, copy, nullable) NSString *streamActivityMonitorID;
-
Declaration
Swift
var adTagParameters: [String : String]? { get set }
Objective-C
@property (nonatomic, copy, nullable) NSDictionary<NSString *, NSString *> *adTagParameters;
-
The suffix that the SDK will append to the query of the stream manifest URL. Do not include the
‘?’ separator at the start. The SDK will account for the existence of parameters in the URL
already, removing existing ones that collide with ones supplied here. This suffix needs to be
sanitized and encoded as the SDK will not do this.
Declaration
Swift
var manifestURLSuffix: String? { get set }
Objective-C
@property (nonatomic, copy, nullable) NSString *manifestURLSuffix;
-
Specifies the universal link to the content’s screen. If provided, this parameter is passed to
the OM SDK. See Apple
documentation for more information.
Declaration
Swift
var contentURL: URL? { get set }
Objective-C
@property (nonatomic, copy, nullable) NSURL *contentURL;
-
Specifies the Secure Signal with custom data for this stream 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. The Secure Signal with custom data can be cleared out by
passing null to this function.
Declaration
Objective-C
@property (nonatomic, strong, nullable) IMASecureSignals *secureSignals;
-
Declaration
Swift
var userContext: Any? { get }
Objective-C
@property (nonatomic, readonly, nullable) id userContext;
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-20 UTC.
[null,null,["Last updated 2025-08-20 UTC."],[[["\u003cp\u003e\u003ccode\u003eIMAStreamRequest\u003c/code\u003e is a data class that describes a stream request for the IMA SDK.\u003c/p\u003e\n"],["\u003cp\u003eIt contains properties like \u003ccode\u003eadDisplayContainer\u003c/code\u003e and \u003ccode\u003evideoDisplay\u003c/code\u003e for ad UI and stream playback.\u003c/p\u003e\n"],["\u003cp\u003eAuthentication and authorization can be handled using \u003ccode\u003eapiKey\u003c/code\u003e or the more secure \u003ccode\u003eauthToken\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003ePublishers can customize ad requests using parameters like \u003ccode\u003eadTagParameters\u003c/code\u003e and \u003ccode\u003emanifestURLSuffix\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt supports features like stream activity monitoring (\u003ccode\u003estreamActivityMonitorID\u003c/code\u003e) and Secure Signals (\u003ccode\u003esecureSignals\u003c/code\u003e) for advanced integrations.\u003c/p\u003e\n"]]],[],null,["# GoogleInteractiveMediaAds Framework Reference\n\nIMAStreamRequest\n================\n\n @interface IMAStreamRequest : NSObject\n\nData class describing the stream request.\n- `\n ``\n ``\n `\n\n ### [networkCode](#/c:objc(cs)IMAStreamRequest(py)networkCode)\n\n `\n ` \n The network code for the publisher making this stream request. Network codes are required for Pod\n serving stream requests (made with IMAPodStreamRequest or IMAPodVODStreamRequest) and Cloud\n stitching stream requests (IMAVideoStitcherLiveStreamRequest or IMAVideoStitcherVODStreamRequest)\n and are optional but recommended for Full service stream requests (IMALiveStreamRequest or\n IMAVODStreamRequest). The code is used to apply settings selected in the Ad Manager UI such as\n programmatic limited ads enablement. For Pod serving and Cloud stitching it is also used to\n locate and play the stream. To find the network code, see\n [this article](//support.google.com/admanager/answer/7674889). \n\n #### Declaration\n\n Swift \n\n var networkCode: String? { get }\n\n Objective-C \n\n @property (nonatomic, readonly, nullable) NSString *networkCode;\n\n- `\n ``\n ``\n `\n\n ### [adDisplayContainer](#/c:objc(cs)IMAStreamRequest(py)adDisplayContainer)\n\n `\n ` \n The stream display container for displaying the ad UI. \n\n #### Declaration\n\n Swift \n\n var adDisplayContainer: ../Classes/IMAAdDisplayContainer.html { get }\n\n Objective-C \n\n @property (nonatomic, readonly) ../Classes/IMAAdDisplayContainer.html *_Nonnull adDisplayContainer;\n\n- `\n ``\n ``\n `\n\n ### [videoDisplay](#/c:objc(cs)IMAStreamRequest(py)videoDisplay)\n\n `\n ` \n The video display where the stream can be played. \n\n #### Declaration\n\n Swift \n\n var videoDisplay: any ../Protocols/IMAVideoDisplay.html { get }\n\n Objective-C \n\n @property (nonatomic, readonly) id\u003c../Protocols/IMAVideoDisplay.html\u003e _Nonnull videoDisplay;\n\n- `\n ``\n ``\n `\n\n ### [apiKey](#/c:objc(cs)IMAStreamRequest(py)apiKey)\n\n `\n ` \n The stream request API key. It's configured through the\n [DFP Admin UI](//support.google.com/dfp_premium/answer/6381445) and provided to the publisher to unlock their content.\n It verifies the applications that are attempting to access the content. \n\n #### Declaration\n\n Swift \n\n var apiKey: String? { get set }\n\n Objective-C \n\n @property (nonatomic, copy, nullable) NSString *apiKey;\n\n- `\n ``\n ``\n `\n\n ### [authToken](#/c:objc(cs)IMAStreamRequest(py)authToken)\n\n `\n ` \n The stream request authorization token. This is used in place of the API key for stricter\n content authorization. The publisher can control individual content streams authorized based\n on this token. \n\n #### Declaration\n\n Swift \n\n var authToken: String? { get set }\n\n Objective-C \n\n @property (nonatomic, copy, nullable) NSString *authToken;\n\n- `\n ``\n ``\n `\n\n ### [streamActivityMonitorID](#/c:objc(cs)IMAStreamRequest(py)streamActivityMonitorID)\n\n `\n ` \n The ID to be used to debug the stream with the stream activity monitor. This is used to provide\n a convenient way to allow publishers to find a stream log in the stream activity monitor tool. \n\n #### Declaration\n\n Swift \n\n var streamActivityMonitorID: String? { get set }\n\n Objective-C \n\n @property (nonatomic, copy, nullable) NSString *streamActivityMonitorID;\n\n- `\n ``\n ``\n `\n\n ### [adTagParameters](#/c:objc(cs)IMAStreamRequest(py)adTagParameters)\n\n `\n ` \n You can override a limited set of ad tag parameters on your stream request.\n [Supply targeting parameters to your stream](//support.google.com/dfp_premium/answer/7320899) provides more information.\n\n You can use the dai-ot and dai-ov parameters for stream variant preference.\n See [Override Stream Variant Parameters](//support.google.com/dfp_premium/answer/7320898) for more information. \n\n #### Declaration\n\n Swift \n\n var adTagParameters: [String : String]? { get set }\n\n Objective-C \n\n @property (nonatomic, copy, nullable) NSDictionary\u003cNSString *, NSString *\u003e *adTagParameters;\n\n- `\n ``\n ``\n `\n\n ### [manifestURLSuffix](#/c:objc(cs)IMAStreamRequest(py)manifestURLSuffix)\n\n `\n ` \n The suffix that the SDK will append to the query of the stream manifest URL. Do not include the\n '?' separator at the start. The SDK will account for the existence of parameters in the URL\n already, removing existing ones that collide with ones supplied here. This suffix needs to be\n sanitized and encoded as the SDK will not do this. \n\n #### Declaration\n\n Swift \n\n var manifestURLSuffix: String? { get set }\n\n Objective-C \n\n @property (nonatomic, copy, nullable) NSString *manifestURLSuffix;\n\n- `\n ``\n ``\n `\n\n ### [contentURL](#/c:objc(cs)IMAStreamRequest(py)contentURL)\n\n `\n ` \n Specifies the universal link to the content's screen. If provided, this parameter is passed to\n the OM SDK. See [Apple\n documentation](//developer.apple.com/documentation/uikit/inter-process_communication/allowing_apps_and_websites_to_link_to_your_content) for more information. \n\n #### Declaration\n\n Swift \n\n var contentURL: URL? { get set }\n\n Objective-C \n\n @property (nonatomic, copy, nullable) NSURL *contentURL;\n\n- `\n ``\n ``\n `\n\n ### [secureSignals](#/c:objc(cs)IMAStreamRequest(py)secureSignals)\n\n `\n ` \n Specifies the Secure Signal with custom data for this stream request. Secure Signal with custom\n data is an encrypted blob containing signals collected by the publisher and previously agreed\n upon by the publisher and bidder. The Secure Signal with custom data can be cleared out by\n passing null to this function. \n\n #### Declaration\n\n Swift \n\n var secureSignals: ../Classes/IMASecureSignals.html? { get set }\n\n Objective-C \n\n @property (nonatomic, strong, nullable) ../Classes/IMASecureSignals.html *secureSignals;\n\n- `\n ``\n ``\n `\n\n ### [userContext](#/c:objc(cs)IMAStreamRequest(py)userContext)\n\n `\n ` \n The user context. \n\n #### Declaration\n\n Swift \n\n var userContext: Any? { get }\n\n Objective-C \n\n @property (nonatomic, readonly, nullable) id userContext;"]]