Media Actions Quality Checklists

The following page lists a number of fundamental checks to validate a Media Actions feed. Many of them help verify the structural integrity of the feed, while a few specify how certain elements of the feed should behave. To speed up the process of feed validation and feedback, verify each item in the following checklist and then submit your feed file(s) to Google. If feasible, think of these as test cases that your team needs to pass every time you want to deploy a feed.

Common Checklist

Checks that apply regardless of the type of catalog you provide in the Media Actions feed.


Item(s)
Feed contents
The feed includes all content from your catalog.
The content in your feed matches the content available on your service. If you update your catalog, the feed must reflect those updates.
All entities in the feed have a unique ID (@id).
All entities in the feed have a unique URL (url).
All URLs (url) in the feed are canonical.
@id, url, and urlTemplate use the same domain in the feed.
The feed doesn't contain stale entities which are entities with availabilityEndDate set in the past, or entities that are no longer available on your app or platform.
All entities in the feed have a unique deep link (urlTemplate).
All deep links (urlTemplate) and URLs (url) in the feed are production URLs, and not QA or DEV URLs.
The feed includes deep links (urlTemplate) to all supported platforms (Web, iOS, Android, Android TV, and Chromecast) in agreement with the mediaOffered and contentToBeAnnounced properties.
Make sure contentRating is provided for all adult content.
App or website behavior
If content requires users to log in, the content must autoplay on all platforms within one click after login.
If a user initiates content on a mobile platform (Android and iOS), but your app isn't installed on the user’s device, the platform directs the user to the App Store or Play Store and prompts the user to install the app.

Video on demand Checklist

Checks that generally apply to Video on demand catalog providers.


Item(s)
Feed contents
All supported entity types (Movie, TVEpisode, TVSeason, and TVSeries) are present in the feed.
All TVEpisode entities correspond to valid TVSeries entities in the feed.
Multiple TVEpisodes with the same episodeNumber in one TVSeason do not exist.
If a TV show supports seasons, all TVSeason entities have corresponding valid TVSeries entities in the feed.
Multiple TVSeasons with the same seasonNumber in one TVSeries do not exist.
The category property of a TVSeries is set to the least-restrictive access requirement of its content. For instance, if a TVSeries has some TVEpisode entities that don't require a user to log in, and some TVEpisode entities that do require a user to login, set this TVSeries to be nologinrequired.
Media Action Specifications don’t allow for standalone short-form content as part of the feed today. Make sure no short-form content, such as trailers, is miscategorized into Movie, TVSeries, TVEpisode, SportsEvent, or other top-level entities.
Trailers are short-form content, and the Media Action Specifications allow you to provide trailer information as part of the TVSeries, TVSeason, TVEpisode, and Movie entities using the trailer property. Don't provide trailers in the Media Actions feeds for a standalone Movie, TVSeries, or other top-level entities.
App or website behavior
For Movie and TVEpisode, SportsEvent content must autoplay on all platforms.
For TVSeries and TVSeason, content must autoplay on Chromecast and Android TV. On other platforms, playback must be within one click (autoplay is the best option).

Live TV Checklist

Checks that generally apply to Live TV and Video on demand catalog providers.


Item(s)
Feed contents
All supported entity types (Movie, TVEpisode, TVSeason, TVSeries, BroadcastService, BroadcastEvents, TelevisionChannel, Organization, CableOrSatelliteService, and SportsEvent) are present in the feed.
All TVEpisode entities have corresponding valid TVSeries entities in the feed.
If a TV show supports seasons, all TVSeason entities have corresponding valid TVSeries entities in the feed.
Multiple TVEpisodes with the same episodeNumber in one TVSeason do not exist.
Media Action Specifications don’t allow you to provide short-form content (other than trailers) as part of the feed today. Make sure no short-form content is miscategorized into Movie, TVSeries, TVEpisode, SportsEvent, or other top-level entities.
Trailers are considered short-form content and the Media Action Specifications allow you to provide trailer information as part of the TVSeries, TVSeason, TVEpisode, and Movie entities using the trailer property. Trailers should not be provided in the Media Actions feeds as standalone Movies, TVSeries, or other top-level entities.
Multiple TVSeasons with the same seasonNumber in one TVSeries do not exist.
The category property of an entity with a potentialAction (for example, a deeplink) is set to the least-restrictive access requirement of its content. For instance, if a TVSeries has a number of TVEpisodes that are nologinrequired and a few that require a login, set this TVSeries to be nologinrequired.
All BroadcastService entities have corresponding and valid Organization entities in the feed.
All CableOrSatelliteService entities have corresponding and valid Organization entities in the feed.
All TelevisionChannel entities have corresponding and valid CableOrSatellite entities in the feed.
All TelevisionChannel entities have corresponding and valid BroadcastService entities in the feed.
All BroadcastEvent entities have corresponding and valid BroadcastService entities in the feed.
If workPerformed or broadcastOfEvent is added, then all BroadcastEvent entities have corresponding TVM (TVSeries, TVSeason, TVEpisode and Movie) entities in the feed.
Local channels have been handled properly in the feed. In this case, there must be a relationship of one Organization entity to many BroadcastService entities.
Channels with time-shifted but same programming are handled properly in the feed. In this case, there should be a relationship of one Organization entity to many BroadcastService entities.
Channels with similar programming, but dissimilar video quality in terms of streaming, are handled properly in the feed. In this case, there should be a relationship of one Organization entity to many BroadcastService entities.
For every BroadcastService entity, 14 days (or at least seven days) of EPG content is provided.
For every BroadcastService entity in the EPG, a 24-7 EPG schedule is provided without any overlaps or gaps.
For every BroadcastService entity, make sure there is a logo with a transparent background available that can be used on a dark (black) background, preferably in a one-to-one aspect ratio.
Make sure that every BroadcastEvent entity in the feed has at least one 16x9 image accompanying it. The image can be available on either the BroadcastEvent entity itself or on a linked TVEpisode, TVSeries, Movie, or SportsEvent entity.
App or website behavior
For Movie, TVEpisode, and SportsEvent entities, content must autoplay on all platforms.
For TVSeries and TVSeason, content must autoplay on Chromecast and Android TV. On other platforms, playback needs to be within one click (autoplay is the best option).

Music Checklist

Checks that generally apply to Music catalog providers.


Item(s)
Feed contents
All the supported entity types (MusicGroup, MusicAlbum, MusicRecording and MusicPlaylist) are present in the feed.
All MusicRecording entities must have corresponding and valid MusicGroup entities in the feed.
All MusicRecording entities must have corresponding and valid MusicAlbum entities in the feed, if applicable.
All MusicAlbum entities must have corresponding and valid MusicGroup entities in the feed.
App or website behavior
The content on all entities must autoplay on all platforms. On iOS, playback can be within one click.
Apps or platforms that require a sign-in play their content immediately after sign-in.

Radio Checklist

Checks that generally apply to Radio catalog providers.


Item(s)
Feed contents
The supported entity type (RadioBroadcastService) is present in the feed.
Network information given through the broadcastAffiliateOf or parentService properties are valid networks and not logical groupings.
The relationship between a radio station and its parent network must be provided through the broadcastAffiliateOf or parentService property.
The alternateName property must include legitimate alternate names for a station, and not keywords to influence triggering.
For terrestrial AM or FM radio stations, the areaServed property includes the area where the station serves.
App or website behavior
For all entities, the content must autoplay on all platforms. On iOS, playback can be within one click.
Apps or platforms that require a sign-in play their content immediately after sign-in.