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