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.
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.
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.
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.
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.
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.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-01-14 UTC."],[[["\u003cp\u003e\u003ccode\u003eIMAStreamRequest\u003c/code\u003e is a data class that describes the stream request, including ad display, video display, and authorization details.\u003c/p\u003e\n"],["\u003cp\u003ePublishers can customize stream requests with parameters such as API keys, auth tokens, ad tag parameters, and manifest URL suffixes.\u003c/p\u003e\n"],["\u003cp\u003eIt also includes optional features like content URL for universal links, secure signals for custom data, and stream activity monitor ID for debugging.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eIMAStreamRequest\u003c/code\u003e allows publishers to integrate their content with Google's Interactive Media Ads (IMA) SDK for monetization and ad delivery in live and on-demand streams.\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;"]]