Lorsqu'un utilisateur lance des actions multimédias sur un contenu (par exemple, qu'il clique sur votre icône dans la recherche Google), Google le redirige directement vers le contenu de votre application ou plate-forme à l'aide du lien profond du contenu.
Lien profond
Voici les conditions requises pour les liens profonds:
urlTemplate
(d'un objet cible) nécessite un lien profond.- Les liens profonds doivent ouvrir le contenu qu'ils ciblent sur toutes les plates-formes spécifiées.
- Les liens profonds peuvent inclure des paramètres (&) ou des balises d'ancrage (#).
- Si la lecture automatique n'est pas activée par défaut, nous vous recommandons d'ajouter un paramètre, tel que
&autoplay=true
, au lien profond pour activer la fonctionnalité de lecture automatique sur votre application ou votre plate-forme.
- Si la lecture automatique n'est pas activée par défaut, nous vous recommandons d'ajouter un paramètre, tel que
Exemple de @id
, url
et urlTemplate
:
{
"@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",
...
},
...
},
...
}
Lancer la lecture à l'aide de liens profonds
Le pseudocode suivant représente le comportement souhaité lorsqu'un utilisateur lance la lecture:
if your app is installed
open app and initiate playback
elseif your website supports playback
open your website and initiate playback
else
take user to your app's install page on the Play or App store and then
initiate playback after your app is installed
Pour obtenir le comportement de lecture souhaité, respectez les exigences spécifiques à la plate-forme suivantes:
- iOS
- Vous devez utiliser des liens universels.
- Android et Android TV
- Vous pouvez utiliser des liens vers l'application Android ou des liens vers un schéma personnalisé.
Liens de schéma personnalisé pour Android et Android TV
Sur Android et Android TV, vous pouvez également utiliser des liens de schéma personnalisés. L'package_id
de votre application doit être inclus dans l'URI du schéma personnalisé. Cela garantit que l'utilisateur est redirigé vers la page de votre application sur le Play Store si celle-ci n'est pas installée.
Par conséquent, les formats d'URI suivants sont les seuls formats de schéma personnalisé acceptables pour les actions multimédias:
android-app://{package_id}/{scheme}/{path}
-
Exemple :
android-app://com.partner.mynetworkapp/mynetwork/play?series=20114&title=21141&media=e90c89fa4
Pour en savoir plus, consultez la spécification complète.
intent://{package_id}/{scheme}/{path}
-
Exemple :
intent://com.partner.mynetworkapp/mynetwork/play?series=20114&title=21141&media=e90c89fa4
Les autres formats d'URI, comme l'exemple suivant, ne sont pas des liens de schéma personnalisé acceptables pour les actions multimédias:
scheme://{path}
-
Exemple :
mynetwork://play?series=20114&title=21141&media=e90c89fa4
Bonnes pratiques
Si votre application n'est pas installée et que vous ne disposez pas d'un lecteur Web, configurez votre serveur Web pour rediriger automatiquement l'utilisateur vers l'Android Store ou l'App Store afin qu'il puisse l'installer. Pour la redirection, utilisez des liens dynamiques Firebase ou des plates-formes de liens intelligents tiers.
Si votre application n'est pas installée et que vous disposez d'un lecteur Web, fournissez un lien ou une bannière intelligente vers l'Android Store ou l'App Store pour que les utilisateurs puissent installer votre application. Vous trouverez ci-dessous un exemple de bannière intelligente implémentée:
Résumé des exigences et des limites concernant les liens profonds
Le tableau suivant présente les exigences et les limites concernant les liens profonds, telles qu'elles s'appliquent à iOS, Android et Android TV:
iOS | Android et Android TV | |
---|---|---|
http:// ou https:// | Obligatoire | Recommandé si le site Web mobile est compatible avec la lecture. |
android-app:// ou intent:// | N/A | Recommandé si le site Web mobile n'est pas compatible avec la lecture. |
foo:// (chaîne arbitraire) | Non autorisé | Non autorisé |
Types de plates-formes
Pour vous assurer que vos contenus sont disponibles sur les différentes plates-formes de Google (Recherche, Assistant, Android TV et Chromecast), respectez les exigences suivantes:
- Toutes les plates-formes partenaires compatibles nécessitent un lien profond pour vos contenus.
- Pour les plates-formes Chromecast, vous devez créer un récepteur à l'aide du dernier SDK Récepteur du framework d'applications Cast (CAF).
- Pour les plates-formes mobiles (Android et iOS), consultez les exigences dans la section Utiliser des liens profonds pour lancer la lecture.
Le tableau suivant contient la liste des plates-formes compatibles avec les actions multimédias:
Plate-forme | Description |
---|---|
http://schema.org/DesktopWebPlatform
|
Plate-forme de recherche dans un navigateur Web pour ordinateur |
http://schema.org/MobileWebPlatform
|
Plate-forme de recherche dans un navigateur Web mobile. |
http://schema.org/AndroidPlatform
|
Plates-formes Search et PlayGuide dans l'application Android. |
http://schema.org/AndroidTVPlatform
|
Plate-forme Android TV dans l'application Android TV. |
http://schema.org/IOSPlatform
|
Plate-forme de recherche dans l'application iOS. |
http://schema.googleapis.com/GoogleVideoCast
|
Plates-formes Cast et Home sur un appareil Chromecast |
http://schema.googleapis.com/GoogleAudioCast
|
Actions liées à l'écoute uniquement Plates-formes Cast et Home sur un appareil Chromecast |
Exemple d'entité avec deux liens profonds différents:
"potentialAction": {
"@type": "WatchAction",
"target": [
{
"@type": "EntryPoint",
"urlTemplate": "http://www.example.com/standardView",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform"
]
},
{
"@type":"EntryPoint",
"urlTemplate":"http://example.com/multipleViews",
"actionPlatform": [
"http://schema.org/IOSPlatform",
"http://schema.org/AndroidPlatform",
"http://schema.org/AndroidTVPlatform",
"http://schema.googleapis.com/GoogleVideoCast"
],
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "videoFormat",
"value": [ "HD", "4K" ]
}
],
}
],
...
}
Comportement de lecture
Pour la plupart des contenus, lorsque Google redirige les utilisateurs vers votre application ou votre plate-forme, nous vous demandons de lancer automatiquement le contenu sélectionné. Les utilisateurs peuvent ainsi commencer à regarder ou à écouter le contenu rapidement.
Comportement de lecture des actions de visionnage
Pour les actions de visionnage, nous exigeons le comportement de lecture suivant.
Tous les liens profonds : "Movie", "TVEpisode", "TVSeries" et "TVSeason"
Comportement de connexion ou d'achat:si votre service nécessite une connexion ou un achat, le film ou l'épisode doit être diffusé, selon le type, par la suite. Pour en savoir plus, consultez les consignes concernant les liens profonds ci-dessous.
Lecture:si votre service suit l'état d'un utilisateur, la lecture doit commencer à partir du repère précédent de l'utilisateur sur le film ou l'épisode. Sinon, la lecture doit commencer au début du contenu.
Lecture automatique:selon la plate-forme, votre service doit diffuser le contenu de manière bien visible une fois que l'utilisateur a sélectionné l'épisode ou le film cible.
- Recherche:la lecture automatique est vivement recommandée, mais pas obligatoire. Si la lecture automatique n'est pas prise en charge, le contenu doit être lu en un clic après que l'utilisateur a été redirigé vers votre application ou votre service.
- Android TV:la lecture automatique est obligatoire pour les films et les épisodes.
Liens profonds TVSeries et TVSeason uniquement
Sélection de l'épisode cible:vous devez sélectionner l'épisode cible approprié. Si votre service suit l'état d'un utilisateur, l'épisode cible doit être celui que l'utilisateur a arrêté de regarder pour la dernière fois. Si l'utilisateur a regardé l'épisode qu'il regardait en dernier dans son intégralité, définissez l'épisode cible sur l'épisode suivant. Dans le cas contraire, l'épisode cible doit correspondre à l'un des éléments suivants, à votre discrétion:
TVSeries
- Premier épisode de la série. Recommandé pour les séries.
- Premier épisode de la dernière saison. Recommandé pour les séries longues.
- Dernier épisode Recommandé pour les émissions quotidiennes ou d'actualité.
TVSeason
- Premier épisode de la saison. Recommandé pour les séries.
- Dernier épisode Recommandé pour les émissions quotidiennes ou d'actualité.
Un lien profond pour
TVSeries
ouTVSeason
doit être statique (ne pas changer) et renvoyer vers l'épisode cible. N'utilisez pas le lien profond pour un épisode spécifique.Le tableau suivant fournit plusieurs exemples illustrant la logique de sélection d'épisodes cibles requise pour les types d'entités
TVSeries
,TVSeason
etTVEpisode
:Épisode cible si l'utilisateur a regardé l'épisode 24 de la saison 6 en dernier Épisode cible si l'utilisateur n'a regardé aucun épisode Lien profond vers la série - S6E24 (si l'utilisateur n'a pas terminé S6E24)
- S6E25 (si l'utilisateur a terminé de regarder S6E24)
Choisissez l'une des options suivantes :
- Premier épisode de la série
- Premier épisode de la dernière saison
- Dernier épisode
Lien profond vers la saison (S1 à S5) - Épisode que l'utilisateur a regardé en dernier dans cette saison ou premier épisode de la saison si l'utilisateur n'a regardé aucun épisode de cette saison.
- Premier épisode de la saison
Lien profond de la saison (S6) - S6E24 (si l'utilisateur n'a pas terminé S6E24)
- S6E25 (si l'utilisateur a terminé de regarder S6E24)
Choisissez l'une des options suivantes :
- Premier épisode de la saison
- Dernier épisode
Lien profond vers un épisode - Épisode spécifique sur lequel l'utilisateur a cliqué.
- Épisode spécifique sur lequel l'utilisateur a cliqué.
Comportement de lecture des actions d'écoute
Pour les actions d'écoute, nous exigeons le comportement de lecture suivant:
- Le contenu doit être lu en un clic après que l'utilisateur a été redirigé vers votre application ou votre service.
- Si votre application ou votre plate-forme nécessite une connexion, elle doit lire le contenu immédiatement ou en un clic après la connexion.
- Votre application ou plate-forme doit proposer au moins une méthode permettant à tous les utilisateurs de lire le titre, l'album, l'artiste ou la playlist exacts.
- Pour les utilisateurs qui ne peuvent pas lire le contenu exact (par exemple, s'ils ne disposent pas de l'abonnement requis), votre service doit expliquer ce qu'ils doivent faire pour pouvoir lire le contenu exact lorsqu'ils accèdent à votre application ou plate-forme.
Nous vous recommandons de respecter les bonnes pratiques suivantes pour votre application ou votre plate-forme:
- Pour
MusicGroup
, diffusez un contenu différent de l'artiste chaque fois qu'un utilisateur le sélectionne. - Pour
MusicAlbum
, lisez le contenu dans l'ordre d'apparition dans l'album. - Pour
MusicPlaylist
, lisez un contenu différent de la playlist chaque fois qu'un utilisateur la sélectionne.
Identifier les liens profonds
Procédez comme suit :
- Pour chaque contenu, vérifiez s'il comporte des liens profonds différents en fonction des plates-formes.
- Pour chaque lien profond, posez les questions suivantes sur son point d'entrée (la page de votre application ou de votre plate-forme vers laquelle le lien profond vous redirige) :
- Le point d'entrée (et non le contenu) est-il compatible avec plusieurs langues ?
- Le point d'entrée accepte-t-il plusieurs langues de sous-titres ?
- Le point d'entrée est-il compatible avec plusieurs angles de vue ?
- Le point d'entrée est-il compatible avec plusieurs formats vidéo ?
Si vous répondez "oui" à l'une de ces questions, vous devez fournir la propriété additionalProperty
pour ce lien profond. Consultez l'exemple additionalProperty.