Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Le flux multimédia est un objet JSON qui contient une collection d'entités représentant les contenus multimédias de votre catalogue, tels que les séries TV, les films, les titres, les albums, etc. La première étape du processus d'intégration consiste à commencer à développer vos flux. Une fois les fichiers prêts, vous devez héberger le flux à l'aide de l'une des méthodes d'hébergement compatibles pour que Google puisse l'extraire régulièrement.
Exigences concernant le format des fichiers de flux
Voici les conditions requises pour le ou les fichiers de flux :
Le fichier de flux doit comporter l'extension de nom de fichier .json.
Ne chiffrez pas votre fichier de flux.
Encodez votre fichier de flux en UTF-8 (vérifiez le paramètre de votre éditeur de fichiers).
Si votre fichier de flux est supérieur à 1 Go (non compressé), scindez-le en plusieurs fichiers.
Nous vous recommandons de créer un fichier par type d'entité (par exemple, tvseries.json, tvseasons.json, tvepisodes.json, movies.json, etc.).
Si l'un de ces fichiers dépasse 1 Go, divisez ses entités en plusieurs fichiers (par exemple, tvepisodes_01.json, tvepisodes_02.json, etc.).
Tant que la taille du fichier est inférieure à 1 Go, vous pouvez inclure autant d'entités que vous le souhaitez dans un seul fichier.
Assurez-vous que le fichier est encodé sans BOM, conformément à la spécification JSON. Pour vérifier sur un OS Linux, hexdump file.json | head -n 1 ne doit pas commencer par BBEF à l'adresse 0x00.
Types de flux
Flux de production
Il s'agit de l'ensemble des fichiers de flux JSON qui représentent l'ensemble de votre catalogue que vous souhaitez lancer sur Google. Découvrez comment créer un flux dans la section ci-dessous.
Il s'agit du seul flux dont vous avez besoin si vous effectuez une intégration avec Google pour la première fois.
Une fois ce flux envoyé à Google, il sera analysé et itéré plusieurs fois afin d'atteindre un niveau de qualité plus élevé en termes de quantité d'informations collectées et de leur exactitude avant d'être finalement ingéré et lancé.
Flux de préproduction
Certains cas d'utilisation nécessitent l'extension du flux de production. Voici quelques exemples de scénarios de ce type :
Extension du flux pour inclure de nouveaux types d'entités, qui n'avaient pas été lancés auparavant.
Élargissement du flux pour inclure un grand nombre de nouvelles entités/métadonnées à lancer dans de nouvelles langues.
Extension du flux à de nouveaux types de plates-formes Par exemple, lorsque le flux de production n'est lancé que dans la recherche Google et que vous souhaitez l'étendre à Google TV.
Dans ce cas, un flux de préproduction est nécessaire. Ce flux est une copie du flux de production, mais il contient des métadonnées supplémentaires, par exemple des liens profonds pour une nouvelle plate-forme, des métadonnées pour une nouvelle langue, etc.
Comme pour le flux de production, il sera analysé en profondeur et itéré plusieurs fois afin d'atteindre un niveau de qualité plus élevé en termes de quantité d'informations collectées et de leur exactitude.
Une fois la barre de qualité atteinte, ce flux remplace le flux de production actuel pour devenir le nouveau flux de production.
Ce flux nous permet de séparer le lancement initial des lancements supplémentaires, d'effectuer tous les tests requis, sans affecter le flux de production. Cela garantit une expérience utilisateur optimale.
Contactez votre représentant Google pour toute question concernant les points ci-dessus.
Créer un fichier de flux
Suivez ces bonnes pratiques lorsque vous créez le flux:
Avant de créer un flux contenant l'intégralité du contenu de votre catalogue, nous vous recommandons de créer un flux d'exemple ne contenant qu'un petit nombre d'entités. Lorsque vous travaillez sur votre flux, vous êtes susceptible de rencontrer des problèmes. En limitant la taille de l'ensemble d'entités, vous pourrez déboguer plus facilement ces erreurs et avertissements.
Nous mettons à votre disposition des outils qui vous permettent de vérifier que votre flux est conforme aux spécifications. Nous vous recommandons d'utiliser ces outils pour résoudre toutes les erreurs et avertissements détectés dans votre exemple de flux.
Une fois que vous avez vérifié que vous avez une bonne structure pour le petit ensemble de vos entités, développez un flux pour l'ensemble de votre catalogue.
Créer un exemple de flux
Sélectionnez une entité représentative dans votre catalogue. Choisissez une entité dont la structure est raisonnablement complexe, mais qui reste typique d'une entité du catalogue.
Utilisez l'outil de validation des flux de données pour rechercher les erreurs de syntaxe et les propriétés requises manquantes. (Pour en savoir plus, consultez la section suivante.)
Exemple de flux avec une seule entité Movie
{"@context":"http://schema.org","@type":"DataFeed","dateModified":"2018-07-20T00:44:51Z","dataFeedElement":[{"@context":["http://schema.org",{"@language":"en"}],"@type":"Movie","@id":"http://www.example.com/my_favorite_movie","url":"http://www.example.com/my_favorite_movie","name":"My Favorite Movie","potentialAction":{"@type":"WatchAction","target":{"@type":"EntryPoint","urlTemplate":"http://www.example.com/my_favorite_movie?autoplay=true","inLanguage":"en","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/GoogleVideoCast"]},"actionAccessibilityRequirement":{"@type":"ActionAccessSpecification","category":"subscription","requiresSubscription":{"@type":"MediaSubscription","name":"Example Package","commonTier":true,"@id":"[partner determined string]"},"availabilityStarts":"2018-07-21T10:35:29Z","availabilityEnds":"2019-10-21T10:35:29Z","eligibleRegion":[{"@type":"Country","name":"US"},{"@type":"Country","name":"CA"}]}},"sameAs":"https://en.wikipedia.org/wiki/my_favorite_movie","releasedEvent":{"@type":"PublicationEvent","startDate":"2008-01-20","location":{"@type":"Country","name":"US"}},"description":"This is my favorite movie.","actor":[{"@type":"Person","name":"John Doe","sameAs":"https://en.wikipedia.org/wiki/John_Doe"},{"@type":"Person","name":"Jane Doe","sameAs":"https://en.wikipedia.org/wiki/Jane_Doe"}],"identifier":[{"@type":"PropertyValue","propertyID":"IMDB_ID","value":"tt0123456"}]}]}
Valider l'exemple de flux
Les outils suivants sont disponibles pour vous aider à valider un exemple de flux avec les spécifications de Google concernant les données structurées pour les flux multimédias.
Outil de validation des flux de données
L'outil de validation de flux de données ne peut valider qu'une seule entité à la fois. Utilisez cet outil pour vérifier si un échantillon d'entité de votre catalogue contient des erreurs structurelles et des erreurs de contenu courantes. Pour en savoir plus sur cet outil, cliquez ici.
Outil de validation de schéma JSON
L'outil de validation de schéma JSON peut valider tous les fichiers d'un flux. Utilisez cet outil lors du développement du flux pour éviter les erreurs structurelles courantes. Pour en savoir plus sur cet outil, cliquez ici.
Créer un flux de production
Une fois toutes les erreurs et avertissements de l'exemple de flux corrigés, développez-le pour inclure toutes les entités de votre catalogue.
Utilisez fréquemment l'outil de validation de flux de données pour valider un petit nombre d'entités de votre flux à la fois (coller un grand nombre d'entités dans l'outil peut entraîner le blocage du navigateur Web). Vérifiez que votre flux inclut toutes les entités de votre catalogue en comparant le nombre d'entités de votre flux au nombre d'articles de votre catalogue.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
[null,null,[],[[["\u003cp\u003eThe Media feed is a JSON object that contains media content, and onboarding begins with developing and hosting these feeds.\u003c/p\u003e\n"],["\u003cp\u003eFeed files must be in \u003ccode\u003e.json\u003c/code\u003e format, UTF-8 encoded without BOM, unencrypted, and potentially split into multiple files if exceeding 1GB.\u003c/p\u003e\n"],["\u003cp\u003eTwo types of feeds exist: Production feed for initial launch of your entire catalog and Staging feed for subsequent expansions or new platform integrations.\u003c/p\u003e\n"],["\u003cp\u003eBefore creating a full production feed, it is recommended to start with a sample feed, validate it using provided tools, and then expand it to include your entire catalog.\u003c/p\u003e\n"]]],["The initial step in onboarding is developing media feeds, which are JSON files representing your catalog's content. Once developed, these files must be hosted for regular Google fetching. Feed files must be in `.json` format, UTF-8 encoded, unencrypted, and under 1GB (uncompressed); splitting larger files is recommended. Two types exist: production (for initial launch) and staging (for expansion), both are validated and iterated. You should start with a small sample feed for validation, then use tools to validate it, and expand to a production feed.\n"],null,["# Create a feed\n\nThe Media feed is a JSON object that contains a collection of entities that represent the\nmedia content in your catalog, such as TV Series, Movies, Songs, Albums, and more. The first step in\nthe onboarding process is to start developing your feeds. Once the files are ready, you need to [host](./host-the-feed)\nthe feed using one of the supported hosting methods for Google to fetch regularly.\n| **Note:** If you haven't gathered all the required information for your content, see the [Collect Information](../collect-information/) section.\n\nFeed file format requirements\n-----------------------------\n\nThe following are the requirements for the feed file(s):\n\n- Feed file must have the filename extension `.json`.\n- Don't encrypt your feed file.\n- Encode your feed file in UTF-8 (check your file editor setting).\n\n- Split the file into multiple files if your feed file is larger than 1 GB (uncompressed).\n\n- We recommend you create a file per entity type (for example, `tvseries.json`, `tvseasons.json`, `tvepisodes.json`, `movies.json`, etc).\n\n - If any of these files exceeds 1GB, split its entities into multiple files (for example, `tvepisodes_01.json`, `tvepisodes_02.json`, etc).\n - As long as the file size is less than 1 GB, there is no limitation on how many entities you can include in a single file.\n- Ensure that the file is encoded **without** BOM, as per [JSON specification](https://tools.ietf.org/html/rfc7159#section-8.1). To check on a linux OS, `hexdump file.json | head -n 1` must not start with `BBEF` at address 0x00.\n\nTypes of feeds\n--------------\n\n### Production feed\n\n- This represents the set of json feed file(s) that together represent your entire catalog you want to launch on Google. You can learn how to create a feed in the section below.\n- This is the only feed you need if you are integrating with Google for the first time.\n- Once this feed is submitted to Google, it will be extensively analyzed and iterated on a few times to achieve a higher quality bar w.r.t the amount of information being captured and its correctness before it is finally ingested and launched.\n\n### Staging feed\n\n- There are certain use cases that require the expansion of the production feed. A few examples of such scenarios are:\n - Expansion of the feed to include new entity types, not previously launched.\n - Expansion of the feed to include a huge number of new entities/metadata to launch in new locales.\n - Expansion of the feed to new platform types. For example, when the production feed is only launched on Google Search and now you want to expand the launch to Google TV.\n- In such cases, a staging feed is required. This feed is a copy of the production feed except that it has additional metadata, for example, deep links for a new platform, metadata for a new locale and so on.\n- Similar to the production feed, this will be extensively analyzed and iterated on a few times to achieve a higher quality bar w.r.t the amount of information being captured and its correctness. Once the quality bar is achieved, this feed replaces the current production feed to become the new production feed.\n- This feed allows us to separate the initial launch from the additional launches, perform all required testing, without affecting the production feed. This ensures no disruptions to the end user experience.\n\nWork with your Google representative to clarify any questions you may have on the above.\n\nCreate a feed file\n------------------\n\nFollow these best practices when creating the feed:\n\n1. [Create a sample feed using a small set of entities](#create_a_sample_feed)\n\n Before building a feed that contains all the content in your catalog, we recommend you create a\n sample feed with only a small set of entities. While working on your feed, you're likely to run into\n issues. By limiting your the size of the set of entities, you will be able to debug these errors and\n warnings more easily.\n2. [Validate the sample feed](#validate_the_sample_feed)\n\n We provide tools that ensure that your feed is compliant with the specifications. We recommend\n you use these tools to resolve all the errors and warnings found in your sample feed.\n3. [Create a production feed](#create_a_production_feed)\n\n After you've verified that you have a good structure for the small set of your entities, develop a feed for your entire catalog.\n\n### Create a sample feed\n\n1. Select one representative entity from your catalog. Choose an entity with a reasonably complex structure, but is still typical for an entity in the catalog.\n 2. Use the [Data Feed Validation tool](https://actions.google.com/tools/feed-validator/u/0/) to check for syntax errors and missing required properties. (See the next section for details.) Example of a feed with a single `Movie` entity \n\n ```carbon\n {\n \"@context\": \"http://schema.org\",\n \"@type\": \"DataFeed\",\n \"dateModified\": \"2018-07-20T00:44:51Z\",\n \"dataFeedElement\": [\n {\n \"@context\": [\"http://schema.org\", {\"@language\": \"en\"}],\n \"@type\": \"Movie\",\n \"@id\": \"http://www.example.com/my_favorite_movie\",\n \"url\": \"http://www.example.com/my_favorite_movie\",\n \"name\": \"My Favorite Movie\",\n \"potentialAction\": {\n \"@type\": \"WatchAction\",\n \"target\": {\n \"@type\": \"EntryPoint\",\n \"urlTemplate\": \"http://www.example.com/my_favorite_movie?autoplay=true\",\n \"inLanguage\": \"en\",\n \"actionPlatform\": [\n \"http://schema.org/DesktopWebPlatform\",\n \"http://schema.org/MobileWebPlatform\",\n \"http://schema.org/AndroidPlatform\",\n \"http://schema.org/AndroidTVPlatform\",\n \"http://schema.org/IOSPlatform\",\n \"http://schema.googleapis.com/GoogleVideoCast\"\n ]\n },\n \"actionAccessibilityRequirement\": {\n \"@type\": \"ActionAccessSpecification\",\n \"category\": \"subscription\",\n \"requiresSubscription\": {\n \"@type\": \"MediaSubscription\",\n \"name\": \"Example Package\",\n \"commonTier\": true,\n \"@id\": \"[partner determined string]\"\n },\n \"availabilityStarts\": \"2018-07-21T10:35:29Z\",\n \"availabilityEnds\": \"2019-10-21T10:35:29Z\",\n \"eligibleRegion\": [\n {\n \"@type\": \"Country\",\n \"name\": \"US\"\n },\n {\n \"@type\": \"Country\",\n \"name\": \"CA\"\n }\n ]\n }\n },\n \"sameAs\": \"https://en.wikipedia.org/wiki/my_favorite_movie\",\n \"releasedEvent\": {\n \"@type\": \"PublicationEvent\",\n \"startDate\": \"2008-01-20\",\n \"location\": {\n \"@type\": \"Country\",\n \"name\": \"US\"\n }\n },\n \"description\": \"This is my favorite movie.\",\n \"actor\": [\n {\n \"@type\": \"Person\",\n \"name\": \"John Doe\",\n \"sameAs\": \"https://en.wikipedia.org/wiki/John_Doe\"\n },\n {\n \"@type\": \"Person\",\n \"name\": \"Jane Doe\",\n \"sameAs\": \"https://en.wikipedia.org/wiki/Jane_Doe\"\n }\n ],\n \"identifier\": [\n {\n \"@type\": \"PropertyValue\",\n \"propertyID\": \"IMDB_ID\",\n \"value\": \"tt0123456\"\n }\n ]\n }\n ]\n }\n ```\n\n### Validate the sample feed\n\nThe following tools are available to help you validate a sample feed with Google's structured data\nspecifications for media feeds.\n\n- **Data Feed Validation tool**\n\n The Data Feed Validation tool can validate a single entity at a time. Use this tool to validate a sample\n entity from your catalog for structural errors and common content errors. You can find more\n details about the tool [here](../tools/troubleshoot-using-the-data-feed-validation-tool).\n- **JSON Schema Validation tool**\n\n The JSON Schema Validation tool can validate all files in a feed. Use this tool during the\n development of the feed to avoid common structural errors. You can find more details about the\n tool [here](../tools/jsonschemas).\n\n### Create a production feed\n\n1. Once all the errors and warnings in the sample feed are resolved, expand the feed to include all the entities in your catalog.\n2. Use the [Data Feed Validation tool](https://actions.google.com/tools/feed-validator/u/0/) frequently to validate a small number of entities in your feed at a time (Pasting a large number of entities on the tool may freeze the web browser). Confirm that your feed includes all the entities in your catalog by comparing the number of entities in your feed with the number of items in your catalog."]]