Skip to content

Ads docs v2 - #817

Open
MaartenRimaux wants to merge 63 commits into
mainfrom
ads-docs-v2
Open

Ads docs v2#817
MaartenRimaux wants to merge 63 commits into
mainfrom
ads-docs-v2

Conversation

@MaartenRimaux

Copy link
Copy Markdown
Contributor

No description provided.

MaartenRimaux and others added 30 commits August 14, 2026 08:48
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>
- 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 turbidwater left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still working my way through, but here's what I have so far.

Comment thread ads/concepts/breaks.mdx Outdated

- **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.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: @MaartenRimaux do we have a recommended margin length? That would be a good thing to add here, if we do.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread ads/concepts/breaks.mdx Outdated

#### 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.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied the suggestion in 84add53.

Comment thread ads/concepts/breaks.mdx Outdated

#### 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.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied the suggestion in 84add53.

Comment thread ads/concepts/breaks.mdx Outdated

![Overlay format](../assets/img/breaks/format-overlay.svg)

`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`:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

MaartenRimaux and others added 3 commits August 19, 2026 08:44
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>
devin-ai-integration Bot and others added 7 commits August 19, 2026 12:00
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>
MaartenRimaux and others added 2 commits August 21, 2026 14:36
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
MaartenRimaux and others added 2 commits August 21, 2026 15:07
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants