amphtml icon indicating copy to clipboard operation
amphtml copied to clipboard

✨ feat(amp-youtube): add data-channelid support for channel embeds

Open pranav200408 opened this issue 4 months ago • 1 comments

✨ New feature

Why amp-youtube currently supports data-videoid and data-live-channelid, but there’s no direct way to embed a YouTube Channel. This adds first-class support for channel embeds to improve author experience and cover a common use case.

What

  • Introduces a new attribute: data-channelid.
  • Exactly one of data-videoid, data-live-channelid, or data-channelid is required; runtime asserts on conflicts.
  • When data-channelid is present, amp-youtube uses the YouTube live_stream endpoint to render the channel.
  • Handles attribute mutations: switches player source appropriately.

Linked issue Closes #26304

Screenshots/Manual verification Example:

Resulting iframe src contains: .../embed/live_stream?channel=UC_x5XG1OV2P6uZZ5FSM9Ttw&enablejsapi=1&amp=1

Follow-ups included/remaining 📖 Docs: Add data-channelid to amp-youtube.md with example ✅ Tests: Unit tests for URL generation, exclusivity rule, and mutation behavior 🏗 Validator: Allow data-channelid and enforce “exactly one of” among data-videoid, data-live-channelid, data-channelid

Breaking changes None

Risk/rollout Low. New attribute; existing behavior for data-videoid and data-live-channelid unchanged.

Testing plan Added/Will add unit tests. Manually verified with a local example page; inspected iframe src and runtime assertions.

Checklist ✅ Code compiles locally ✅ Tests added/updated ✅ Documentation updated ✅ Validator config updated ✅ Linked to issue and used auto-close keyword

pranav200408 avatar Aug 15 '25 19:08 pranav200408