Specyfikacja Podcast.org dotycząca specyfikacji

Ta sekcja zawiera szczegółowe informacje o właściwościach znaczników treści podcastów.

Specyfikacja PodcastSeries

PodcastSeries reprezentuje serię podcastów, nazywaną też „programem”.

Właściwość Priorytet Typ Opis
@context Wymagany Tekst Kontekst schema.org. Zawsze powinna być ustawiona na [http://schema.googleapis.com,{@language}:xx}], gdzie xx powinno być w kodzie języka. Określa domyślny język wartości tekstowych elementu.
@type Wymagany Tekst Zawsze ustawiana jest wartość PodcastSeries.
@id Wymagany Tekst Unikalny w skali globalnej identyfikator serii podcastów w formacie URI. Identyfikator musi być stabilny i nie może się zmieniać w czasie. Jest traktowany jako nieprzejrzysty ciąg znaków i nie musi być działającym linkiem. Domena użyta w wartości @id musi należeć do Twojej organizacji.
url Wymagany Tekst Kanoniczny adres URL w Twojej witrynie, pod którym opisano lub opisano serię podcastów. Nie może się powtarzać. Ten link pomaga dokładnie uzgodnić zawartość pliku danych z danymi w bazach danych Google. Na potrzeby odtwarzania korzystaj z target.urlTemplate określonego w sekcji ListenAction dokumentacji.
name Wymagany Tekst

Nazwa serii podcastów. Podaj tylko jedną nazwę w danym języku.

Użyj tablicy do oznaczenia opisu w wielu językach. Zobacz przykład wielu regionów i języków.

description Wymagany Tekst

Streszczenie serii podcastów

Użyj tablicy do oznaczenia opisu w wielu językach. Zobacz przykład wielu regionów i języków.

alternativeHeadline Opcjonalny Tekst Napisy do serii podcastów
author Wymagany

Osoba lub organizacja

powtórzone

Osoba lub grupa, która tworzy lub dostarcza program. Często oznacza hosta. Przykłady i szczegóły znajdziesz w artykule Organizacja, osoba (autor/wydawca).
publisher Opcjonalny

Osoba lub organizacja

powtórzone

Oryginalna grupa lub sieć odpowiedzialna za publikację programu. Odnosi się często do organizacji odpowiedzialnej za publikowanie/produkcję kilku podcastów. Przykłady i szczegóły znajdziesz w artykule Organizacja, osoba (autor/wydawca). Pole to jest zdecydowanie zalecane w przypadku ujednoznaczniania i należy je podawać w stosownych przypadkach.
actor Opcjonalny

Osoba lub organizacja

powtórzone

Aktor podcastu. Przykłady i szczegóły znajdziesz w sekcji Użytkownik, który wykonał czynność .
logo Opcjonalny

ImageObject

powtórzone

Obraz logo serii. Podaj go jako pełny opis ImageObject. Udostępnij najwyższą dostępną rozdzielczość. Preferowany jest format JPEG lub PNG. Szczegółowe informacje i przykłady znajdziesz w sekcji ImageObject (logo).
image Wymagany

ImageObject

powtórzone

Obraz grafiki z serii. Podaj pełne opisy ImageObject. Udostępnij najwyższą dostępną rozdzielczość. Preferowany jest format JPEG lub PNG. Szczegółowe informacje i przykłady znajdziesz w sekcji ImageObject (logo).
isFamilyFriendly Wymagany Wartość logiczna Wskazuje, czy treści są odpowiednie dla całej rodziny (tzn. czy są odpowiednie dla wszystkich członków rodziny, w tym dzieci). Usługi Google mogą pomóc w określeniu treści do odtworzenia, używając isFamilyFriendly. Wartością musi być true lub false.
inLanguage Wymagany Tekst Język treści podcastu w formacie ISO 639-1. Tej wartości można używać do wykonywania zapytań użytkowników żądających treści w określonym języku.
genre Wymagany

Tekst

powtórzone

Kategoria lub gatunek serii podcastów. Możesz na przykład użyć standardowych kategorii podcastów.
endDate Opcjonalny Data Data premiery ostatniego odcinka podcastu. Wypełnij to pole tylko wtedy, gdy seria jest już ukończona.
rssFeed Wymagany URL Adres URL kanału RSS serii podcastów.
potentialAction Wymagany ListenAction Działanie wywoływane przez użytkowników w celu odsłuchania treści. Szczegółowe informacje znajdziesz w sekcji ListenAction (słuchanie).
popularityScore Opcjonalny PopularityScoreSpecification Wynik popularności pomaga określić priorytet wyświetlania, gdy jest wielu kandydatów. Szczegółowe informacje i przykłady znajdziesz w sekcji PopularityScoreSpecification (popularityScore).
keywords Opcjonalny

Tekst

powtórzone

Lista słów kluczowych, które zostaną powiązane z serią podcastów. Te słowa kluczowe mogą służyć do poszerzania zakresu zapytań użytkowników, które mogą aktywować serię podcastów. Na przykład imiona i nazwiska gości, tematy itd.
sameAs Opcjonalny URL Adres URL strony internetowej innej firmy (nienależącej do Twojej domeny), która jednoznacznie identyfikuje produkt. Ta strona jest używana do ujednoznacznienia, gdy istnieje wiele podobnych serii. Na przykład strona w Wikipedii lub strona główna serii podcastów. To pole jest zdecydowanie zalecane na potrzeby ujednoznacznienia serii.
releasedEvent Opcjonalny PublicationEvent lub bardziej szczegółowe podtypy – FeatureEvent lub WyłączEvent Zdarzenie oznaczające publikację lub wydanie serii podcastów. W przypadku publikacji wydawcy możemy poinformować o początkowej wersji podcastu przez wydawcę, a bardziej zaawansowane typy mogą wskazywać, że jest ona dostępna publicznie. Szczegółowe informacje i przykłady znajdziesz w sekcji PublicationEvent, FeatureEvent, WyłączEvent (releasedEvent). Pamiętaj, że oznaczenie serialu jako wyjątkowego lub polecanego oznacza, że wszystkie odcinki programu są wyjątkowe lub wyjątkowe.
countryOfOrigin Opcjonalny Kraj Kraj biura głównej firmy produkcyjnej lub osoby odpowiedzialnej za podcast.

Specyfikacja odcinków podcastu

PodcastEpisode to schema.org reprezentujący odcinek w obrębie znaczników PodcastSeries.

Właściwość Priorytet Typ Opis
@context Wymagany Tekst Kontekst schema.org. Zawsze ustawiana jest wartość [http://schema.googleapis.com,{@language:xx}], gdzie xx jest kodem języka. Pozwala to ustawić domyślny język znaków używany w wartościach tekstowych w pliku danych.
@type Wymagany Tekst Zawsze ustawiana jest wartość PodcastEpisode.
@id Wymagany Tekst Unikalny globalnie identyfikator odcinka podcastu w formacie URI. Identyfikator musi być stabilny i nie może się zmieniać w czasie. Jest traktowany jako nieprzejrzysty ciąg znaków i nie musi być działającym linkiem. Twoja organizacja musi być właścicielem domeny używanej w wartości @id.
url Wymagany Tekst Kanoniczny adres URL witryny, w którym prezentujesz lub opisujesz odcinek podcastu. Ta wartość musi być globalnie niepowtarzalna. Ten link pomaga pomóc w uzgodnieniu zawartości pliku danych z danymi w bazach danych Google. Do odtwarzania używana jest właściwość target.urlTemplate opisana w sekcji ListenAction dokumentacji.
name Wymagany Tekst

Nazwa odcinka podcastu.

W każdym języku musi być tylko jedna nazwa. Użyj tablicy do oznaczenia opisu w wielu językach. Zobacz przykład wielu regionów i języków.

description Wymagany Tekst Opis odcinka podcastu.
alternativeHeadline Wymagany Tekst Podtytuł odcinka podcastu.
author Wymagany

Osoba lub organizacja

powtórzone

Osoba lub grupa, która opracowuje lub dostarcza odcinek. Ta wartość często odnosi się do hosta. Jeśli autor jest tym samym programem, możesz ponownie wykorzystać informacje zawarte w elemencie PodcastSeries. Przykłady i szczegółowe informacje znajdziesz w sekcji Organizacja, osoba (autor/wydawca).
publisher Wymagany

Osoba lub organizacja

powtórzone

Oryginalna grupa lub sieć odpowiedzialna za publikację programu. Odnosi się często do organizacji odpowiedzialnej za publikowanie lub produkowanie kilku podcastów. Przykłady i szczegóły znajdziesz na stronie Organizacja, osoba (autor/wydawca). Zdecydowanie zalecamy skorzystanie z tego pola i zalecamy zdefiniowanie go w razie potrzeby.
actor Wymagany

Osoba lub organizacja

powtórzone

Aktor podcastu. Przykłady i szczegółowe informacje znajdziesz w sekcji Użytkownik, który wykonał czynność (host/gość).
datePublished Wymagany Data/godzina Data premiery odcinka podcastu. Ta wartość służy do sortowania sekwencji odcinków i ujednoznacznienia.
episodeNumber Wymagany Liczba całkowita Numer odcinka.
partOfSeries Wymagany Serie podcastów PodcastSeries, w którym znajduje się ten odcinek podcastu. Więcej informacji i przykłady znajdziesz na stronie PodcastSeries(częśćSeria).
partOfSeason Opcjonalny Sezon podcast W przypadku serii kilku sezonów ta usługa zawiera informacje o sezonie, numer sezonu i nazwę sezonu. Więcej informacji i przykładów znajdziesz na stronie PodcastSeason(częśćSeason).
timeRequired Wymagany Czas trwania Długość odcinka w formacie ISO 8601.
image Opcjonalny

ImageObject

powtórzone

Obraz grafiki z serii. Musi to być pełny opis ImageObject. Udostępnij najwyższą dostępną rozdzielczość. Preferowany jest format JPEG lub PNG. Szczegółowe informacje i przykłady znajdziesz w sekcji ImageObject (logo).
isFamilyFriendly Wymagany Wartość logiczna Wskazuje, czy treści są odpowiednie dla całej rodziny (tzn. czy są odpowiednie dla wszystkich członków rodziny, w tym dzieci). Usługi Google mogą używać isFamilyFriendly do określania treści do odtwarzania. Musi to być wartość true lub false.
inLanguage Wymagany Tekst Język treści odcinka podcastu w formacie ISO 639-1. Używaj tej wartości w przypadku zapytań użytkowników, które wysyłają żądanie o treści w określonym języku. Jeśli treści są w wielu językach, wymień tylko jeden język główny.
genre Wymagany

Tekst

powtórzone

Kategoria lub gatunek serii podcastów. Możesz na przykład przestrzegać standardowych kategorii podcastów.
associatedMedia Opcjonalny AudioObject Plik audio odcinka podcastu. Szczegółowe informacje i przykłady znajdziesz w sekcji AudioObject(relateddMedia).
potentialAction Wymagany ListenAction (słuchanie) Działanie wywoływane przez użytkowników w celu odsłuchania treści. Więcej informacji znajdziesz w sekcji ListenAction (słuchanie).
popularityScore Opcjonalny SpecyfikacjaWynika popularności Wynik popularności, który określa priorytet wyświetlania w przypadku wielu kandydatów. Szczegółowe informacje i przykłady znajdziesz w sekcji PopularityScoreSpecification.
keywords Opcjonalny

Tekst

powtórzone

Lista słów kluczowych powiązanych z serią podcastów. Te słowa kluczowe mogą służyć do poszerzania zakresu zapytań użytkowników, które mogą prowadzić do danego odcinka podcastu. na przykład news, sports lub history.
identifier Wymagany

PropertyValue

powtórzone

W przypadku PodcastEpisode użyj tej właściwości, aby podać identyfikator GUID. Identyfikator GUID musi być identyfikatorem, który może globalnie i jednoznacznie identyfikować odcinki podcastu. Różni się on od pola @id w odcinku.

Przykład znajdziesz w sekcji PropertyValue (identifier).

sameAs Opcjonalny URL Adres URL strony internetowej innej firmy (nienależącej do Twojej domeny), która jednoznacznie identyfikuje produkt. Google używa tej strony na potrzeby ujednoznacznienia, jeśli istnieje wiele podobnych serii. Na przykład strona w Wikipedii lub strona główna odcinków podcastów. Pamiętaj, że nie możesz tu podać strony z informacjami na poziomie serii. Zdecydowanie zalecamy, aby to pole było ujemne.
releasedEvent Opcjonalny PublicationEvent lub bardziej szczegółowe podtypy – FeatureEvent lub WyłączEvent Zdarzenie, które oznacza publikację lub wydanie odcinka podcastu. O publikacji może wskazywać początkowa wersja odcinka podcastu przez wydawcę, a bardziej szczegółowe podtypy mogą oznaczać, że jest ona dostępna tylko dla subskrybentów. Szczegółowe informacje i przykłady znajdziesz w sekcji PublicationEvent, FeatureEvent, ExceptionEvent (releasedEvent). Pamiętaj, że oznaczenie serialu jako wyjątkowego lub polecanego powyżej oznacza, że wszystkie odcinki programu są wyjątkowe i polecane. Zalecamy oznaczanie ich na najbardziej szczegółowym poziomie.
countryOfOrigin Opcjonalny Kraj Kraj głównej siedziby firmy produkcyjnej lub osoby odpowiedzialnej za podcast.

PodcastSeries (część Seria)

Użyj tagu partOfSeries, aby utworzyć relację między tagiem PodcastEpisode a jego elementem nadrzędnym PodcastSeries. Pełne szczegóły elementu PodcastSeries są opisane w oddzielnym elemencie PodcastSeries, więc nie musisz podawać wszystkich szczegółów w partOfSeries. Wystarczy, że podasz te właściwości:

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana jest wartość PodcastSeries.
@id Wymagany URL Unikalny globalnie identyfikator serii w identyfikatorze URI. Identyfikator musi być zgodny z identyfikatorem kompletnej encji PodcastSeries w pliku danych.
name Wymagany Tekst Nazwa serii podcastów.

Przykład 1

"partOfSeries": {
  "@type": "PodcastSeries",
  "@id": "http://www.tjpodcast.org/series?id=1",
  "name": "Radiolab"
},

Sezon Podcast (część strefy)

PodcastSeason reprezentuje informacje o sezonie (PodcastEpisode), a najważniejszy jest numer sezonu. Ta właściwość jest potrzebna tylko wtedy, gdy seria podcastów ma wiele sezonów.

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na PodcastSeason
@id Wymagany URL Unikalny globalnie identyfikator sezonu w identyfikatorze URI. Ten identyfikator musi być stały i nie może się zmieniać. Jest traktowany jako nieprzejrzysty ciąg znaków i nie musi być działającym linkiem.
seasonNumber Wymagany Liczba całkowita Numer sezonu serii podcastów.
name Opcjonalny Tekst Nazwa sezonu podcastu.

Przykład 1

"partOfSeason": {
  "@type": "PodcastSeason",
  "@id": "http://www.tjpodcast.org/seriesx/season?id=1",
  "seasonNumber": 1,
  "name": "Radiolab Season 1"
},

Organizacja, osoba (autor lub wydawca)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana jest wartość Organization lub Person.
@id Wymagany URL Unikalny w skali globalnej identyfikator organizacji lub osoby w formacie URI. Identyfikator musi być stały i nie może się zmieniać w czasie. Jest traktowany jako nieprzejrzysty ciąg znaków i nie musi być działającym linkiem.
name Wymagany Tekst Nazwa organizacji lub osoby.
sameAs Opcjonalny URL Adres URL strony internetowej innej firmy (nienależącej do Twojej domeny), która jednoznacznie identyfikuje produkt. Google używa tej strony na potrzeby ujednoznacznienia, jeśli istnieje wiele podobnych serii. Może to być np. strona organizacji w Wikipedii lub jej oficjalna witryna.

Przykład 1

"author": {
  "@type": "Organization",
  "@id": "https://www.tjpodcast.org/organization/wnyc",
  "sameAs": "https://en.wikipedia.org/wiki/WNYC",
  "name": "WNYC"
},

Przykład 2

"author": {
  "@type": "Person",
  "@id": "https://www.tjpodcast.org/person/jad_abumrad",
  "sameAs": "https://en.wikipedia.org/wiki/Jad_Abumrad",
  "name": "Jad Abumrad"
},

Użytkownik, który wykonał czynność (gospodarz lub gość)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana jest wartość Organization lub Person.
@id Wymagany URL Unikalny w skali globalnej identyfikator organizacji lub osoby w formacie URI. Identyfikator musi być stały i nie może się zmieniać w czasie. Jest traktowany jako nieprzejrzysty ciąg znaków i nie musi być działającym linkiem.
name Wymagany Tekst Nazwa organizacji lub osoby.
roleName Wymagany Tekst „Host” lub „Gość”.
sameAs Opcjonalny URL Adres URL strony internetowej innej firmy (nienależącej do Twojej domeny), która jednoznacznie identyfikuje produkt. Google używa tej strony na potrzeby ujednoznacznienia, jeśli istnieje wiele podobnych serii. Może to być np. strona organizacji w Wikipedii lub jej oficjalna witryna.

Przykład 1

"actor":[{
  "@type": "PerformanceRole",
  "actor": {
    "@type": "Person",
    "@id": "https://www.tjpodcast.org/person/Roman",
    "name": {
      "@language":"en",
      "@value": "Roman Mars"
    },
    "roleName": "Host"
    "sameAs": "https://en.wikipedia.org/wiki/Roman",
  },
  "actor": {
    "@type": "Person",
    "@id": "https://www.tjpodcast.org/person/guest",
    "name":{
      "@language":"en",
      "@value": "Kurt Kohlstedt"
    },
    "roleName": "Guest"
   },
}]

ImageObject (logo lub obraz)

ImageObject jest potrzebny jako logo lub grafika do treści.

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana jest wartość ImageObject.
height Opcjonalny Liczba całkowita Wysokość obrazu w pikselach.
width Opcjonalny Liczba całkowita Szerokość obrazu w pikselach.
contentUrl Wymagany URL Adres URL, pod którym może znajdować się obraz.
regionsAllowed Opcjonalny

Kraj

powtórzone

Kraje, w których można używać multimediów:

  • Jeśli nie zostanie podany, przyjmujemy, że obraz jest dozwolony we wszystkich regionach.
  • Aby przesłać różne obrazy na region, dodaj kilka właściwości ImageObject, każdą z własnym zestawem krajów i odpowiedni adres URL obrazu.

Kraj (image.regionsAllowed)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiona na Country.
name Wymagany Tekst Kod kraju w formacie ISO 3166-1 alfa-2. na przykład GB, US.

Przykład 1

"logo": {
  "@type": "ImageObject",
  "height": "100",
  "width": "800",
  "contentUrl": "http://www.foo.com/img/67890.jpg",
},

Przykład 2

"logo": [
  {
    "@type": "ImageObject",
    "height": "100",
    "width": "800",
    "contentUrl": "http://www.foo.com/img/67890.jpg",
    "regionsAllowed": [
      {
        "@type": "Country",
        "name": "US"
      },
      {
        "@type": "Country",
        "name": "GB"
      }
    ]
  },
  {
    "@type": "ImageObject",
    "height": "100",
    "width": "800",
    "contentUrl": "http://www.foo.com/img/12345.jpg",
    "regionsAllowed": [
      {
        "@type": "Country",
        "name": "IN"
      },
      {
        "@type": "Country",
        "name": "PK"
      }
    ]
  },
],

Element PropertyValue (identifier)

Jeśli masz identyfikatory GUID swoich treści, możesz w tym polu podać identifier, by zwiększyć dokładność uzgodnienia Twoich treści. Pamiętaj, że w przypadku konta PodcastEpisode wymagany jest identyfikator GUID. Ta wartość musi się różnić od pola @id odcinka (nie w Twojej domenie) i musi reprezentować go globalnie oraz w unikalny sposób z upływem czasu niezależnie od źródła.

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana jest wartość „PropertyValue”.
propertyID Wymagany Tekst Zawsze ustawiana jest wartość GUID.
value Wymagany Tekst Identyfikator GUID serii lub odcinka.

Przykład 1

"identifier": {
  "@type": "PropertyValue",
  "propertyID": "GUID",
  "value": "50204fe4-bc68-4b34-aae6-e73c700cc5ca"
},

Parametr(lub)popularność(wynik)

popularityScore może pomóc użytkownikom w wyświetlaniu najodpowiedniejszych treści w sytuacjach, gdy kryteria zapytania użytkownika pasują do wielu elementów z kanału. Treści z najwyższym wynikiem popularności dostępne w regionie użytkownika są wyświetlane, gdy ta wartość jest dostępna. W przypadku wszystkich treści bez tego pola domyślnie ustawiany jest wynik popularności 0. Porównywanie wyników odbywa się w obrębie całego katalogu, więc upewnij się, że skala jest taka sama we wszystkich plikach danych.

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana jest wartość PopularityScoreSpecification.
value Wymagany Wartość liczbowa Dodatnia wartość liczbowa do porównania z innymi elementami z Twojego katalogu pod kątem priorytetu wyświetlania. Większa liczba oznacza większą popularność.
eligibleRegion Opcjonalny

Kraj lub tekst

powtórzone

Jeden region lub lista regionów, do których ma zastosowanie ten wynik popularności.

Jeśli wynik popularności jest stosowany na całym świecie, jako wartości tekstowej użyj earth.

Jeśli chcesz uwzględnić konkretne regiony, użyj typu „Kraj”.

Jeśli pozostawisz to pole wyłączone, eligibleRegion przyjmuje domyślnie wartość earth.

Kraj (popularityScore.EligibleRegion)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana jest wartość Country.
name Wymagany Tekst Kod kraju w formacie ISO 3166-1 alfa-2. na przykład GB, US.

Przykład 1

"popularityScore": {
  "@type": "PopularityScoreSpecification",
  "value": 4.3,
  "eligibleRegion": "Earth"
},

Przykład 2

"popularityScore": {
  "@type": "PopularityScoreSpecification",
  "value": 2,
  "eligibleRegion": {
    "@type": "Country",
    "name": "US"
  }
},

Przykład 3

"popularityScore": {
  "@type": "PopularityScoreSpecification",
  "value": 101,
  "eligibleRegion": [
    {
      "@type": "Country",
      "name": "US"
    },
    {
      "@type": "Country",
      "name": "GB"
    }
  ]
},

PublicationEvent, FeatureEvent, WyłączEvent (releasedEvent)

Zdarzenie publikacji
Ten obiekt reprezentuje datę i miejsce publikacji programu lub odcinka (nazywanego też „datą premiery” serii lub odcinka). Pole publishedBy oznacza też publikację lub dystrybucję elementu serii lub odcinków podcastu.
Zdarzenie niepowtarzalne
Użyj tego obiektu, aby wskazać, że usługodawca ma wyłączne prawa do dystrybucji podcastu. Wyłączność zależy od regionu i jest ograniczona czasowo. Musi zawierać pole organizacji wskazujące ekskluzywnego dostawcę treści.
Polecane wydarzenie
Użyj tego obiektu, aby wskazać, że usługodawca poleca podcast klientom (na przykład jako oryginał).
Oryginalne treści różnią się od tych na wyłączność
Termin „oryginalne (polecane)” często oznacza wyłączne prawa do danego podmiotu, co przeciąża jego termin. W związku z tym znaczenie należy podzielić na dwie kategorie wymienione powyżej. Pierwotna encja może być także wyjątkowa – w tym przypadku releasedEvent może pobierać tablicę z oboma typami zdarzeń związanymi z tym samym elementem.

Wyłączność lub wyróżnianie treści może mieć podobne znaczenie w katalogu dostawcy, ale zasada PublicationEvent jest bardziej przydatna w przypadku ujednoznacznienia jednostek i dostarczania dodatkowych metadanych dotyczących tego samego materiału, takich jak data premiery serii lub odcinka.

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiaj jedną z tych wartości: PublicationEvent, ExclusiveEvent lub FeaturedEvent.
location Wymagany Kraj Region, w którym wystąpiło zdarzenie publikacji. Możesz też użyć tego atrybutu, aby uwzględnić ograniczenia dotyczące wyłączności i dystrybucji danej jednostki. Użyj kodów ISO 3166 dla danego kraju. Jeśli chcesz zastosować semantykę globalną, ustaw wartość EARTH. Jawnie ustaw wartość location na EARTH, na wypadek, gdyby ograniczenia lokalne nie były stosowane.
startDate Zalecane (wymagane w przypadku niepowtarzalnych zdarzeń) Data lub data i godzina Data rozpoczęcia publikacji elementów. W przypadku obiektu PublicationEvent oznacza początkową datę wydania tej encji. W przypadku znaczników ExclusiveEvent lub FeaturedEvent jest to data rozpoczęcia wyłączności lub funkcji jednostki.
endDate Zalecane (wymagane w przypadku niepowtarzalnych zdarzeń) Data lub data i godzina Data zakończenia publikacji elementów. W przypadku obiektu PublicationEvent oznacza ostateczną datę publikacji tego elementu. W przypadku znaczników ExclusiveEvent lub FeaturedEvent jest to data zakończenia wyłączności lub funkcji jednostki.
publishedBy Wymagany Organizacja lub osoba Element Organization lub Person, który publikuje tę jednostkę i ma zastosowanie do tego zdarzenia publikacji. Użyj tego samego schematu co opisano w sekcji Organizacja (autor/wydawca).

Przykład 1

"releasedEvent": [ {
  "@type": "PublicationEvent",
  "location": "EARTH",
  "startDate": "2016-04-21T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/wnyc",
    "sameAs": "https://en.wikipedia.org/wiki/WNYC",
    "name": "WNYC"
  },
 }, {
  "@type": "FeaturedEvent",
  "location": "US",
  "startDate": "2020-04-18T20:00",
  "endDate": "2020-04-21T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/tjpodcast",
    "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
    "name": "TJPodcast",
  },
 },
]

Przykład 2

"releasedEvent": [ {
  "@type": "FeaturedEvent",
  "location": "US",
  "startDate": "2020-04-18T20:00",
  "endDate": "2020-05-21T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/tjpodcast",
    "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
    "name": "TJPodcast",
  },
 }, {
  "@type": "ExclusiveEvent",
  "location": "US",
  "startDate": "2020-04-18T20:00",
  "endDate": "2020-04-24T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/tjpodcast",
    "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
    "name": "TJPodcast",
  },
 }, {
  "@type": "ExclusiveEvent",
  "location": "CA",
  "startDate": "2020-04-21T20:00",
  "endDate": "2020-04-24T20:00",
  "publishedBy": {
    "@type": "Organization",
    "@id": "https://www.tjpodcast.org/organization/tjpodcast",
    "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
    "name": "TJPodcast",
  },
 }
]

AudioObject (relateddMedia)

AudioObject jest używany do przesyłania nieprzetworzonego pliku multimedialnego na potrzeby odcinka podcastu.

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana jest wartość AudioObject.
contentUrl Wymagany URL Adres URL pliku multimedialnego.
contentSize Wymagany Liczba całkowita Rozmiar pliku multimedialnego w bajtach.
encodingFormat Wymagany Tekst Typy mediów IANA pliku multimedialnego. na przykład audio/mpeg.
duration Wymagany Czas trwania Długość multimediów w formacie ISO 8601.
transcript Opcjonalny Tekst Transkrypcja odcinka.
bitrate Opcjonalny Tekst Szybkość transmisji pliku multimedialnego.
name Opcjonalny Tekst Nazwa pliku multimedialnego.

Przykład 1

"associatedMedia": {
    "@type": "AudioObject",
    "contentUrl": "https://www.tjpodcast.org/media_files/mp3/radiolab_podcast19.mp3",
    "duration": "PT5M32S",
    "contentSize": "53616000",
    "encodingFormat": "audio/mpeg",
    "name": "radiolab_podcast19.mp3",
    "transcript": "Transcript of the episode",
    "bitrate": "64Kbps"
},

ListenAction (potentialAction)

Element ListenAction określa precyzyjne linki do odtwarzania oraz kryteria dostępu użytkowników do treści (np. stan geograficzny, niestandardowy, stan subskrypcji lub subskrypcji).

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana jest wartość ListenAction.
target Wymagany

EntryPoint

powtórzone

Specyfikacja precyzyjnego linku z informacjami o obsługiwanej platformie. Aby zdefiniować różne precyzyjne linki dla różnych zestawów platform, możesz użyć wielu pól EntryPoint.
actionAccessibilityRequirement Wymagany

ActionAccessSpecification

powtórzone

Definicja wymagań, jakie musi spełnić użytkownik, by mieć dostęp do tego elementu. Jeśli istnieje wiele elementów ActionAccessSpecification, użytkownik, który spełnia kryteria specyfikacji, ma dostęp do treści.

Punkt wejścia (potentialAction.target)

table class="fixed"> Priorytet Właściwość Opis @type Wymagany Tekst Zawsze ustawiany na EntryPoint. urlTemplateWymagany adres URL używany do inicjowania odtwarzania Twoich treści. actionPlatform Wymagane

Tekst

powtórzone

Platforma, do której należy link precyzyjny. Oto dostępne wartości:

  • "http://schema.org/DesktopWebPlatform"
  • "http://schema.org/MobileWebPlatform"
  • "http://schema.org/AndroidPlatform"
  • "http://schema.org/AndroidTVPlatform"
  • "http://schema.org/IOSPlatform"
  • "http://schema.googleapis.com/GoogleAudioCast"
  • "http://schema.googleapis.com/GoogleVideoCast"

ActionAccessSpecification (potentialAction.actionAccessibilityRequirement)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana jest wartość ActionAccessSpecification.
category Wymagany Tekst

Typ wymagania dostępu. Musi to być jedna z tych wartości:

  • nologinrequired: użytkownik może wykonać działanie bez konieczności logowania się i bez logowania.
  • free: użytkownik może podjąć działanie i nie musi przy tym niczego kupować ani mieć płatnej subskrypcji. Aby wykonać tę czynność, użytkownik musi się zalogować.
  • subscription: działanie jest zawarte w płatnej subskrypcji usługi.
availabilityStarts Opcjonalny Data/godzina Godzina rozpoczęcia okresu dostępności. Za pomocą tej opcji możesz kontrolować, kiedy dokładnie te treści mogą być widoczne dla użytkowników.
availabilityEnds Opcjonalny Data/godzina Godzina zakończenia okresu dostępności. Za pomocą tej opcji możesz kontrolować, kiedy dokładnie te treści stają się widoczne dla użytkowników.
eligibleRegion Wymagany

Kraj

powtórzone

Kraj, w którym dostępna jest ta oferta. Tutaj możesz określić kraj lub region, w którym te treści muszą być dostępne.
requiresSubscription Wymagany, jeśli ma zastosowanie MediaSubscription Pakiet subskrypcyjny wymagany do uzyskania dostępu do treści. To pole jest wymagane, jeśli Twoja usługa oferuje wiele pakietów subskrypcji. Jeśli Twoja usługa jest bezpłatna lub masz tylko jeden poziom subskrypcji, możesz pominąć to pole.

Kraj (potentialAction.actionAccessibilityRequirement.EligibleRegion)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana jest wartość Country.
name Wymagany Tekst Kod kraju w formacie ISO 3166-1 alfa 2.

MediaSubscription (potentialAction.actionAccessibilityRequirement.requiresSubscription)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana jest wartość MediaSubscription.
@id Wymagany URL Unikalny globalnie identyfikator pakietu subskrypcji w formacie URI. Identyfikator musi być stały i nie może się zmieniać w czasie. Jest traktowany jako nieprzejrzysty ciąg znaków i nie musi być działającym linkiem.
name Wymagany Tekst Nazwa pakietu subskrypcji. na przykład Premium, Basic.
expectsAcceptanceOf Zalecane Oferta Oferta powiązana z zakupem subskrypcji mediów. Możesz w nim podać cenę subskrypcji.

Oferta (potentialAction.actionAccessibilityRequirement.requiresSubscription.expectsAcceptanceOf)

Właściwość Priorytet Typ Opis
@type Wymagany Tekst Zawsze ustawiana jest wartość Offer.
price Wymagany Liczba Cena subskrypcji.
priceCurrency Wymagany Tekst Waluta ceny (w 3-literowym formacie ISO 4217).
seller Zalecane Organizacja Organizacja, która oferuje subskrypcję lub zakup działania. Użyj tego samego schematu co w sekcji Organizacja (autor/wydawca).

Przykład 1

"potentialAction": {
    "@type": "ListenAction",
    "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://www.tjpodcast.org/?streamStationId=170",
        "actionPlatform": [
            "http://schema.org/DesktopWebPlatform",
            "http://schema.org/MobileWebPlatform",
            "http://schema.org/AndroidPlatform",
            "http://schema.org/AndroidTVPlatform",
            "http://schema.org/IOSPlatform",
            "http://schema.googleapis.com/GoogleAudioCast",
            "http://schema.googleapis.com/GoogleVideoCast"
        ]
    },
    "actionAccessibilityRequirement": {
        "@type": "ActionAccessSpecification",
        "category": "nologinrequired",
        "availabilityStarts": "2018-04-01T11:01:00-04:00",
        "availabilityEnds": "2018-06-30T23:59:00-04:00",
        "eligibleRegion": {
            "@type": "Country",
            "name": "US"
        }
    }
},

Przykład 2

"potentialAction": {
    "@type": "ListenAction",
    "target": [
        {
            "@type": "EntryPoint",
            "urlTemplate": "https://www.tjpodcast.org/?streamStationId=170",
            "actionPlatform": [
                "http://schema.org/DesktopWebPlatform",
                "http://schema.org/MobileWebPlatform",
                "http://schema.org/AndroidPlatform",
                "http://schema.org/AndroidTVPlatform",
                "http://schema.org/IOSPlatform"
            ]
        },
        {
            "@type": "EntryPoint",
            "urlTemplate": "https://www.tjpodcast.org/castlink?streamStationId=170",
            "actionPlatform": [
                "http://schema.googleapis.com/GoogleAudioCast",
                "http://schema.googleapis.com/GoogleVideoCast"
            ]
        }
    ],
    "actionAccessibilityRequirement": [
        {
            "@type": "ActionAccessSpecification",
            "category": "nologinrequired",
            "availabilityStarts": "2018-04-01T11:01:00-04:00",
            "availabilityEnds": "2018-06-30T23:59:00-04:00",
            "eligibleRegion": [
                {
                    "@type": "Country",
                    "name": "IN"
                },
                {
                    "@type": "Country",
                    "name": "GB"
                }
            ]
        },
        {
            "@type": "ActionAccessSpecification",
            "category": "Subscription",
            "requiresSubscription": {
                "@type": "MediaSubscription",
                "@id": "http://www.example.com/packages/basic-pack",
                "name": "Basic Pack",
                "expectsAcceptanceOf": {
                    "@type": "Offer",
                    "price": 8.99,
                    "priceCurrency": "USD"
                }
            },
            "availabilityStarts": "2018-04-01T11:01:00-04:00",
            "availabilityEnds": "2018-06-30T23:59:00-04:00",
            "eligibleRegion": {
                "@type": "Country",
                "name": "US"
            }
        }
    ]
},

Dodatek

Pełny przykład

{
    "@context": "http://schema.org",
    "@type": "DataFeed",
    "dateModified": "2018-09-10T13:58:26.892Z",
    "dataFeedElement": [
        {
            "@context": [
                "http://schema.googleapis.com",
                {
                    "@language": "en"
                }
            ],
            "@type": "PodcastSeries",
            "@id": "http://www.tjpodcast.org/series?id=2",
            "url": "http://www.tjpodcast.org/series?id=2",
            "name": "Radiolab",
            "description": "A two-time Peabody Award-winner...",
            "alternativeHeadline": "Radiolab - Powered by WNYC",
            "sameAs": "https://en.wikipedia.org/wiki/Radiolab",
            "image": {
                "@type": "ImageObject",
                "height": "100",
                "width": "800",
                "contentUrl": "http://www.tjpodcast.org/img/2.jpg"
            },
            "logo": {
                "@type": "ImageObject",
                "height": "100",
                "width": "800",
                "contentUrl": "http://www.tjpodcast.org/logo/2/1.jpg"
            },
            "keywords": [
                "Science",
                "Technology",
                "Philosophy",
                "Education"
            ],
            "author": [
                {
                    "@type": "Person",
                    "@id": "https://www.tjpodcast.org/author/jad_abumrad",
                    "name": "Jad Abumrad",
                    "sameAs": "https://en.wikipedia.org/wiki/Jad_Abumrad"
                },
                {
                    "@type": "Person",
                    "@id": "https://www.tjpodcast.org/author/robert_krulwich",
                    "name": "Robert Krulwich",
                    "sameAs": "https://en.wikipedia.org/wiki/Robert_Krulwich"
                }
            ],
            "publisher": {
                "@type": "Organization",
                "name": "WNYC",
                "@id": "https://www.tjpodcast.org/network/wnyc_studios",
                "sameAs": "https://en.wikipedia.org/wiki/WNYC_Studios"
            },
            "isFamilyFriendly": "True",
            "inLanguage": "en",
            "genre": [
                "Science & Medicine",
                "Natural Sciences"
            ],
            "endDate": "2017-12-22T08:59:00",
            "rssFeed": "http://feeds.wnyc.org/radiolab",
            "potentialAction": {
                "@type": "ListenAction",
                "target": {
                    "@type": "EntryPoint",
                    "urlTemplate": "https://www.tjpodcast.org/?streamSeriesId=2",
                    "actionPlatform": [
                        "http://schema.org/DesktopWebPlatform",
                        "http://schema.org/MobileWebPlatform",
                        "http://schema.googleapis.com/GoogleAudioCast",
                        "http://schema.googleapis.com/GoogleVideoCast"
                    ]
                },
                "actionAccessibilityRequirement": {
                    "@type": "ActionAccessSpecification",
                    "category": "nologinrequired",
                    "availabilityStarts": "2018-04-01T11:01:00-04:00",
                    "availabilityEnds": "2019-12-30T23:59:00-04:00",
                    "eligibleRegion": {
                        "@type": "Country",
                        "name": "FR"
                    }
                }
            },
            "popularityScore": {
                "@type": "PopularityScoreSpecification",
                "value": 4.2
            }
        },
        {
            "@context": [
                "http://schema.googleapis.com",
                {
                    "@language": "en"
                }
            ],
            "@type": "PodcastEpisode",
            "@id": "http://www.tjpodcast.org/episode?id=1",
            "url": "http://www.tjpodcast.org/episode?id=1",
            "name": "A Clockwork Miracle",
            "description": "As legend goes, in 1562, King Philip II...",
            "sameAs": "https://www.wnycstudios.org/story/radiolab-clockwork-miracle",
            "image": {
                "@type": "ImageObject",
                "height": "100",
                "width": "800",
                "contentUrl": "http://www.tjpodcast.org/img/2/1.jpg"
            },
            "keywords": [
                "Education",
                "Philosophy",
                "Science",
            ],
            "partOfSeries": {
                "@type": "PodcastSeries",
                "@id": "http://www.tjpodcast.org/series?id=2",
                "name": "Radiolab",
                "sameAs": "https://en.wikipedia.org/wiki/Radiolab",
            },
            "episodeNumber": 101,
            "inLanguage": "en",
            "author": [
                {
                    "@type": "Person",
                    "@id": "https://www.tjpodcast.org/author/jad_abumrad",
                    "name": "Jad Abumrad",
                    "sameAs": "https://en.wikipedia.org/wiki/Jad_Abumrad"
                },
                {
                    "@type": "Person",
                    "@id": "https://www.tjpodcast.org/author/robert_krulwich",
                    "name": "Robert Krulwich",
                    "sameAs": "https://en.wikipedia.org/wiki/Robert_Krulwich"
                }
            ],
            "publisher": {
                "@type": "Organization",
                "name": "WNYC",
                "@id": "https://www.tjpodcast.org/network/wnyc_studios",
                "sameAs": "https://en.wikipedia.org/wiki/WNYC_Studios"
            },
            "isFamilyFriendly": "True",
            "genre": [
                "Science",
                "Philosophy",
                "Fiction"
            ],
            "datePublished": "2018-12-27T23:23:00Z",
            "timeRequired": "PT22M",
            "associatedMedia": {
                "@type": "AudioObject",
                "contentUrl": "https://www.tjpodcast.org/media_files/mp3/radiolab_podcast19.mp3",
                "duration": "PT21M45S",
                "contentSize": "53616000",
                "encodingFormat": "audio/mpeg",
                "transcript": "Transcript of the episode",
                "bitrate": "64Kbps"
            },
            "potentialAction": {
                "@type": "ListenAction",
                "target": {
                    "@type": "EntryPoint",
                    "urlTemplate": "https://www.tjpodcast.org/?streamEpisodeId=1",
                    "actionPlatform": [
                        "http://schema.org/DesktopWebPlatform",
                        "http://schema.org/MobileWebPlatform",
                        "http://schema.googleapis.com/GoogleAudioCast",
                        "http://schema.googleapis.com/GoogleVideoCast"
                    ]
                },
                "actionAccessibilityRequirement": {
                    "@type": "ActionAccessSpecification",
                    "category": "nologinrequired",
                    "availabilityStarts": "2018-04-01T11:01:00-04:00",
                    "availabilityEnds": "2019-12-30T23:59:00-04:00",
                    "eligibleRegion": {
                        "@type": "Country",
                        "name": "FR"
                    }
                }
            },
            "popularityScore": {
                "@type": "PopularityScoreSpecification",
                "value": 3.8
            },
            "identifier": [
                {
                    "@type": "PropertyValue",
                    "propertyID": "GUID",
                    "value": "53ff386e-e768-40b5-8854-1b7415826ded"
                }
            ]
        }
    ],
    "actor": [
        {
            "@type": "PerformanceRole",
            "actor": {
                "@type": "Person",
                "@id": "https://www.tjpodcast.org/person/Roman",
                "name": {
                    "@language": "en",
                    "@value": "Roman Mars"
                },
                "roleName": "Host",
                "sameAs": "https://en.wikipedia.org/wiki/Roman"
            },
            "actor": {
                "@type": "Person",
                "@id": "https://www.tjpodcast.org/person/guest",
                "name": {
                    "@language": "en",
                    "@value": "Kurt Kohlstedt"
                },
                "roleName": "Guest"
            }
        }
    ],
    "releasedEvent": [
        {
            "@type": "FeaturedEvent",
            "location": "US",
            "startDate": "2020-04-18T20:00",
            "endDate": "2020-05-21T20:00",
            "publishedBy": {
                "@type": "Organization",
                "@id": "https://www.tjpodcast.org/organization/tjpodcast",
                "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
                "name": "TJPodcast"
            }
        },
        {
            "@type": "ExclusiveEvent",
            "location": "US",
            "startDate": "2020-04-18T20:00",
            "endDate": "2020-04-24T20:00",
            "publishedBy": {
                "@type": "Organization",
                "@id": "https://www.tjpodcast.org/organization/tjpodcast",
                "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
                "name": "TJPodcast"
            }
        },
        {
            "@type": "ExclusiveEvent",
            "location": "CA",
            "startDate": "2020-04-21T20:00",
            "endDate": "2020-04-24T20:00",
            "publishedBy": {
                "@type": "Organization",
                "@id": "https://www.tjpodcast.org/organization/tjpodcast",
                "sameAs": "https://en.wikipedia.org/wiki/tjpodcast",
                "name": "TJPodcast"
            }
        }
    ]
}