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