Skip to content

Ads: split the SDK docs by ad workflow (static assets, VAST, Google Pod Serving) - #891

Closed
MaartenRimaux wants to merge 1 commit into
mainfrom
ADS-590-ads-sdk-ad-workflows
Closed

MaartenRimaux wants to merge 1 commit into
mainfrom
ADS-590-ads-sdk-ad-workflows

Conversation

@MaartenRimaux

@MaartenRimaux MaartenRimaux commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Jira: ADS-590

The OptiView Ads SDK guides were written around Google Pod Serving: every platform page asked for a Google Ad Manager networkCode and customAssetKey. Customers who only play static assets or VAST tags were told to set up configuration that doesn't apply to them, and the guides missed what those workflows do need.

  • Platform pages (Web, Android, iOS, React Native) now apply to every workflow. The Google prerequisite and the gam: { networkCode } examples are removed.
  • New "Ad workflows" group under OptiView Ads SDK, one page each for Static assets, VAST and Google Pod Serving. Each page covers what the app needs per platform, break setup, supported layouts, targeting, tracking and troubleshooting.
  • SDK overview gets a workflow comparison table, and the config tables no longer list Google values.
  • Getting started: step 4 now schedules a static asset instead of a VAST tag. A VAST break would fail on Web without ima3.js, which that guide never loads. The break lifecycle text is also fixed: non-Google breaks start in READY.
  • Ad targeting how-to now covers VAST (parameters appended to the tag URL) as well as Google, and adds the built-in $OPTIVIEW_* macros.
  • Cross-links from Breaks, Integrations, Player integration and the Google Pod Serving integration page.

Corrections against SDK 1.0.0 (checked on the v1.0.0 tag in all three cores)

  • GamConfig has no networkCode, and the SGAI SessionConfig has no customAssetKey. Both come from the Break Manifest's vendorConfiguration. gam is only an opt-out (enabled: false). The old Web example fails TypeScript's excess-property check.
  • assetParameters merge order is session < updateAssetParameters() < Break Manifest. The break's value wins, the opposite of what the how-to said before. The Google Pod Serving integration page now separates the SDK behavior from the legacy OptiView Player behavior.
  • VAST plays through Google's client-side IMA SDK. On Web the page needs ima3.js; Google Pod Serving needs ima3_dai.js. Neither script was documented before.
  • On iOS with Swift Package Manager the Google IMA packages are required for every workflow, because the runtime always links against IMA.

Legacy OptiView Player pages are out of scope.

Test plan

  • prettier --check and npm run lint pass
  • All changed MDX files compile with @mdx-js/mdx
  • Local link and anchor check on all changed files: 0 problems
  • CI build passes (onBrokenLinks / onBrokenAnchors: throw)
  • Review the preview: sidebar shows Player integration → OptiView Ads SDK → Ad workflows, and the cards on the SDK overview render

Generated with Devin

…od Serving)

The SDK guides assumed Google Pod Serving: every platform page asked for
Google Ad Manager values, so static-asset and VAST customers were told to
set up configuration that does not apply to them. Platform pages are now
workflow-neutral, and each workflow gets its own page with its platform
requirements, supported layouts and troubleshooting.

Also aligns the docs with SDK 1.0.0: the Google network code and custom
asset key come from the Break Manifest (gam is only an opt-out), and
break-level assetParameters win over SDK values.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@theoplayer-bot

This comment has been minimized.

@MaartenRimaux

Copy link
Copy Markdown
Contributor Author

Superseded by #934, which restructures the workflow docs by use case (live, VOD) and ad source, and carries over the fixes from this PR.

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.

1 participant