Ads docs v2 - #817
Conversation
Co-Authored-By: maarten.rimaux <maarten.rimaux@dolby.com>
Co-Authored-By: maarten.rimaux <maarten.rimaux@dolby.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: maarten.rimaux <maarten.rimaux@dolby.com>
Co-Authored-By: maarten.rimaux <maarten.rimaux@dolby.com>
Co-Authored-By: maarten.rimaux <maarten.rimaux@dolby.com>
Co-Authored-By: maarten.rimaux <maarten.rimaux@dolby.com>
Co-Authored-By: maarten.rimaux <maarten.rimaux@dolby.com>
Co-Authored-By: maarten.rimaux <maarten.rimaux@dolby.com>
…ition Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…g to Break Manifest
- Simplify break identity, remove stored fields and internal mechanics - Rework scheduling: timebases, cued breaks, template snapshots, event preparation, constraints rationale - Rename lifecycle to Break Lifecycle with customer-facing states and diagram - Rename cue-and-punch to Break punching - Restructure break configuration: general, event based triggers, controls, layouts, variants, asset model - Add clickable layout overview with docs-colored visuals - Use regional production domains and UUIDs in examples - Align related resources tables across pages Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Reframe the page around the backend/player contract and side-loading (with a data-flow diagram), simplify the endpoint and caching text, document the 1.1.0 envelope properties, and defer break details to the Breaks page. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Simplify the intro around vendor assets, keep the supported vendors table without fan-out wording, and replace the Ads V2 model mapping with a related resources section. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…and DAI subpages Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…erving page Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: maarten.rimaux <maarten.rimaux@dolby.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…) and OptiView Player (legacy) Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
turbidwater
left a comment
There was a problem hiding this comment.
Still working my way through, but here's what I have so far.
|
|
||
| - **Breaks cannot overlap.** A scheduled break cannot overlap another break on the same channel. Players render one break at a time; overlapping breaks would make the ad timeline ambiguous for your viewers. | ||
| - **The start cannot lie in the past.** A break must start ahead of the current live position of the channel. Players need to receive the break through the [Break Manifest](./break-manifest.mdx) before its start time; a break scheduled behind the live position would never be seen. | ||
| - **Ad decisioning needs lead time.** Breaks delivered through an ad server integration such as [Google Ad Manager](../integrations/google/index.mdx) need a small extra margin before their start, so the ad decisioning can complete before the break begins. Scheduling closer than that margin is rejected rather than risking an empty break. |
There was a problem hiding this comment.
question: @MaartenRimaux do we have a recommended margin length? That would be a good thing to add here, if we do.
There was a problem hiding this comment.
Good idea — the default decisioning margin is 5 seconds. Added that with a link to the decisioning margin section on the Google Ad Manager page in 84add53.
|
|
||
| #### Pause | ||
|
|
||
| A `pause` break is a **pause ad**: it fires every time the viewer pauses playback and is dismissed when the viewer resumes. Use it to monetize the pause screen, typically with an image overlay. With a `delay`, the break appears after the viewer has been paused for that many seconds; resuming before the delay elapses cancels the pending break. When multiple `pause` breaks are defined, each pause shows the next one in order. |
There was a problem hiding this comment.
| A `pause` break is a **pause ad**: it fires every time the viewer pauses playback and is dismissed when the viewer resumes. Use it to monetize the pause screen, typically with an image overlay. With a `delay`, the break appears after the viewer has been paused for that many seconds; resuming before the delay elapses cancels the pending break. When multiple `pause` breaks are defined, each pause shows the next one in order. | |
| A `pause` break is a **pause ad**: it fires every time the viewer pauses playback and is dismissed when the viewer resumes. Use it to monetize the pause screen, typically with an image overlay. With a `delay`, the break appears after the viewer has been paused for that many seconds. If the viewer resumes before the delay elapses, it cancels the pending break. When multiple `pause` breaks are defined, each pause shows the next one in order. |
|
|
||
| #### End | ||
|
|
||
| An `end` break is a **post-roll**: it fires when playback has ended, once per session. Use it to show an ad after the content finishes. With a `delay`, the break fires that many seconds after playback ended; replaying before the delay elapses cancels the pending break. |
There was a problem hiding this comment.
| An `end` break is a **post-roll**: it fires when playback has ended, once per session. Use it to show an ad after the content finishes. With a `delay`, the break fires that many seconds after playback ended; replaying before the delay elapses cancels the pending break. | |
| An `end` break is a **post-roll**: it fires when playback has ended, once per session. Use it to show an ad after the content finishes. With a `delay`, the break fires that many seconds after playback ended. Replaying the asset before the delay elapses will cancel the pending break. |
|
|
||
|  | ||
|
|
||
| `format: "overlay"` renders a non-linear ad on top of the content, which keeps playing. In addition to `assets`, an overlay requires a `position` and a `size`, and accepts an optional `opacity`. All values are fractions of the player surface from `0` through `1`: |
There was a problem hiding this comment.
question: @MaartenRimaux This doesn't seem to match with the descriptions below:
All values are fractions of the player surface from 0through1:
It sounds like it would describe the opacity value, but not related to the player surface. Does this need to be updated? The code sample doesn't match the line items.
There was a problem hiding this comment.
Good catch — reworded in 84add53: the fraction-of-the-player-surface range now sits on position and size only, and opacity is described as 0 (fully transparent) through 1 (fully opaque), matching the Break Manifest spec.
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
… variants, backdrops Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: maarten.rimaux <maarten.rimaux@dolby.com>
Co-Authored-By: maarten.rimaux <maarten.rimaux@dolby.com>
Co-Authored-By: maarten.rimaux <maarten.rimaux@dolby.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…l example Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…ection" This reverts commit 4f3984d.
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…bleshooting Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
No description provided.