Thuộc tính đánh dấu nội dung của MediaService (Bắt buộc)

Phần này cung cấp thông tin chi tiết về các thuộc tính đánh dấu nội dung cho loại thực thể MediaService, giúp ghi lại cấu hình để tích hợp Hành động trong nội dung nghe nhìn

Bảng thông số kỹ thuật

Thuộc tính Loại dự kiến Mô tả
@type Văn bản

Bắt buộc – Luôn đặt thành MediaService.

@context Văn bản

Bắt buộc – Luôn đặt thành ["http://schema.org", {"@language": "xx"}].

@id URL

Bắt buộc – Giá trị nhận dạng duy nhất cho thương hiệu của bạn; ví dụ: https://example.com.

Giá trị nhận dạng phải tuân thủ các yêu cầu sau:

  • Mã này phải là duy nhất trên toàn bộ danh mục của bạn.
  • Đó là văn bản tĩnh. Giá trị này cũng phải ổn định và không thay đổi theo thời gian.
  • Mã này ở định dạng Mã nhận dạng tài nguyên hợp nhất (URI).
  • Miền của ứng dụng đó phải thuộc sở hữu của tổ chức của bạn.
name Văn bản

Bắt buộc – Tên của nhà cung cấp.

Nếu thương hiệu của bạn có tên dành riêng cho từng ngôn ngữ, hãy liệt kê các tên đó trong một mảng. Để biết ví dụ về điều này, hãy tham khảo ví dụ về MediaService.

brandIcon ImageObject (Đối tượng hình ảnh)

Bắt buộc đối với tất cả Hành động xem và Hành động nghe – Tệp hình ảnh của biểu tượng thương hiệu, lặp lại cho từng kích thước. Trên kết quả Hành động xem/nghe, Google liên kết các đường liên kết sâu của nội dung với biểu tượng thương hiệu của bạn.

Tệp hình ảnh biểu tượng thương hiệu của bạn phải tuân thủ các yêu cầu sau:

  • Đây là tệp PNG.
  • Nền của nút này là trong suốt.
  • Hình dạng của nó là hình tròn.
  • Đảm bảo hình ảnh được làm mượt và không bị méo/pixel hoá

Bạn phải lặp lại thuộc tính này vì bạn phải cung cấp 5 hình ảnh, mỗi hình ảnh cho một trong các kích thước sau:

  • 16x16 pixel, với tệp không lớn hơn 1 KB
  • 20x20 pixel, với tệp không lớn hơn 1 KB
  • 40x40 pixel, với tệp không lớn hơn 1 KB
  • 44x44 pixel, với tệp không lớn hơn 1 KB
  • 112x112 pixel, với tệp không lớn hơn 3 KB

Yêu cầu bổ sung đối với việc tích hợp Google TV – Những hình ảnh này của biểu tượng thương hiệu sẽ xuất hiện ở đầu Hướng dẫn lập trình, trên các nút Hành động trong Watch và trong phần cài đặt của Google TV. Cung cấp 3 biểu tượng đáp ứng các yêu cầu sau:

  • Một biểu tượng hình vuông ở định dạng tệp PNG. (có độ phân giải 512x512 px, tỷ lệ khung hình 1:1)
  • Một biểu tượng từ khoá màu trắng ở định dạng tệp PNG. (độ phân giải cao nhất hiện có, không có lựa chọn ưu tiên về tỷ lệ khung hình)
  • Một biểu tượng từ khoá có màu ở định dạng tệp PNG. (độ phân giải cao nhất hiện có, không có lựa chọn ưu tiên về tỷ lệ khung hình)

Đảm bảo hình ảnh được làm mượt và không bị méo/pixel hoá.

brandIcon.contentURL URL

Bắt buộc – URL của hình ảnh.

brandIcon.height Number

Bắt buộc – Chiều cao của hình ảnh, tính bằng pixel.

brandIcon.width Number

Bắt buộc – Chiều rộng của hình ảnh, tính bằng pixel.

brandIcon.additionalProperty PropertyValue

Bắt buộc – Thuộc tính bổ sung dùng để mô tả loại hình ảnh và xác định mục đích sử dụng của hình ảnh đó.

brandIcon.additionalProperty.@type Văn bản

Bắt buộc – Đặt thành PropertyValue.

brandIcon.additionalProperty.name Văn bản

Bắt buộc – Đặt thành contentAttributes.

brandIcon.additionalProperty.value Văn bản

Bắt buộc – Mức độ phù hợp của nền.

Để hợp lệ, hãy đặt thành ít nhất một trong các giá trị sau:

  • forDarkBackground: Hình ảnh, thường là biểu tượng trong suốt, phù hợp để sử dụng trên nền tối.
  • forLightBackground: Một hình ảnh, thường là biểu tượng trong suốt, phù hợp để sử dụng trên nền sáng.
application SotfwareApplication

Bắt buộc nếu bạn cung cấp ứng dụng iOS, Android, Cast hoặc AndroidTV – Danh sách ứng dụng thương hiệu của bạn trên các nền tảng sau:

  • iOS
  • Android
  • Truyền
  • AndroidTV
application.@type Văn bản

Bắt buộc – Luôn đặt thành SoftwareApplication.

application.operatingSystem Văn bản

Bắt buộc – Đặt thành một trong những giá trị sau:

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

Bắt buộc nếu có – Đối với các nền tảng Android, AndroidTV và iOS, bạn phải chỉ định đường liên kết này đến ứng dụng của mình trong App Store và Cửa hàng Play.

Đối với tất cả các nền tảng khác, đây không phải là thuộc tính bắt buộc.

application.installUrl URL

Bắt buộc nếu có – Nếu nhà cung cấp cung cấp tính năng phát nội dung đa phương tiện thông qua ứng dụng AndroidTV, bạn phải chỉ định đường liên kết này đến tệp APK AndroidTV.

Nếu nhà cung cấp không cung cấp tính năng phát trên AndroidTV, thì đây không phải là thuộc tính bắt buộc.

application.identifier

Văn bản

Bắt buộc (nếu có) – Đối với các nền tảng tương ứng với một trong các giá trị sau, hãy đặt giá trị tương ứng. Nếu không, thuộc tính này là không bắt buộc:

  • iOS: Giá trị nhận dạng ứng dụng trên App Store. Ví dụ: 967093455.
  • Android: Tên gói Android trên Cửa hàng Play. Ví dụ: com.abc.media.android.
  • Cast: Mã ứng dụng Cast. Ví dụ: ACDA4FDE.
  • AndroidTV: Tên gói AndroidTV trên Cửa hàng Play. Ví dụ: com.abc.media.atv.android.
parentOrganization Tổ chức

Bắt buộc – Nhà cung cấp mẹ của dịch vụ.

parentOrganization.@type Văn bản

Bắt buộc – Luôn đặt thành Organization.

parentOrganization.name Văn bản

Bắt buộc – Tên tổ chức.

subscriptions MediaSubscription

Không bắt buộc – Danh sách MediaSubscriptions hiện có mà nhà cung cấp đồng hồ hỗ trợ.

baseSubscriptionTier MediaSubscription

Bắt buộc nếu có – Nếu nhà cung cấp nội dung xem và nhà cung cấp đó có gói thuê bao cơ bản, thì bạn phải đặt giá trị này thành thực thể thuê bao cho nội dung có sẵn cho tất cả người đăng ký. Nếu không, thuộc tính này là không bắt buộc.

userRequestsFulfilledBy Văn bản

Không bắt buộc – Đặt thành một trong các bên sau đây thực hiện yêu cầu của người dùng:

  • Google: Tất cả yêu cầu đều do Google thực hiện. Về cơ bản, Google sẽ trả về đường liên kết sâu cho nội dung được yêu cầu.
  • Provider: Tất cả yêu cầu đều do nhà cung cấp nội dung – Nhà cung cấp dịch vụ đám mây thực hiện. Về cơ bản, nhà cung cấp sẽ trả về đường liên kết sâu đến nội dung được yêu cầu hoặc bắt đầu phát trực tiếp trên thiết bị của họ.

Theo mặc định, thuộc tính này được đặt thành Google.

mediaOffered Văn bản

Bắt buộc – Đặt thành một trong những loại sau đây tương ứng với các loại nội dung trong danh mục của bạn có trong nguồn cấp dữ liệu:

  • ["VoD"] – Nhà cung cấp chỉ đưa nội dung Video theo yêu cầu (VoD) vào nguồn cấp dữ liệu. Nội dung VOD bao gồm PhimChương trình truyền hình.
  • ["LiveTV"] – Nhà cung cấp chỉ đưa nội dung Truyền hình trực tiếp (bao gồm cả nội dung KênhBroadcastEvent) vào nguồn cấp dữ liệu.
  • ["VoD", "LiveTV"] – Nhà cung cấp đưa cả nội dung VoD và nội dung Truyền hình trực tiếp vào nguồn cấp dữ liệu.
  • ["Music"] – Nhà cung cấp chỉ đưa các thực thể âm nhạc vào nguồn cấp dữ liệu. Nội dung này bao gồm nội dung Album, Nghệ sĩ, Bài hátDanh sách phát.
  • ["Radio"] – Nhà cung cấp chỉ đưa các thực thể Radio vào nguồn cấp dữ liệu.
  • ["Music", "Radio"] – Nhà cung cấp đưa các thực thể nhạc và đài phát vào nguồn cấp dữ liệu. Trong đó có nội dung về Đĩa nhạc, Nghệ sĩ, Bài hát, Danh sách phátĐài phát thanh.

Ví dụ về MediaService

{
  "@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"
      }
    }
  ]
}