Câu hỏi thường gặp về việc di chuyển ngừng sử dụng chế độ cài đặt trực tiếp

Kể từ ngày 12/6/2018, tính năng cài đặt trực tiếp sẽ không được dùng nữa. Để biết thêm thông tin, hãy đọc bài đăng trên blog Chromium của chúng tôi.

Câu hỏi về tiến trình

Điều gì sẽ thay đổi vào ngày 12 tháng 6 năm 2018?

Mọi mặt hàng trên Cửa hàng Chrome trực tuyến, chẳng hạn như tiện ích và ứng dụng, được phát hành lần đầu vào hoặc sau ngày 12/06/2018 sẽ bị tắt chế độ cài đặt cùng dòng. "Tắt" có nghĩa là các nỗ lực cài đặt cùng dòng sẽ tự động được chuyển hướng đến trang chi tiết của mục trên Cửa hàng Chrome trực tuyến, nơi người dùng có thể hoàn tất quá trình cài đặt. Sẽ không có thay đổi đối với các mặt hàng hiện có trong cửa hàng được xuất bản lần đầu trước ngày này.

Điều gì sẽ thay đổi vào ngày 12 tháng 9 năm 2018?

Việc vô hiệu hoá sẽ áp dụng cho TẤT CẢ các mục bất kể ngày xuất bản. 100% nỗ lực cài đặt trực tiếp cho tất cả các mục sẽ được chuyển hướng đến Cửa hàng Chrome trực tuyến, nơi người dùng có thể hoàn tất việc cài đặt.

Tôi cần làm gì trước ngày 12 tháng 9 năm 2018?

Bạn không cần thay đổi gì, nhưng bạn nên xem lại quy trình cài đặt và thay thế lệnh gọi chrome.webstore.install() bằng một thành phần điều hướng trực tiếp đến trang thông tin trên Cửa hàng Chrome trực tuyến của mục. Việc này ngay bây giờ giúp bạn xác minh rằng trang web tạo ra trải nghiệm người dùng tốt nhất.

Bạn cũng nên tích hợp huy hiệu tải xuống mới của Cửa hàng Chrome trực tuyến vào quy trình cài đặt trên trang web của bạn.

Điều gì sẽ thay đổi trong M71 (tháng 12 năm 2018)?

Kể từ M71, Chrome sẽ không còn hỗ trợ phương thức chrome.webstore.install() nữa và việc gọi phương thức này sẽ không thành công, dẫn đến quy trình cài đặt trên trang web của bạn bị lỗi. Tại thời điểm này, các lệnh gọi đến API sẽ gửi JavaScript TypeError. Bạn nên xoá mọi lệnh gọi phương thức API trước ngày này.

Sau khi tắt chế độ cài đặt trực tiếp

Quy trình cài đặt sẽ diễn ra như thế nào?

Khi trang web của bạn gọi chrome.webstore.install(), Chrome sẽ không kích hoạt hộp thoại ngay lập tức mà sẽ mở một thẻ trên nền trước mới trên trang chi tiết của Cửa hàng Chrome trực tuyến (tức là https://chrome.google.com/webstore/detail/EXTENSION_ID). Tại đó, người dùng có thể thực hiện quy trình cài đặt tiêu chuẩn bằng cách nhấp vào "cài đặt", sau đó một hộp thoại sẽ nhắc người dùng đọc quyền và cài đặt hoặc huỷ. Sau khi hộp thoại đóng, thẻ này sẽ vẫn còn trên Cửa hàng Chrome trực tuyến.

Làm cách nào để biết việc cài đặt của tôi đã thành công hay chưa?

Khi bạn gọi chrome.webstore.install(), lỗiCallback sẽ được kích hoạt với thông báo lỗi cho biết người dùng đã được chuyển hướng đến Cửa hàng Chrome trực tuyến. Cột này sẽ không cho biết liệu quá trình cài đặt có thành công hay không. Xin lưu ý rằng kể từ Chrome 71, các lệnh gọi đến chrome.webstore.install() sẽ không thành công nên lệnh gọi lỗi sẽ không bao giờ được thực thi.

Nếu không có API này, trang web của bạn vẫn có thể phát hiện xem mục đã được cài đặt hay chưa bằng cách giao tiếp giữa tiện ích và trang web của bạn. Bạn có thể thực hiện việc này thông qua thông báo tiện ích và thuộc tính externally_connectable trong tệp kê khai.

"externally_connectable": {
  "matches": ["https://www.example.com/*"]
}
// JS running on https://example.com
try {
  chrome.runtime.sendMessage('EXTENSION_ID', MESSAGE, function() {
    if (chrome.runtime.lastError) {
      // Extension is not installed.
    }
  });
} catch (e) {
  // Extension is not installed.
}

Thay thế đoạn mã sau:

  • EXTENSION_ID: mã nhận dạng tiện ích của bạn.
  • MESSAGE: Chuỗi thông báo hoặc đối tượng cần gửi đến phần mở rộng.

Làm cách nào để kích hoạt trang thông tin sau khi cài đặt?

Hãy sử dụng sự kiện chrome.runtime và mở thẻ mới sau khi cài đặt. Dưới đây là ví dụ để sử dụng trong trang nền của bạn:

chrome.runtime.onInstalled.addListener(function listener(details) {
  if (details.reason === chrome.runtime.OnInstalledReason.INSTALL) {
    chrome.tabs.create({url: "https://www.example.com/"});
    chrome.runtime.onInstalled.removeListener(listener);
  }
});

Tôi có thể nhận được ngoại lệ không?

Không. Sự thay đổi chính sách này áp dụng cho tất cả mặt hàng trong Cửa hàng Chrome trực tuyến mà không có ngoại lệ.