Khắc phục sự cố khi dùng thử theo nguyên gốc Chrome

Giải quyết các vấn đề thường gặp về mã thông báo dùng thử trong thẻ meta, tiêu đề và tập lệnh.

Danh sách kiểm tra

Để khắc phục sự cố về bản dùng thử theo nguyên gốc, hãy xem xét từng vấn đề bên dưới bằng các đường liên kết được cung cấp.

{/4 trải qua nguyên gốc trên Chrome {30/.

Hãy dùng thử ngay!

Bản minh hoạ bên dưới cho biết từng cách cung cấp mã thông báo bản dùng thử theo nguyên gốc và cách sử dụng tính năng dùng thử:

Sử dụng Công cụ của Chrome cho nhà phát triển để kiểm tra mã thông báo

Từ Chrome 93 Công cụ cho nhà phát triển cung cấp thông tin về bản dùng thử theo nguyên gốc trong Bảng điều khiển ứng dụng cho khung đã chọn.

Thông tin về bản dùng thử theo nguyên gốc Công cụ của Chrome cho nhà phát triển trong bảng điều khiển Ứng dụng.

Mở rộng khung trên cùng để kiểm tra mã thông báo bản dùng thử theo nguyên gốc có sẵn cho một khung phụ. Ví dụ: đối với trang minh hoạ tại ot-iframe.glitch.me, bạn có thể thấy trang trong iframe cung cấp mã thông báo.

Bảng điều khiển ứng dụng Công cụ của Chrome cho nhà phát triển, hiển thị các mã thông báo bản dùng thử theo nguyên gốc cho trang trong iframe.

  • Trạng thái mã thông báo: Liệu trang có mã thông báo hợp lệ hay không. Xin lưu ý rằng đối với một số bản dùng thử theo nguyên gốc, có thể có các yếu tố khác, chẳng hạn như giới hạn theo khu vực địa lý, có nghĩa là tính năng bản dùng thử theo nguyên gốc sẽ không hoạt động, mặc dù có mã thông báo hợp lệ. Mã trạng thái Công cụ của Chrome cho nhà phát triển giải thích ý nghĩa của từng mã đối với bản dùng thử theo nguyên gốc.
  • Nguồn gốc: Nguồn gốc web đã được đăng ký cho mã thông báo.
  • Thời gian hết hạn: ngày/thời gian hết hạn tối đa (mới nhất) của mã thông báo, thường khớp với thời điểm kết thúc thời gian dùng thử. Ngày này khác với Ngày có hiệu lực của mã thông báo xuất hiện trong Gói đăng ký của tôi. Ngày này cho biết mã thông báo hiện có hiệu lực trong bao lâu và có thể gia hạn.
  • Hạn chế sử dụng: Giới hạn sử dụng, bạn có thể đặt giới hạn sử dụng cho một số bản dùng thử.
  • Bên thứ ba: Liệu tính năng so khớp bên thứ ba có được bật cho mã thông báo hay không. Tính năng này áp dụng cho một số bản dùng thử theo nguyên gốc, trong đó, bạn cần sử dụng tính năng dùng thử trên nhiều trang web qua các tập lệnh của bên thứ ba.
  • So khớp miền phụ: Liệu tính năng so khớp miền con có được bật cho mã thông báo hay không. Chế độ này cho phép hệ thống kiểm thử tính năng dùng thử theo nguyên gốc trên nhiều miền con của cùng một nguồn gốc mà không cần phải có một mã thông báo riêng cho mỗi miền con.

Công cụ của Chrome cho nhà phát triển sẽ hiển thị cảnh báo bên cạnh tên bản dùng thử nếu không có bản dùng thử cho người dùng hiện tại, mã thông báo đã hết hạn hoặc nếu có các quy định hạn chế khác.

Thông tin về bản dùng thử theo nguyên gốc của Công cụ của Chrome cho nhà phát triển trong bảng điều khiển Ứng dụng cho thấy mã thông báo đã hết hạn

Mã trạng thái của Công cụ của Chrome cho nhà phát triển

  • Đã hết hạn: Mã thông báo đã quá ngày hết hạn. Bạn cần gia hạn mã thông báo để tạo một mã mới có ngày hết hạn mới.
    Mã nguồn

  • FeatureDisabled: Bản dùng thử hiện bị tắt nên không sử dụng được.
    Mã nguồn

  • FeatureDisabledForUser: Mã thông báo này đã được chỉ định là đã tắt đối với người dùng hiện tại thông qua một quy tắc hạn chế về việc sử dụng thay thế. Hãy xem phần "Loại trừ tập hợp con người dùng" trong tài liệu thiết kế.
    Mã nguồn 1
    Mã nguồn 2

  • Không an toàn: Nguồn gốc của yêu cầu không an toàn và bản dùng thử không được kích hoạt đối với các nguồn gốc không bảo mật. Như đã giải thích trong mã trình xác thực mã thông báo bản dùng thử nguồn gốc: "Đối với mã thông báo của bên thứ ba, cả nguồn gốc hiện tại và nguồn gốc của tập lệnh đều phải an toàn. Do việc so khớp miền con, nguồn gốc của mã thông báo có thể không khớp chính xác với một trong các nguồn gốc tập lệnh đã cung cấp và kết quả không cho biết nguồn gốc cụ thể nào đã được so khớp. Điều này có nghĩa đây không phải là một thao tác tra cứu trực tiếp để tìm nguồn gốc tập lệnh thích hợp. Để tránh thực hiện lại tất cả các phép so sánh nguồn, có nhiều lối tắt phụ thuộc vào số lượng nguồn gốc tập lệnh được cung cấp. Phải có ít nhất một mã, nếu không, mã thông báo của bên thứ ba sẽ không được xác thực thành công."
    Mã nguồn

  • InvalidSignature: Mã thông báo có chữ ký không hợp lệ hoặc không đúng định dạng.
    Mã nguồn

  • Không đúng định dạng: Mã thông báo không đúng định dạng và không thể phân tích cú pháp.
    Mã nguồn

  • NotSupported (Không được hỗ trợ): Bản dùng thử theo nguyên gốc do mã thông báo xác định không được hỗ trợ trong "embedder" của Chromium: một trình duyệt như Chrome hoặc Edge, WebView hoặc một số tác nhân người dùng khác.
    Mã nguồn

  • Thành công: Mã thông báo được tạo đúng cách, chưa hết hạn, khớp với một tính năng dùng thử theo nguyên gốc và được yêu cầu từ một nguồn dự kiến.
    Mã nguồn

  • TokenDisabled: Mã thông báo đã được đánh dấu là đã tắt và không thể sử dụng.
    Mã nguồn

  • TrialNotAllowed: Bản dùng thử theo nguyên gốc không được cung cấp cho người dùng hiện tại.
    Mã nguồn

  • UnknownTrial (Bản dùng thử không xác định): Mã thông báo chỉ định tên tính năng không khớp với bất kỳ bản dùng thử nào đã biết.
    Mã nguồn

  • WrongOrigin (sai): Nguồn gốc của yêu cầu không khớp với nguồn được chỉ định trong mã thông báo. Dữ liệu này có thể bao gồm giao thức, tên máy chủ hoặc cổng. Trạng thái này cũng sẽ hiển thị nếu mã thông báo của bên thứ ba được cung cấp trong tiêu đề HTTP, thẻ meta hoặc tập lệnh cùng dòng, thay vì từ tệp JavaScript bên ngoài.
    Mã nguồn

  • WrongVersion: Phiên bản mã thông báo không chính xác: hiện chỉ hỗ trợ mã thông báo phiên bản 2 và 3.
    Mã nguồn


Tính năng này không hoạt động! 🤔

Nếu bản dùng thử theo nguyên gốc không hoạt động như mong đợi, hãy đảm bảo bạn đáp ứng các điều kiện sau.

Bạn đang thử nghiệm trong Chrome, không phải Chromium hoặc trình duyệt khác

Bản dùng thử theo nguyên gốc Chrome được thiết kế để phù hợp với người dùng Chrome. Đừng dựa vào mã thông báo bản dùng thử theo nguyên gốc của Chrome để bật các tính năng dùng thử trong các trình duyệt khác, bao gồm cả Chromium và các trình duyệt dựa trên Chromium khác. Điều này là do bản dùng thử theo nguyên gốc Chrome dành riêng cho các tính năng được cung cấp trong Chrome cho mục đích thử nghiệm.

Bản dùng thử theo nguyên gốc cũng có sẵn cho FirefoxMicrosoft Edge. Việc đăng ký bản dùng thử theo nguyên gốc Firefox hoặc Edge sẽ không bật được tính năng nào trong Chrome.

Bản dùng thử theo nguyên gốc được bật cho các phiên bản Chrome truy cập vào trang web của bạn

Quyền truy cập vào bản dùng thử chỉ giới hạn ở các phiên bản cụ thể của Chrome. Trong một số trường hợp, điều này có nghĩa là tính năng dùng thử chỉ có sẵn cho các kênh Chrome tiền ổn định: Canary, Dev và Beta.

Bạn có thể kiểm tra phạm vi cung cấp phiên bản dùng thử trên trang đăng ký:

Trang Bản dùng thử theo nguyên gốc Chrome
cho Nhóm bên thứ nhất và Cùng một nhóm có phạm vi cung cấp Chrome được làm nổi bật

Bạn có thể kiểm tra phiên bản Chrome mình đang sử dụng từ chrome://version.

Chế độ cài đặt của Chrome không tắt bản dùng thử theo nguyên gốc

Nếu một người dùng báo cáo rằng một tính năng hiện không hoạt động cho họ, hãy kiểm tra để đảm bảo tính năng đó không bị tắt trong phần cài đặt Chrome. Ví dụ: bạn có thể tắt các tính năng của Hộp cát về quyền riêng tư trên trang chrome://settings/privacySandbox.

Từ khóa và cú pháp phải chính xác

Hãy nhớ sử dụng các từ khoá và cú pháp thích hợp cho mã thông báo bản dùng thử theo nguyên gốc.

Để bên thứ nhất sử dụng, bạn có thể cung cấp mã thông báo trong thẻ meta origin-trial:

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

Ngoài ra, bạn có thể cung cấp mã thông báo trong tiêu đề phản hồi Origin-Trial. Dưới đây là ví dụ về cách sử dụng Express trong Node.js:

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

Bạn cũng có thể cung cấp mã thông báo bằng JavaScript:

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

Nguồn gốc của mã thông báo bên thứ nhất khớp với nguồn gốc của trang

Hãy đảm bảo rằng bạn đã chọn giá trị Web Origin (Nguồn gốc web) khi đăng ký bản dùng thử khớp với nguồn gốc của trang có thẻ meta hoặc tiêu đề cung cấp mã thông báo.

Ví dụ: nếu bạn đã chọn https://example.com làm Nguồn gốc web:

Trang Bản dùng thử theo nguyên gốc của Chrome 
cho thấy https://example.com được chọn làm Nguồn gốc của web.

Bạn có thể nhận được giá trị mã thông báo như sau:

Trang Bản dùng thử theo nguyên gốc của Chrome 
cho thấy giá trị của mã thông báo.

Hãy kiểm tra để đảm bảo rằng giá trị này khớp với mã thông báo dùng trên trang mà bạn đang khắc phục sự cố.

Đối với mã thông báo được cung cấp trong thẻ meta, hãy kiểm tra HTML:

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

Đối với mã thông báo được cung cấp trong tiêu đề, bạn có thể kiểm tra giá trị mã thông báo từ bảng điều khiển Mạng của Chrome cho nhà phát triển trong phần Tiêu đề phản hồi:

Bảng điều khiển mạng của Công cụ của Chrome cho nhà phát triển hiển thị tiêu đề phản hồi bản dùng thử theo nguyên gốc.

Mã thông báo của bên thứ nhất được phân phát từ nguồn gốc sử dụng mã đó

Để cho phép sử dụng tính năng dùng thử theo nguyên gốc cho mã có trong một trang do bạn phân phối tại nguồn gốc, hãy cung cấp mã thông báo dùng thử trong thẻ meta, tiêu đề hoặc thông qua JavaScript trên cùng một nguồn.

Nguồn gốc đã đăng ký cho mã thông báo phải khớp với nguồn phân phát mã thông báo đó.

Nguồn gốc của mã thông báo bên thứ ba khớp với nguồn gốc của tập lệnh

Bạn có thể đăng ký tham gia dùng thử theo nguyên gốc cho các tập lệnh được chèn vào các nguồn gốc khác.

Ví dụ: nếu muốn các tập lệnh phân phát từ javascript-library.example tham gia bản dùng thử theo nguyên gốc, bạn cần đăng ký mã thông báo với tính năng so khớp bên thứ ba cho javascript-library.example.

Trang đăng ký dùng thử theo nguyên gốc Chrome hiển thị nội dung so khớp của bên thứ ba đã chọn.

Giá trị nguồn gốc của mã thông báo của bên thứ ba phải khớp với giá trị gốc của tập lệnh chèn mã đó.

Tập lệnh của bên thứ ba sử dụng mã thông báo của bên thứ ba

Bạn không thể cho phép tập lệnh của bên thứ ba tham gia dùng thử theo nguyên gốc trên trang web của mình chỉ bằng cách đăng ký mã thông báo cho nguồn gốc của bạn, chứ không phải đăng ký tập lệnh đó.

Tập lệnh của bên thứ ba cần sử dụng mã thông báo đã bật tính năng so khớp của bên thứ ba, được chèn thông qua chính tập lệnh đó (không được bao gồm trong thẻ meta hoặc tiêu đề trên trang web của bạn) bằng cách sử dụng mã như sau:

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

Mã thông báo của bên thứ ba được cung cấp thông qua một tập lệnh bên ngoài, không phải thông qua thẻ meta, tiêu đề HTTP hoặc tập lệnh cùng dòng

Mã thông báo của bên thứ ba được xác thực dựa trên nguồn gốc của tập lệnh đã chèn mã đó, nhưng các tập lệnh cùng dòng và thẻ <meta> trong mã đánh dấu tĩnh thì không có nguồn gốc (tức là URL nguồn).

Tức là mã thông báo của bên thứ ba phải được cung cấp thông qua tập lệnh bên ngoài, chứ không phải trong thẻ <meta> hay tập lệnh cùng dòng. Việc tập lệnh bên ngoài chèn mã thông báo có cùng nguồn gốc với trang chứa hay có một nguồn gốc khác không quan trọng, miễn là nguồn gốc của tập lệnh khớp với nguồn đã đăng ký dùng thử.

Bạn có thể xem bản minh hoạ về tính năng này tại ot-iframe-3p.glitch.me.

Hỗ trợ quyền truy cập vào tính năng dùng thử theo nguyên gốc đối với phương thức dùng để cung cấp mã thông báo bản dùng thử

Một số loại quyền truy cập tính năng dùng thử theo nguyên gốc yêu cầu bạn phải cung cấp mã dùng thử theo một cách cụ thể. Ví dụ: cách duy nhất để bật quyền truy cập bản dùng thử theo nguyên gốc cho trình chạy dịch vụ và trình thực thi dùng chung là cung cấp mã thông báo trong tiêu đề Origin-Trial.

Tính năng so khớp miền con được bật cho mã thông báo được dùng trên miền con

Nếu tính năng dùng thử theo nguyên gốc có vẻ không hoạt động cho một số trang trên trang web của bạn, hãy kiểm tra để đảm bảo rằng mã thông báo được thiết lập chính xác cho các miền con phân phát quảng cáo.

Khi đăng ký dùng thử theo nguyên gốc, bạn có thể tuỳ ý chọn so khớp với tất cả miền con của nguồn gốc đó:

Trang đăng ký dùng thử theo nguyên gốc Chrome cho thấy lựa chọn so khớp miền con

Bạn cũng có thể so khớp miền con cho mã thông báo của bên thứ ba:

Trang đăng ký dùng thử theo nguyên gốc Chrome cho thấy lựa chọn so khớp bên thứ ba và so khớp miền con

Mã thông báo của miền con sẽ không được cấp cho các nguồn gốc trong Danh sách hậu tố công khai. Ví dụ: Bạn không thể đăng ký một nguồn gốc như https://appspot.com hoặc https://github.io, mặc dù bạn có thể đăng ký các miền thuộc nguồn gốc đó, chẳng hạn như https://example.appspot.com hoặc https://example.github.io.

Mã thông báo vẫn hợp lệ

Mã thông báo có hiệu lực trong sáu tuần sau khi được tạo. Ngoài ra, bạn phải gửi ý kiến phản hồi để gia hạn Ngày có hiệu lực. Hướng dẫn về bản dùng thử theo nguyên gốc dành cho nhà phát triển web giải thích cách đảm bảo mã thông báo của bạn hợp lệ trong toàn bộ bản dùng thử theo nguyên gốc.

Bạn có thể kiểm tra các mã thông báo đang hoạt động trên trang Đăng ký của tôi trong Bản dùng thử theo nguyên gốc của Chrome:

Bản dùng thử theo nguyên gốc Chrome 
Trang Đăng ký của tôi hiển thị Ngày hết hiệu lực

Công cụ của Chrome cho nhà phát triển sẽ hiển thị Trạng thái Success nếu mã thông báo vẫn hợp lệ:

Thông tin về bản dùng thử theo nguyên gốc Công cụ của Chrome cho nhà phát triển trong bảng điều khiển Ứng dụng, làm nổi bật Trạng thái: Thành công.

Nếu mã thông báo của bạn đã hết hạn, Công cụ cho nhà phát triển sẽ hiển thị trạng thái Expiredtrang Đăng ký của tôi sẽ hiển thị phần Mã thông báo đã hết hạn.

Bản dùng thử theo nguyên gốc Chrome 
Trang Đăng ký của tôi cho thấy các mã thông báo đã hết hạn.

Bản dùng thử theo nguyên gốc chưa kết thúc

Bạn có thể kiểm tra ngày kết thúc của bản dùng thử theo nguyên gốc trên trang đăng ký của bản dùng thử đó:

Trang Bản dùng thử theo nguyên gốc Chrome cho Nhóm bên thứ nhất và Cùng nhóm, trong đó thông tin chi tiết về Bản dùng thử được làm nổi bật.

Đối với các phiên bản dùng thử đã kết thúc, Công cụ cho nhà phát triển sẽ hiển thị nội dung như sau:

Thông tin về bản dùng thử theo nguyên gốc Công cụ của Chrome cho nhà phát triển trong bảng điều khiển Ứng dụng hiển thị InvalidTokenNotProvided và Trạng thái đã hết hạn

Bạn sẽ nhận được email tự động khi cần có ý kiến phản hồi hoặc mã thông báo sắp hết hạn, nhưng không phải khi thời gian dùng thử kết thúc.

Bản dùng thử theo nguyên gốc có sẵn cho người dùng hiện tại

Một số bản dùng thử theo nguyên gốc không được cung cấp cho một số người dùng, ngay cả khi bạn cung cấp một mã thông báo hợp lệ.

Nếu không có bản dùng thử cho người dùng hiện tại, Công cụ của Chrome cho nhà phát triển sẽ hiển thị cảnh báo TrialNotAllowed:

Thông tin về bản dùng thử theo nguyên gốc Công cụ của Chrome cho nhà phát triển trong bảng điều khiển Ứng dụng hiển thị cảnh báo TrialNotAllowed.

Thông tin về các giới hạn sử dụng và phạm vi cung cấp sẽ được cung cấp cho từng bản dùng thử theo nguyên gốc.

Giống như với mọi tính năng nền tảng web, bạn nên sử dụng tính năng phát hiện tính năng để xác nhận rằng một tính năng dùng thử theo nguyên gốc được hỗ trợ trước khi sử dụng.

Chưa vượt quá giới hạn sử dụng bản dùng thử theo nguyên gốc

Theo mặc định, tính năng dùng thử theo nguyên gốc sẽ được kích hoạt trên mọi trang có mã thông báo hợp lệ cho bản dùng thử.

Tuy nhiên, ngoại trừ một số ít trường hợp, việc sử dụng bản dùng thử theo nguyên gốc chỉ được giới hạn ở 0,5% tổng số lượt tải trang trên Chrome. Tính năng dùng thử theo nguyên gốc sẽ bị tắt nếu tổng mức sử dụng của tất cả người dùng Chrome vượt quá mức đó. Công cụ cho nhà phát triển sẽ hiển thị trạng thái mã thông báo là đã tắt.

Không có giới hạn về mức sử dụng đối với các bản dùng thử việc ngừng sử dụng, vì các bản dùng thử này không đưa ra tính năng mới nên không có nguy cơ khiến một lượng lớn trang web phụ thuộc vào tính năng dùng thử.

Một số bản dùng thử cũng đưa ra lựa chọn giới hạn mức sử dụng, tức là các tính năng dùng thử theo nguyên gốc sẽ bị tắt đối với một số người dùng. Lựa chọn này có trên trang đăng ký bản dùng thử theo nguyên gốc cung cấp lựa chọn này:

Trang đăng ký dùng thử theo nguyên gốc Chrome cho thấy các quy định hạn chế về việc sử dụng.

Nếu bạn nhận thấy người dùng có quyền truy cập vào tính năng dùng thử theo nguyên gốc thấp hơn dự kiến, hãy nhớ chọn "Giới hạn tiêu chuẩn".

Iframe cung cấp mã thông báo riêng

Để cho phép sử dụng tính năng dùng thử theo nguyên gốc, iframe phải cung cấp mã thông báo trong thẻ meta, tiêu đề HTTP hoặc theo phương thức lập trình. Iframe không kế thừa quyền truy cập vào các tính năng đã bật đối với những trang chứa iframe đó.

ot-iframe.glitch.me minh hoạ quyền truy cập vào tính năng dùng thử theo nguyên gốc từ iframe. ot-iframe-3p.glitch.me cung cấp nhiều ví dụ về iframe nhiều nguồn gốc.

Các chính sách về quyền được định cấu hình chính xác

Một số tính năng dùng thử theo nguyên gốc có thể chịu ảnh hưởng của tiêu đề Permissions-Policy (trước đây gọi là tiêu đề Feature-Policy). Bạn có thể kiểm tra điều này trong phần Ý định thử nghiệm đối với tính năng dùng thử hoặc trong tài liệu dành cho nhà phát triển về tính năng này trên web.dev hoặc developer.chrome.com/blog.

Hãy đảm bảo tính năng bạn đang cố truy cập không bị lệnh Permissions-Policy chặn. Bạn có thể kiểm tra tiêu đề phản hồi trong bảng điều khiển Mạng của Chrome cho nhà phát triển và xem danh sách đầy đủ các tính năng được phép trong bảng điều khiển Ứng dụng.

Bảng điều khiển ứng dụng của Công cụ của Chrome cho nhà phát triển, hiển thị Tính năng được phép theo chính sách về quyền.

Còn nhân viên thì sao?

Bạn có thể cung cấp tính năng dùng thử theo nguyên gốc cho trình chạy dịch vụ, trình thực thi chung và trình thực thi chuyên trách. Tuy nhiên, cách duy nhất để cấp quyền truy cập cho trình chạy dịch vụ và trình thực thi dùng chung là cung cấp mã thông báo trong tiêu đề Origin-Trial.

Nhân viên chuyên trách sẽ kế thừa quyền truy cập vào các tính năng do tài liệu gốc của họ bật.

Mã thông báo được cung cấp trước khi sử dụng tính năng

Đảm bảo rằng bạn đã cung cấp mã thông báo bản dùng thử theo nguyên gốc trước khi sử dụng tính năng dùng thử. Ví dụ: nếu một trang cung cấp mã thông báo qua JavaScript, đảm bảo mã để cung cấp mã này chạy trước khi mã tìm cách truy cập tính năng dùng thử.

Bản minh hoạ bản dùng thử theo nguyên gốc

Tìm hiểu thêm