คำถามที่พบบ่อยเกี่ยวกับการย้ายข้อมูลการเลิกใช้งานการติดตั้งจากในหน้าเว็บ

ตั้งแต่วันที่ 12/06/2018 เป็นต้นไป เราจะเลิกใช้งานการติดตั้งแบบอินไลน์ โปรดอ่านข้อมูลเพิ่มเติมที่บล็อกโพสต์ Chromium

คำถามเกี่ยวกับไทม์ไลน์

มีอะไรเปลี่ยนแปลงในวันที่ 12-06-2018

รายการทุกรายการใน Chrome เว็บสโตร์ เช่น ส่วนขยายและแอปที่เผยแพร่ครั้งแรกในวันที่ 12 มิถุนายน 2018 หรือหลังจากนั้นจะปิดใช้การติดตั้งจากในหน้าเว็บ "ปิดใช้" หมายความว่าระบบจะเปลี่ยนเส้นทางความพยายามในการติดตั้งแบบอินไลน์ไปยังหน้ารายละเอียดของรายการนั้นบน Chrome เว็บสโตร์โดยอัตโนมัติ ซึ่งผู้ใช้สามารถทำการติดตั้งให้เสร็จสมบูรณ์ จะไม่มีการเปลี่ยนแปลงใดๆ กับรายการที่มีอยู่ในร้านค้าที่เผยแพร่ครั้งแรกก่อนวันที่นี้

มีอะไรเปลี่ยนแปลงในวันที่ 12-09-2018

การปิดใช้จะมีผลกับรายการทั้งหมดโดยไม่คำนึงถึงวันที่เผยแพร่ 100% ของความพยายามในการติดตั้งในหน้าสำหรับทุกรายการจะถูกเปลี่ยนเส้นทางไปยัง Chrome เว็บสโตร์ที่ผู้ใช้สามารถดำเนินการติดตั้งจนเสร็จสมบูรณ์ได้

ฉันต้องทำอย่างไรก่อนวันที่ 12/09/2018

คุณไม่จำเป็นต้องเปลี่ยนแปลงอะไร แต่เราขอแนะนำให้คุณตรวจสอบขั้นตอนการติดตั้งและแทนที่การเรียกใช้ chrome.webstore.install() ด้วยการนำทางไปยังข้อมูลผลิตภัณฑ์ใน Chrome เว็บสโตร์ของรายการโดยตรง เพราะตอนนี้เครื่องมือดังกล่าวจะช่วยให้คุณยืนยันว่าเว็บไซต์มอบประสบการณ์การใช้งานที่ดีที่สุดแก่ผู้ใช้

นอกจากนี้ เราขอแนะนำให้คุณรวมป้ายดาวน์โหลดใหม่ของ Chrome เว็บสโตร์ไว้ในขั้นตอนการติดตั้งบนเว็บไซต์ด้วย

จะมีการเปลี่ยนแปลงอะไรบ้างใน M71 (ธ.ค. 2018)

ตั้งแต่เวอร์ชัน M71 เป็นต้นไป Chrome จะไม่รองรับเมธอด chrome.webstore.install() อีกต่อไป และจะเรียกใช้เมธอดนี้ไม่ได้ ซึ่งส่งผลให้ขั้นตอนการติดตั้งในเว็บไซต์ไม่สมบูรณ์ ในจุดนี้ การเรียก API จะใส่ JavaScript TypeError คุณควรนำการเรียกเมธอด API ออกก่อนวันดังกล่าว

หลังปิดใช้การติดตั้งจากในหน้าเว็บ

ขั้นตอนการติดตั้งมีลักษณะอย่างไร

เมื่อเว็บไซต์เรียกใช้ chrome.webstore.install() แล้ว Chrome จะไม่เรียกกล่องโต้ตอบทันทีอีกต่อไป แต่จะเปิดแท็บเบื้องหน้าใหม่ไปยังหน้ารายละเอียดของ Chrome เว็บสโตร์ (เช่น https://chrome.google.com/webstore/detail/EXTENSION_ID) จากตรงนั้น ผู้ใช้สามารถทำตามขั้นตอนการติดตั้งมาตรฐานได้โดยคลิก "ติดตั้ง" และกล่องโต้ตอบจะแจ้งให้ผู้ใช้อ่านสิทธิ์ แล้วติดตั้งหรือยกเลิก หลังจากที่ปิดกล่องโต้ตอบแล้ว แท็บจะยังอยู่ใน Chrome เว็บสโตร์

ฉันจะทราบได้อย่างไรว่าการติดตั้งสำเร็จ

เมื่อคุณเรียกใช้ chrome.webstore.install() ระบบจะทริกเกอร์ความล้มเหลวในการเรียกกลับโดยมีข้อผิดพลาดที่บอกว่าผู้ใช้ถูกเปลี่ยนเส้นทางไปยัง Chrome เว็บสโตร์ แต่จะไม่ระบุว่าการติดตั้งนั้น สำเร็จหรือไม่ โปรดทราบว่าตั้งแต่เริ่มต้นใน Chrome 71 การเรียกใช้ไปยัง chrome.webstore.install() จะไม่สำเร็จ ดังนั้นจึงจะไม่มีการเรียกใช้ Callback ที่ล้มเหลว

หากไม่มี API นี้ เว็บไซต์ของคุณจะยังคงตรวจสอบได้ว่ารายการของคุณติดตั้งแล้วหรือยัง โดยการสื่อสารระหว่างส่วนขยายและเว็บไซต์ ซึ่งทำได้ผ่านข้อความส่วนขยายและพร็อพเพอร์ตี้ externally_connectable ในไฟล์ Manifest

"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.
}

แทนที่รายการต่อไปนี้

  • EXTENSION_ID: รหัสของส่วนขยาย
  • MESSAGE: สตริงข้อความหรือออบเจ็กต์ที่จะส่งไปยังส่วนขยาย

ฉันจะเรียกหน้าที่ให้ข้อมูลหลังจากการติดตั้งได้อย่างไร

ใช้เหตุการณ์ chrome.runtime แล้วเปิดแท็บใหม่หลังการติดตั้ง ตัวอย่างการใช้ในหน้าพื้นหลัง

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);
  }
});

ฉันจะขอรับการยกเว้นได้หรือไม่

ไม่ การเปลี่ยนแปลงนโยบายนี้มีผลกับรายการทั้งหมดใน Chrome เว็บสโตร์โดยไม่มีข้อยกเว้น