Class LiveStream
A LiveStream encapsulates all the information necessary to enable DAI (Dynamic Ad Insertion) into a live video stream. This includes information such as the start and expected end time of the live stream, the URL of the actual content for Ad Manager to pull and insert ads into, as well as the metadata necessary to generate ad requests during the live stream.
Implements
Namespace: Google.Ads.AdManager.V1
Assembly: Google.Ads.AdManager.V1.dll
Syntax
public sealed class LiveStream : IMessage<LiveStream>, IEquatable<LiveStream>, IDeepCloneable<LiveStream>, IBufferMessage, IMessage
Constructors
LiveStream()
Declaration
public LiveStream()
LiveStream(LiveStream)
Declaration
public LiveStream(LiveStream other)
Parameters
| Type | Name | Description |
|---|---|---|
| LiveStream | other |
Properties
AdBreakFillType
Optional. The type of content that should be used to fill an empty ad break. Defaults to [SLATE][google.ads.admanager.v1.AdBreakFillTypeEnum.AdBreakFillType.SLATE].
Declaration
public AdBreakFillTypeEnum.Types.AdBreakFillType AdBreakFillType { get; set; }
Property Value
| Type | Description |
|---|---|
| AdBreakFillTypeEnum.Types.AdBreakFillType |
AdBreakMarkupTypesEnabled
Optional. Whether this LiveStream is specifying a subset of supported
adBreakMarkups. If this field is false, all supported formats will be
treated as ad break start/end markers.
Declaration
public bool AdBreakMarkupTypesEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
AdBreakMarkups
Optional. The formats that will be recognized as ad break start/end
markers. This field is ignored if adBreakMarkupTypesEnabled is false.
Declaration
public RepeatedField<AdBreakMarkupTypeEnum.Types.AdBreakMarkupType> AdBreakMarkups { get; }
Property Value
| Type | Description |
|---|---|
| RepeatedField<AdBreakMarkupTypeEnum.Types.AdBreakMarkupType> |
AdHolidayDuration
Optional. The duration, starting from the time the user enters the DAI stream, for which mid-roll decisioning will be skipped. This field is only applicable when an ad holiday is requested in the stream create request. Defaults to 0.
Declaration
public Duration AdHolidayDuration { get; set; }
Property Value
| Type | Description |
|---|---|
| Duration |
AdMediaDeliveryConfig
Optional. The CdnConfiguration that provide settings for delivering ad media associated with this source. Format: "networks/{network_code}/cdnConfigs/{cdn_config_id}"
Declaration
public string AdMediaDeliveryConfig { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
AdMediaDeliveryConfigAsCdnConfigName
CdnConfigName-typed view over the AdMediaDeliveryConfig resource name property.
Declaration
public CdnConfigName AdMediaDeliveryConfigAsCdnConfigName { get; set; }
Property Value
| Type | Description |
|---|---|
| CdnConfigName |
AdPodTrimTolerance
Optional. The maximum amount of time by which a stitched ad pod is allowed to be trimmed before whole ads are dropped instead.
Declaration
public Duration AdPodTrimTolerance { get; set; }
Property Value
| Type | Description |
|---|---|
| Duration |
AdTags
Required. The list of Ad Manager ad tag URLs generated by the Ad Manager trafficking workflow that are associated with this live stream. Currently, the list includes only one element: the master ad tag.
Declaration
public RepeatedField<string> AdTags { get; }
Property Value
| Type | Description |
|---|---|
| RepeatedField<string> |
AllowlistedIpsEnabled
Optional. Whether specific allowlisted IP addresses should be used to access this live stream. Will default to false. To set this field a network needs to have the "Video live allowlisted IPS enabled" feature enabled. Modifying this field for an active live stream can impact traffic.
Declaration
public bool AllowlistedIpsEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
AssetKey
Output only. The code used in constructing a live stream master playlist URL.
Declaration
public string AssetKey { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
AuxiliaryAdSettings
Optional. The auxiliary ad tag settings for this live stream.
Declaration
public AuxiliaryAdSettings AuxiliaryAdSettings { get; set; }
Property Value
| Type | Description |
|---|---|
| AuxiliaryAdSettings |
ContentUrls
Required. The list of URLs pointing to the live stream content in Content Delivery Network. Can be modified when the live stream is in a [PAUSED][google.ads.admanager.v1.LiveStreamEventStatusEnum.LiveStreamEventStatus.PAUSED] state.
Declaration
public RepeatedField<string> ContentUrls { get; }
Property Value
| Type | Description |
|---|---|
| RepeatedField<string> |
CreateTime
Output only. The date and time this LiveStream was created.
Declaration
public Timestamp CreateTime { get; set; }
Property Value
| Type | Description |
|---|---|
| Timestamp |
CustomAssetKey
Immutable. An additional code that can be used in constructing live stream event URLs. Can only be set for pod serving live streams. The custom asset key may be at most 64 characters and can contain alphanumeric characters and symbols other than the following: ", ', =, !, +, #, *, ~, ;, ^, (, ), <, >, [, ], the white space character.
Declaration
public string CustomAssetKey { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
DefaultAdBreakDuration
Optional. The default ad pod duration that will be requested when an ad break cue-out does not specify a duration. Defaults to 0.
Declaration
public Duration DefaultAdBreakDuration { get; set; }
Property Value
| Type | Description |
|---|---|
| Duration |
DisplayName
Required. The name of the LiveStream. This value has a maximum length of 255 characters.
Declaration
public string DisplayName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
DynamicAdInsertionType
Immutable. The method of dynamic ad insertion that is used to insert ads into this live stream. Defaults to DynamicAdInsertionType.LINEAR.
Declaration
public DynamicAdInsertionTypeEnum.Types.DynamicAdInsertionType DynamicAdInsertionType { get; set; }
Property Value
| Type | Description |
|---|---|
| DynamicAdInsertionTypeEnum.Types.DynamicAdInsertionType |
EarlyBreakNotificationMultiBreakSchedulingEnabled
Optional. Indicates whether multi-break scheduling via Early Break Notification (EBN) is enabled for this LiveStream.
Declaration
public bool EarlyBreakNotificationMultiBreakSchedulingEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
EffectiveAssetKey
Output only. The effective asset key of the live stream. This is the user-defined custom_asset_key if specified; otherwise, it falls back to the autogenerated asset_key.
Declaration
public string EffectiveAssetKey { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
EnableDaiAuthenticationKeys
Optional. Whether the live stream's requests to the IMA SDK API will be authenticated using the DAI authentication keys.
Declaration
public bool EnableDaiAuthenticationKeys { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
EnableDurationlessAdBreaks
Optional. Whether there will be durationless ad breaks in this live stream.
If true, defaultAdBreakDuration should be specified. Defaults to false.
Declaration
public bool EnableDurationlessAdBreaks { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
EnableMaxFillerDuration
Optional. Whether there will be max filler duration in this live stream. If true, maxFillerDuration should be specified. Defaults to false.
Declaration
public bool EnableMaxFillerDuration { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
EndTime
Optional. The scheduled end date and time of this LiveStream. This
attribute is required if unlimitedEndDateTime is false and ignored if
unlimitedEndDateTime is true. Modifying this attribute for an active live
stream can impact traffic.
Declaration
public Timestamp EndTime { get; set; }
Property Value
| Type | Description |
|---|---|
| Timestamp |
EndTimeUnlimited
Optional. Whether the LiveStream has an end time. Defaults to false. If
this field is true, endDateTime is ignored.
Declaration
public bool EndTimeUnlimited { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
ForcedCueInEnabled
Optional. Whether live stream placement opportunities without #EXT-CUE-IN
markers should be force closed. Defaults to false. To set this field a
network needs to have the "Video live stream forced cue in" feature
enabled.
Declaration
public bool ForcedCueInEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
HasAdBreakFillType
Gets whether the "ad_break_fill_type" field is set
Declaration
public bool HasAdBreakFillType { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasAdBreakMarkupTypesEnabled
Gets whether the "ad_break_markup_types_enabled" field is set
Declaration
public bool HasAdBreakMarkupTypesEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasAdMediaDeliveryConfig
Gets whether the "ad_media_delivery_config" field is set
Declaration
public bool HasAdMediaDeliveryConfig { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasAllowlistedIpsEnabled
Gets whether the "allowlisted_ips_enabled" field is set
Declaration
public bool HasAllowlistedIpsEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasAssetKey
Gets whether the "asset_key" field is set
Declaration
public bool HasAssetKey { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasCustomAssetKey
Gets whether the "custom_asset_key" field is set
Declaration
public bool HasCustomAssetKey { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasDisplayName
Gets whether the "display_name" field is set
Declaration
public bool HasDisplayName { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasDynamicAdInsertionType
Gets whether the "dynamic_ad_insertion_type" field is set
Declaration
public bool HasDynamicAdInsertionType { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasEarlyBreakNotificationMultiBreakSchedulingEnabled
Gets whether the "early_break_notification_multi_break_scheduling_enabled" field is set
Declaration
public bool HasEarlyBreakNotificationMultiBreakSchedulingEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasEffectiveAssetKey
Gets whether the "effective_asset_key" field is set
Declaration
public bool HasEffectiveAssetKey { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasEnableDaiAuthenticationKeys
Gets whether the "enable_dai_authentication_keys" field is set
Declaration
public bool HasEnableDaiAuthenticationKeys { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasEnableDurationlessAdBreaks
Gets whether the "enable_durationless_ad_breaks" field is set
Declaration
public bool HasEnableDurationlessAdBreaks { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasEnableMaxFillerDuration
Gets whether the "enable_max_filler_duration" field is set
Declaration
public bool HasEnableMaxFillerDuration { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasEndTimeUnlimited
Gets whether the "end_time_unlimited" field is set
Declaration
public bool HasEndTimeUnlimited { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasForcedCueInEnabled
Gets whether the "forced_cue_in_enabled" field is set
Declaration
public bool HasForcedCueInEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasPrefetchEnabled
Gets whether the "prefetch_enabled" field is set
Declaration
public bool HasPrefetchEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasRelativePlaylistDeliveryEnabled
Gets whether the "relative_playlist_delivery_enabled" field is set
Declaration
public bool HasRelativePlaylistDeliveryEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasShortSegmentDroppingEnabled
Gets whether the "short_segment_dropping_enabled" field is set
Declaration
public bool HasShortSegmentDroppingEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasStatus
Gets whether the "status" field is set
Declaration
public bool HasStatus { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasStreamingFormat
Gets whether the "streaming_format" field is set
Declaration
public bool HasStreamingFormat { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HasUnderfillAdBreakFillType
Gets whether the "underfill_ad_break_fill_type" field is set
Declaration
public bool HasUnderfillAdBreakFillType { get; }
Property Value
| Type | Description |
|---|---|
| bool |
HlsSettings
Optional. The settings that are specific to HTTPS live streaming (HLS) protocol. If it is not set will use the default HLS settings.
Declaration
public HlsSettings HlsSettings { get; set; }
Property Value
| Type | Description |
|---|---|
| HlsSettings |
LiveStreamConditioning
Optional. The conditioning to apply to this LiveStream.
Declaration
public LiveStreamConditioning LiveStreamConditioning { get; set; }
Property Value
| Type | Description |
|---|---|
| LiveStreamConditioning |
LiveStreamName
LiveStreamName-typed view over the Name resource name property.
Declaration
public LiveStreamName LiveStreamName { get; set; }
Property Value
| Type | Description |
|---|---|
| LiveStreamName |
MaxFillerDuration
Optional. The maximum duration that can be used to fill this ad pod, either with a slate or underlying content, depending on your settings. If more time needs to be filled, the ad pod will instead be dropped and the underlying content will be served.
Declaration
public Duration MaxFillerDuration { get; set; }
Property Value
| Type | Description |
|---|---|
| Duration |
Name
Identifier. The resource name of the LiveStream.
Format: networks/{network_code}/liveStreams/{live_stream_id}
Declaration
public string Name { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
PodServingSegmentDuration
Optional. The duration that can be used when stitching ads for each livestream event. This attribute is only available for Pod Serving HLS Segment Redirect and Pod Serving Dash Segment Redirect.
Declaration
public Duration PodServingSegmentDuration { get; set; }
Property Value
| Type | Description |
|---|---|
| Duration |
PrefetchEnabled
Optional. Indicates whether the option to prefetch ad requests is enabled.
Declaration
public bool PrefetchEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
PrefetchSettings
Optional. The information needed to prefetch ad requests for an ad break.
Declaration
public PrefetchSettings PrefetchSettings { get; set; }
Property Value
| Type | Description |
|---|---|
| PrefetchSettings |
PrerollSettings
Optional. The settings specific to Preroll ad breaks. If null, this livestream does not have prerolls enabled.
Declaration
public PrerollSettings PrerollSettings { get; set; }
Property Value
| Type | Description |
|---|---|
| PrerollSettings |
RelativePlaylistDeliveryEnabled
Optional. Whether the served playlists can include relative URLs. Defaults to false. To set this field a network needs to have the "Video live stream relative playlist URLs" feature enabled. This field can be modified when the live stream is in a LiveStreamEventStatus#PAUSED state.
Declaration
public bool RelativePlaylistDeliveryEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
ShortSegmentDroppingEnabled
Optional. Whether segments shorter than 1 second at the end of an ad pod should be dropped. Defaults to false. To set this field a network needs to have the "Video live stream short segment dropping" feature enabled.
Declaration
public bool ShortSegmentDroppingEnabled { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
SourceContentConfigurations
Optional. The list of CdnConfigurations that provide settings for ingesting and delivering the videos associated with this source. Modifying settings for an active live stream may break the stream for some users. Exercise caution. Format: "networks/{network_code}/cdnConfigs/{cdn_config_id}"
Declaration
public RepeatedField<string> SourceContentConfigurations { get; }
Property Value
| Type | Description |
|---|---|
| RepeatedField<string> |
SourceContentConfigurationsAsCdnConfigNames
CdnConfigName-typed view over the SourceContentConfigurations resource name property.
Declaration
public ResourceNameList<CdnConfigName> SourceContentConfigurationsAsCdnConfigNames { get; }
Property Value
| Type | Description |
|---|---|
| ResourceNameList<CdnConfigName> |
StartTime
Optional. The start date and time of this LiveStream. Modifying this attribute for an active live stream can impact traffic.
Declaration
public Timestamp StartTime { get; set; }
Property Value
| Type | Description |
|---|---|
| Timestamp |
Status
Output only. The status of this LiveStream. Live stream events are created in the [PAUSED][google.ads.admanager.v1.LiveStreamEventStatusEnum.LiveStreamEventStatus.PAUSED] state.
Declaration
public LiveStreamEventStatusEnum.Types.LiveStreamEventStatus Status { get; set; }
Property Value
| Type | Description |
|---|---|
| LiveStreamEventStatusEnum.Types.LiveStreamEventStatus |
StreamingFormat
Immutable. The streaming format of the LiveStream media.
Declaration
public LiveStreamEventStreamingFormatEnum.Types.LiveStreamEventStreamingFormat StreamingFormat { get; set; }
Property Value
| Type | Description |
|---|---|
| LiveStreamEventStreamingFormatEnum.Types.LiveStreamEventStreamingFormat |
UnderfillAdBreakFillType
Optional. The type of content that should be used to fill the time remaining in the ad break when there are not enough ads to fill the entire break. Defaults to [SLATE][google.ads.admanager.v1.AdBreakFillTypeEnum.AdBreakFillType.SLATE]. To set this field a network needs to have the "Live stream ad break underfill type" feature enabled.
Declaration
public AdBreakFillTypeEnum.Types.AdBreakFillType UnderfillAdBreakFillType { get; set; }
Property Value
| Type | Description |
|---|---|
| AdBreakFillTypeEnum.Types.AdBreakFillType |
UpdateTime
Output only. The date and time this LiveStream was last modified.
Declaration
public Timestamp UpdateTime { get; set; }
Property Value
| Type | Description |
|---|---|
| Timestamp |