Content markup properties of MediaService (Required)

This section provides the details of the content markup properties for the MediaService entity type which captures the configuration for your Media Action integration

Specification table

Property Expected Type Description
@type Text

Required - Always set to MediaService.

@context Text

Required - Always set to ["http://schema.org", {"@language": "xx"}].

@id URL

Required - A unique identifier for your brand; for example, https://example.com.

The identifier must adhere to the following requirements:

  • It's globally unique across your catalog.
  • It's static. The ID must be stable and not change over time.
  • It's in the Unified Resource Identifier (URI) format.
  • Its domain must be owned by your organization.
name Text

Required - The name of the provider.

If your brand has any locale-specific names, list them in an array. For an example of this, refer to the MediaService example.

brandIcon ImageObject

Required for all Watch Actions and Listen Actions - The image file of your brand icon, repeated, for each size. On the Watch/Listen Action result, Google associates your content's deep links to your brand icon.

Your brand icon image file must adhere to the following requirements:

  • It's a PNG file.
  • Its background is transparent.
  • Its shape is round in nature.
  • Make sure the images are anti-aliased and not distorted/pixelated

This property must be repeated, because you must provide five images, one for each of the following dimensions:

  • 16x16 pixels, with a file no greater than 1 KB
  • 20x20 pixels, with a file no greater than 1 KB
  • 40x40 pixels, with a file no greater than 1 KB
  • 44x44 pixels, with a file no greater than 1 KB
  • 112x112 pixels, with a file no greater than 3 KB

Additional requirement for GoogleTV integrations - These images of your brand icon will be displayed at the top of the Programming Guide, on Watch Action buttons and in Google TV settings. Provide three icons meeting the following requirements:

  • One square icon in PNG file format. (with a resolution of 512x512 px, 1:1 aspect ratio)
  • One white wordmark icon in PNG file format. (highest resolution available, no preference for aspect ratio)
  • One colored wordmark icon in PNG file format. (highest resolution available, no preference for aspect ratio)

Make sure the images are anti-aliased and not distorted/pixelated.

brandIcon.contentURL URL

Required - The URL of the image.

brandIcon.height Number

Required - The height of the image, in pixels.

brandIcon.width Number

Required - The width of the image, in pixels.

brandIcon.additionalProperty PropertyValue

Required - The additional property used to describe the image's type and defines its intended uses.

brandIcon.additionalProperty.@type Text

Required - Set to PropertyValue.

brandIcon.additionalProperty.name Text

Required - Set to contentAttributes.

brandIcon.additionalProperty.value Text

Required - The background suitability.

To be valid, set to at least one of the following values:

  • forDarkBackground: An image, typically a transparent icon, that's suitable for use on a dark background.
  • forLightBackground: An image, typically a transparent icon, that's suitable for use on a light background.
application SotfwareApplication

Required if iOS, Android, Cast or AndroidTV applications are provided - The list of your brand applications across the following:

  • iOS
  • Android
  • Cast
  • AndroidTV
application.@type Text

Required - Always set to SoftwareApplication.

application.operatingSystem Text

Required - Set to one of the following:

  • iOS
  • Android
  • Cast
  • AndroidTV
application.downloadUrl URL

Required if applicable - For the Android, AndroidTV, and iOS platforms, you must specify this as the link to your application in the App Store and Play Store.

For all other platforms, this isn't a required property.

application.installUrl URL

Required if applicable - If the provider offers media playback through an AndroidTV app, you must specify this as the link to the AndroidTV APK file.

If the provider doesn't offer AndroidTV playback, this isn't a required property.

application.identifier

Text

Required if applicable - For platforms that correspond to one of the following values, set it accordingly. This property is otherwise not required:

  • iOS: The App Store app identifier. For example, 967093455.
  • Android: The Play Store Android package name. For example, com.abc.media.android.
  • Cast: The Cast app ID. For example, ACDA4FDE.
  • AndroidTV: The Play Store AndroidTV package name. For example, com.abc.media.atv.android.
parentOrganization Organization

Required - The parent provider of the service.

parentOrganization.@type Text

Required - Always set to Organization.

parentOrganization.name Text

Required - The organization name.

subscriptions MediaSubscription

Optional - The list of available MediaSubscriptions supported by the watch provider.

baseSubscriptionTier MediaSubscription

Required if applicable - If a watch provider and the provider has a base subscription package, you must set this to the subscription instance for content available to all subscribers. This property is otherwise not required.

userRequestsFulfilledBy Text

Optional - Set to the either of the following parties who fulfills the user requests:

  • Google: All requests are fulfilled by Google. Essentially, Google returns the deep link for the requested content.
  • Provider: All requests are fulfilled by the content provider–the Cloud Provider. Essentially, the provider returns the deep link for the requested content or initiates the playback directly on their devices.

By defaults this property is set to Google.

mediaOffered Text

Required - Set to one of the following, which correspond to the types of content in your catalog that are included in the feed:

  • ["VoD"] - The provider only includes Video on Demand (VoD) content in the feed. VoD content includes Movies and TV Shows.
  • ["LiveTV"] - The provider only includes Live TV, which includes Channels and BroadcastEvent content, in the feed.
  • ["VoD", "LiveTV"] - The provider includes both VoD and Live TV content in the feed.
  • ["Music"] - The provider only includes music entities in the feed. This includes Album, Artists, Songs and Playlist content.
  • ["Radio"] - The provider only includes Radio entities in the feed.
  • ["Music", "Radio"] - The provider includes music and radio entities in the feed. This includes Album, Artists, Songs, Playlist, and Radio Station content.

MediaService example

{
  "@context": "http://schema.org",
  "@type": "DataFeed",
  "dateModified": "2018-07-20T00:44:51Z",
  "dataFeedElement": [
    {
      "@context": [
        "http://schema.org",
        {
          "@language": "en"
        }
      ],
      "@type": "MediaService",
      "@id": "https://abcmedia.com",
      "name": [
        {
          "@language": "en-us",
          "@value": "ABC Media"
        },
        {
          "@language": "en-gb",
          "@value": "ABC"
        }
      ],
      "userRequestsFulfilledBy": "Google",
      "mediaOffered": [
        "LiveTV",
        "VoD"
      ],
      "brandIcon": [
        {
          "@type": "ImageObject",
          "contentURL": "https://abcmedia.com/path_to_logo_16x16.png",
          "width": 16,
          "height": 16,
          "additionalProperty": [
            {
              "@type": "PropertyValue",
              "name": "contentAttributes",
              "value": [
                "forDarkBackground",
                "forLightBackground"
              ]
            }
          ]
        },
        {
          "@type": "ImageObject",
          "contentURL": "https://abcmedia.com/path_to_logo_20x20.png",
          "width": 20,
          "height": 20,
          "additionalProperty": [
            {
              "@type": "PropertyValue",
              "name": "contentAttributes",
              "value": [
                "forDarkBackground",
                "forLightBackground"
              ]
            }
          ]
        },
        {
          "@type": "ImageObject",
          "contentURL": "https://abcmedia.com/path_to_logo_40x40.png",
          "width": 40,
          "height": 40,
          "additionalProperty": [
            {
              "@type": "PropertyValue",
              "name": "contentAttributes",
              "value": [
                "forDarkBackground",
                "forLightBackground"
              ]
            }
          ]
        },
        {
          "@type": "ImageObject",
          "contentURL": "https://abcmedia.com/path_to_logo_44x44.png",
          "width": 44,
          "height": 44,
          "additionalProperty": [
            {
              "@type": "PropertyValue",
              "name": "contentAttributes",
              "value": [
                "forDarkBackground",
                "forLightBackground"
              ]
            }
          ]
        },
        {
          "@type": "ImageObject",
          "contentURL": "https://abcmedia.com/path_to_logo_112x112.png",
          "width": 112,
          "height": 112,
          "additionalProperty": [
            {
              "@type": "PropertyValue",
              "name": "contentAttributes",
              "value": [
                "forDarkBackground",
                "forLightBackground"
              ]
            }
          ]
        }
      ],
      "application": [
        {
          "@type": "SoftwareApplication",
          "operatingSystem": "Android",
          "downloadUrl": "https://google.play.store/com.abc.media.android",
          "identifier": "com.abc.media.android"
        },
        {
          "@type": "SoftwareApplication",
          "operatingSystem": "iOS",
          "downloadUrl": "https://apple.app.store/967093455",
          "identifier": "967093455"
        },
        {
          "@type": "SoftwareApplication",
          "operatingSystem": "AndroidTV",
          "downloadUrl": "https://google.play.store/com.abc.media.atv.android",
          "installUrl": "https://abcmedia.com/path_to_apkfile.apk",
          "identifier": "com.abc.media.atv.android"
        },
        {
          "@type": "SoftwareApplication",
          "operatingSystem": "Cast",
          "identifier": "ACDA4FDE"
        }
      ],
      "subscriptions": [
        {
          "@type": "MediaSubscription",
          "name": "Basic Package",
          "@id": "[partner determined string]",
          "identifier": "abcmedia.com:basic"
        },
        {
          "@type": "MediaSubscription",
          "name": "Premium Package",
          "@id": "[partner determined string]",
          "identifier": "abcmedia.com:premium"
        }
      ],
      "baseSubscriptionTier": {
        "@type": "MediaSubscription",
        "name": "Basic Package",
        "@id": "[partner determined string]",
        "identifier": "abcmedia.com:basic"
      },
      "parentOrganization": {
        "@type": "Organization",
        "name": "ABC Media"
      }
    }
  ]
}