Résoudre les problèmes liés aux phases d'évaluation de Chrome

Résolvez les problèmes courants liés aux jetons d'essai dans les balises Meta, les en-têtes et les scripts.

Checklist

Pour résoudre les problèmes liés à une phase d'évaluation, examinez chacun des problèmes ci-dessous à l'aide des liens fournis.

Essayez !

Les démonstrations ci-dessous présentent chacune des façons de fournir un jeton d'évaluation d'origine et d'accéder à une fonctionnalité en phase d'évaluation:

Vérifier les jetons à l'aide des outils pour les développeurs Chrome

Depuis les outils de développement Chrome 93 fournissent des informations sur la phase d'évaluation dans le Panneau d'application pour le frame sélectionné.

Outils pour les développeurs Chrome 
sur les phases d'évaluation dans le panneau "Application".

Développez le cadre supérieur pour examiner les jetons d'évaluation de l'origine disponibles pour un sous-frame. Par exemple, pour le champ de démonstration à l'adresse ot-iframe.glitch.me, vous pouvez constater que la page iFrame fournit un jeton.

Outils pour les développeurs Chrome 
  Panneau de l'application affichant les jetons d'évaluation de l'origine pour la page dans un iFrame

  • État du jeton: indique si la page dispose d'un jeton valide. Notez que pour certaines phases d'évaluation, d'autres facteurs, comme des restrictions géographiques, signifient que la phase d'évaluation n'est pas disponible, malgré la présence d'un jeton valide. Codes d'état des outils pour les développeurs Chrome explique la signification de chacun des codes pour les phases d'évaluation.
  • Origine: l'origine Web enregistrée pour la à partir d'un jeton d'accès.
  • Expiry Time (Délai d'expiration) : la date/heure d'expiration la plus (la plus récente) possible pour le jeton, qui sera normalement correspondent à la fin de l'essai. Il ne s'agit pas de la même date que la date d'expiration de validité du jeton affiché dans Mes enregistrements, , qui indique la durée de validité actuelle du jeton, et peut être prolongé.
  • Restriction d'utilisation: les limites d'utilisation, qui peuvent être définies pour certains essais.
  • Tiers: correspondance tierce est activé pour le jeton. Cette fonctionnalité est disponible pour certaines phases d'évaluation, où une fonctionnalité d'essai doit sont accessibles sur plusieurs sites à partir de scripts tiers.
  • Match Sub-Domains (Correspondance avec les sous-domaines) : indique si la correspondance de sous-domaine est activé pour le jeton. Cela permet de tester une fonctionnalité d'évaluation sous-domaines d'une origine, sans avoir besoin d'un jeton différent pour chaque sous-domaine.

Les outils pour les développeurs Chrome afficheront un avertissement à côté du nom de l'essai si celui-ci n'est pas disponible pour l'utilisateur actuel, le jeton a expiré ou s'il existe d'autres restrictions.

Outils pour les développeurs Chrome 
Informations sur les phases d'évaluation dans le panneau "Application" affichant le jeton arrivé à expiration

Codes d'état des outils pour les développeurs Chrome

  • Arrivé à expiration: le jeton a dépassé sa date d'expiration. Le jeton doit être renouvelé pour générer un nouveau jeton avec une nouvelle date d'expiration.
    Code source

  • FeatureDisabled: l'essai est actuellement désactivé.
    Code source

  • FeatureDisabledForUser: ce jeton a été désigné comme désactivé pour l'utilisateur actuel via un une restriction d'utilisation alternative. Voir les "Exclusions de sous-ensembles d'utilisateurs" du document de conception.
    Code source 1
    Code source 2

  • Non sécurisé: l'origine de la requête n'est pas sécurisée, et l'essai n'est pas activé pour les origines non sécurisées. Comme expliqué dans le code du validateur de jeton de la phase d'évaluation: Pour les jetons tiers, l'origine actuelle et l'origine du script doivent être sécurisées. Motif : correspondance de sous-domaine, il est possible que l'origine du jeton ne corresponde pas exactement à l'un des scripts fournis et le résultat n'indique pas quelle origine spécifique a été mise en correspondance. Cela signifie qu'il ne s'agit pas une recherche directe pour trouver l'origine de script appropriée. Pour éviter d'effectuer à nouveau toutes les comparaisons d'origines, il existe des raccourcis qui dépendent du nombre d'origines de script fournies. Il doit y avoir au moins ou le jeton tiers ne serait pas validé correctement."
    Code source

  • InvalidSignature: la signature du jeton n'est pas valide ou son format n'est pas correct.
    Code source

  • Format incorrect: le jeton est mal formé et n'a pas pu être analysé.
    Code source

  • NotSupported: la phase d'évaluation définie par le jeton n'est pas compatible avec Chromium "embedder" : un navigateur tel que Chrome ou Edge, WebView ou un autre user-agent.
    Code source

  • Opération réussie: le jeton est correctement formé, n'a pas expiré, correspond à une fonctionnalité d'évaluation d'origine et a demandée à partir d'une origine attendue.
    Code source

  • TokenDisabled: le jeton a été marqué comme désactivé et ne peut pas être utilisé.
    Code source

  • TrialNotAllowed: la phase d'évaluation n'est pas disponible pour l'utilisateur actuel.
    Code source

  • UnknownTrial: ce jeton spécifie un nom de fonctionnalité qui ne correspond à aucun essai connu.
    Code source

  • WrongOrigin: l'origine de la requête ne correspond pas à celle spécifiée dans le jeton. Cela peut inclure le schéma, le nom d'hôte ou le port. Cet état est également affiché si un jeton tiers sont fournies dans un en-tête HTTP, une balise Meta ou un script intégré, et non à partir d'un fichier JavaScript externe.
    Code source

  • WrongVersion: version de jeton incorrecte: seules les versions 2 et 3 de jeton sont actuellement compatibles.
    Code source


Cela ne fonctionne pas. 🤔

Si votre phase d'évaluation ne fonctionne pas comme prévu, assurez-vous de remplir les conditions suivantes.

Vous effectuez le test dans Chrome, et non dans Chromium ou dans un autre navigateur

Les phases d'évaluation de Chrome sont conçues pour les utilisateurs de Chrome. Ne pas utiliser les jetons d'évaluation Origin Trial Chrome pour activer des fonctionnalités d'essai dans d'autres navigateurs, y compris Chromium et d'autres navigateurs basés sur Chromium. En effet, les phases d'évaluation de Chrome sont spécifiques aux fonctionnalités disponibles dans Chrome pour et l'expérimentation.

Des phases d'évaluation sont également disponibles pour Firefox et Microsoft Edge. L'inscription à une phase d'évaluation de Firefox ou d'Edge n'active pas la fonctionnalité dans Chrome.

La phase d'évaluation est activée pour les versions de Chrome accédant à votre site

L'accès aux versions d'essai est limité à certaines versions de Chrome. Dans certains cas, il peut s'agir d'un essai Cette fonctionnalité n'est disponible que pour les versions pré-stable de Chrome: Canary, en développement et bêta.

Vous pouvez vérifier la disponibilité des versions sur la page d'inscription. pour l'essai:

Phases d'évaluation Chrome
pour les ensembles internes et SameParty avec la disponibilité de Chrome mise en évidence

Vous pouvez vérifier la version de Chrome que vous utilisez à l'adresse chrome://version.

La phase d'évaluation n'est pas désactivée par les paramètres Chrome

Si un utilisateur signale qu'une fonctionnalité ne fonctionne pas pour lui, vérifiez qu'elle ne fonctionne pas désactivées dans leurs paramètres Chrome. Par exemple, Privacy Sandbox fonctionnalités peuvent être désactivées depuis la page chrome://settings/privacySandbox.

Les mots clés et la syntaxe sont corrects.

Assurez-vous d'utiliser des mots clés et une syntaxe appropriés pour les jetons d'évaluation.

Pour une utilisation propriétaire, vous pouvez fournir un jeton dans une balise Meta origin-trial:

<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

Un jeton peut également être fourni dans un en-tête de réponse Origin-Trial. Voici un exemple utilisant Express dans Node.js:

app.use(function(req, res, next) {
  res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
  next();
});

Les jetons peuvent également être fournis à l'aide de JavaScript:

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

L'origine du jeton propriétaire correspond à l'origine de la page

Assurez-vous que la valeur Origine Web sélectionnée lorsque vous vous inscrivez à un essai correspond à l'origine de page contenant la balise Meta ou l'en-tête qui fournit le jeton.

Par exemple, si vous avez sélectionné https://example.com comme origine Web:

Phases d&#39;évaluation Chrome 
page montrant que https://example.com est sélectionné comme origine Web.

Vous pouvez obtenir une valeur de jeton semblable à celle-ci:

Phases d&#39;évaluation Chrome 
page indiquant la valeur du jeton.

Vérifiez que cette valeur correspond au jeton utilisé sur la page concernée par le dépannage.

Pour un jeton fourni dans une balise Meta, consultez le code HTML:

  <meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

Pour un jeton fourni dans un en-tête, vous pouvez vérifier la valeur du jeton à partir de la Panneau Chrome DevTools Network sous En-têtes de réponse:

Outils pour les développeurs Chrome 
Panneau &quot;Network&quot; (Réseau) affichant l&#39;en-tête de la réponse &quot;Origin Tris&quot; (Phases d&#39;évaluation)

Le jeton propriétaire est diffusé depuis l'origine qui l'utilise

Pour activer l'accès à une fonctionnalité d'évaluation pour le code inclus dans une page diffusée depuis votre origine, procédez comme suit : fournir un jeton d'essai dans une balise Meta, un en-tête ou via JavaScript de la même origine.

L'origine enregistrée pour un jeton doit correspondre à l'origine qui le diffuse.

L'origine du jeton tiers correspond à l'origine du script

Vous pouvez vous inscrire pour participer à une phase d'évaluation pour les scripts injectés sur d'autres origines.

Par exemple, si vous souhaitez que les scripts diffusés depuis javascript-library.example participent aux une phase d'évaluation, vous devez enregistrer un jeton avec une mise en correspondance tierce pour javascript-library.example.

Phases d&#39;évaluation de Chrome 
page d&#39;inscription montrant la mise en correspondance tierce sélectionnée.

La valeur d'origine d'un jeton tiers doit correspondre à l'origine du script qui l'injecte.

Le script tiers utilise un jeton tiers

Vous ne pouvez pas autoriser un script tiers à participer à une phase d'évaluation sur votre site simplement en l'enregistrement d'un jeton pour votre origine, et non pour le script.

Les scripts tiers doivent utiliser des jetons sur lesquels la mise en correspondance tierce est activée, injectés via le script (non incluse dans une balise Meta ni dans un en-tête de votre site) à l'aide d'un code semblable à celui-ci:

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

Le jeton tiers est fourni par le biais d'un script externe, et non d'une balise Meta, d'un en-tête HTTP ou d'un script intégré.

Les jetons tiers sont validés par rapport à l'origine du script qui les a injectés, mais de façon intégrée. Les scripts et les balises <meta> du balisage statique n'ont pas d'origine (c'est-à-dire une URL source).

Cela signifie qu'un jeton tiers doit être fourni via un script externe, et non dans une balise <meta>. ou un script intégré. Peu importe que le script externe qui injecte le jeton provient du Même origine que la page hôte ou d'une origine différente, tant que l'origine du script correspond une origine enregistrée pour l'essai.

Vous pouvez regarder une démonstration à l'adresse ot-iframe-3p.glitch.me.

L'accès à la fonctionnalité d'essai Origin Trial est compatible avec la méthode utilisée pour fournir un jeton d'essai

Pour certains types d'accès aux fonctionnalités d'évaluation, vous devez fournir un jeton d'essai selon une méthode spécifique. Par exemple, le seul moyen d'activer l'accès à la phase d'évaluation pour les service workers et les workers partagés consiste à fournir un jeton dans un en-tête Origin-Trial.

La correspondance de sous-domaines est activée pour un jeton utilisé sur un sous-domaine

Si une fonctionnalité d'évaluation ne semble pas fonctionner pour certaines pages de votre site, vérifiez que les jetons sont correctement configurés pour les sous-domaines qui les utilisent.

Lorsque vous vous inscrivez à une phase d'évaluation, vous pouvez choisir de faire correspondre tous les sous-domaines de origine:

Phases d&#39;évaluation de Chrome 
page d&#39;enregistrement montrant l&#39;option de correspondance de sous-domaine sélectionnée

Vous pouvez également associer des sous-domaines pour les jetons tiers:

Phases d&#39;évaluation de Chrome 
page d&#39;inscription montrant les correspondances tierces et les correspondances de sous-domaines sélectionnées

Les jetons de sous-domaine ne seront pas émis. pour les origines figurant dans la liste des suffixes publics. Par exemple, vous ne pouvez pas enregistrer une origine telle que https://appspot.com ou https://github.io, bien que vous puissiez vous enregistrer pour des domaines au sein de cette origine, par exemple https://example.appspot.com ou https://example.github.io.

Le jeton est toujours valide

Les jetons sont valides pendant six semaines à compter de leur création. En outre, vous devez envoyer vos commentaires dans l'ordre pour repousser la date limite de validité. Le guide des phases d'évaluation pour les développeurs Web explique comment s'assurer votre jeton est valide pour toute la phase d'évaluation.

Vous pouvez vérifier si des jetons sont actifs sur la page Mes inscriptions de vos phases d'évaluation Chrome:

Phases d&#39;évaluation de Chrome 
Page &quot;Mes inscriptions&quot; affichant &quot;Valide jusqu&#39;au&quot;

Les outils pour les développeurs Chrome affichent l'état Success si le jeton est toujours valide:

Outils pour les développeurs Chrome 
Informations sur les phases d&#39;évaluation dans le panneau &quot;Application&quot;, avec la mention &quot;État: Réussite&quot; encadrée

Si votre jeton a expiré, les outils de développement affichent l'état Expired et votre La page Mes enregistrements contient la section Jetons expirés.

Phases d&#39;évaluation de Chrome 
Page &quot;Mes enregistrements&quot; affichant les jetons arrivés à expiration.

La phase d'évaluation n'est pas terminée

Vous pouvez vérifier la date de fin d'une phase d'évaluation sur sa page d'inscription:

Phases d&#39;évaluation Chrome
pour les ensembles internes et SameParty avec les détails de l&#39;essai disponible mis en évidence.

Pour les essais terminés, les outils de développement affichent ce qui suit:

Outils pour les développeurs Chrome 
Informations sur les phases d&#39;évaluation dans le panneau &quot;Application&quot;, indiquant &quot;ValidTokenNotProvided&quot; et &quot;Status Expiré&quot;

Vous recevrez des e-mails automatiques lorsqu'un commentaire sera nécessaire ou qu'un jeton est sur le point d'expirer. et non à la fin de l'essai.

La phase d'évaluation est disponible pour l'utilisateur actuel

Certaines phases d'évaluation ne sont pas disponibles pour certains utilisateurs, même si un jeton valide est fourni.

Si aucun essai n'est disponible pour l'utilisateur actuel, les outils pour les développeurs Chrome afficheront un avertissement TrialNotAllowed:

Informations sur les phases d&#39;évaluation des outils pour les développeurs Chrome dans le panneau &quot;Application&quot; avec un avertissement &quot;TrialNotAllowed&quot;

Des informations sur les restrictions d'utilisation et la disponibilité seront fournies pour chaque phase d'évaluation.

Comme pour toute fonctionnalité de la plate-forme Web, vous devez utiliser la détection de fonctionnalités. pour vérifier qu'une fonctionnalité d'évaluation est prise en charge avant de l'utiliser.

Les restrictions d'utilisation de la phase d'évaluation n'ont pas été dépassées

Par défaut, une fonctionnalité d'évaluation est activée sur toute page disposant d'un jeton valide pour la phase d'évaluation.

Toutefois, sauf dans de rares cas, l'utilisation de la phase d'évaluation est limitée à 0,5% de tous les chargements de pages Chrome. La phase d'évaluation sera désactivée si l'utilisation totale par tous les utilisateurs de Chrome dépasse cette limite. Les outils de développement indiquent que le jeton est désactivé.

Aucune limite d'utilisation n'est imposée pour les essais avant arrêt, car ils n'introduisent pas de nouvelles fonctionnalités et ne présentent donc pas de risque de générer du Web à condition qu'une fonctionnalité d'essai soit disponible.

Certaines versions d'essai permettent également de limiter l'utilisation, ce qui signifie que les fonctionnalités désactivé pour certains utilisateurs. Cette option est disponible sur la page d'enregistrement d'une origine d'essai qui le propose:

Phases d&#39;évaluation de Chrome 
page d&#39;inscription affichant les restrictions d&#39;utilisation

Si vous remarquez que l'accès de vos utilisateurs à une fonctionnalité d'évaluation est moins élevé que prévu, vérifiez que la valeur "Limite standard" est sélectionnée.

Les tags iFrame fournissent leurs propres jetons

Pour autoriser l'accès à une fonctionnalité d'évaluation, un iFrame doit fournir un jeton dans une balise Meta, une balise ou par programmation. Les tags iFrame n'héritent pas de l'accès aux fonctionnalités activées pour pages qui les contiennent.

ot-iframe.glitch.me montre l'accès à une fonctionnalité d'évaluation de l'origine à partir d'un iFrame. ot-iframe-3p.glitch.me fournit plusieurs d'iFrame d'origine différente.

Les règles d'autorisation sont correctement configurées

Certaines fonctionnalités de la phase d'évaluation peuvent être affectées par une Permissions-Policy (auparavant appelé en-tête Feature-Policy). Vous pouvez vérifier cela dans la Intention de test pour la fonctionnalité d'essai, ou dans la documentation destinée aux développeurs concernant la fonctionnalité sur web.dev ou developer.chrome.com/blog.

Assurez-vous que la fonctionnalité à laquelle vous tentez d'accéder n'est pas bloquée par un Permissions-Policy directive. Vous pouvez rechercher les en-têtes de réponse dans le panneau Chrome DevTools Network liste complète des fonctionnalités autorisées dans le panneau "Application".

Outils pour les développeurs Chrome 
  Panneau &quot;Application&quot; affichant la fonctionnalité autorisée par la règle d&#39;autorisation

Qu'en est-il des nœuds de calcul ?

Les fonctionnalités des phases d'évaluation peuvent être mises à la disposition des service workers, des workers partagés et des les nœuds de calcul. Toutefois, le seul moyen d'autoriser l'accès aux service workers et aux workers partagés est de leur fournir un jeton dans un en-tête Origin-Trial.

Les nœuds de calcul dédiés héritent de l'accès aux fonctionnalités activées par leur document parent.

Le jeton est fourni avant l'accès à la fonctionnalité

Assurez-vous qu'un jeton d'évaluation d'origine est fourni avant l'accès à une fonctionnalité d'essai. Par exemple, si une page fournit un jeton via JavaScript, assurez-vous que le code est exécutée avant le code qui tente d'accéder à la fonctionnalité d'essai.

Démonstrations de la phase d'évaluation

En savoir plus