FAQ migrasi penghentian penginstalan inline

Mulai tanggal 12/06/2018, penginstalan inline tidak digunakan lagi. Untuk informasi selengkapnya, baca Blog Chromium kami postingan Anda.

Pertanyaan terkait linimasa

Apa yang akan berubah pada 12-06-2018?

Semua item Chrome Web Store, seperti ekstensi dan aplikasi, yang pertama kali dipublikasikan pada atau setelah 12-06-2018 akan menonaktifkan penginstalan inline. "Nonaktif" berarti bahwa upaya penginstalan {i>inline<i} akan otomatis dialihkan ke halaman detail item di Chrome Web Store tempat pengguna dapat menyelesaikan penginstalan. Tidak ada yang akan berubah untuk item yang ada di toko yang pertama kali yang dipublikasikan sebelum tanggal ini.

Apa yang akan berubah pada 12-09-2018?

Penonaktifan akan berlaku untuk SEMUA item terlepas dari tanggal publikasinya. 100% penginstalan inline upaya untuk semua item akan dialihkan ke Chrome Web Store tempat pengguna dapat menyelesaikan diinstal.

Apa yang harus saya lakukan sebelum 12-09-2018?

Anda tidak perlu mengubah apa pun, namun sebaiknya Anda meninjau alur pemasangan dan mengganti Panggilan chrome.webstore.install() dengan navigasi langsung ke listingan Chrome Web Store item Anda. Dengan melakukannya sekarang, Anda dapat memverifikasi bahwa solusi tersebut menghasilkan pengalaman pengguna terbaik.

Sebaiknya Anda juga menyertakan badge download Chrome Web Store yang baru ke dalam di situs Anda.

Apa yang akan berubah di M71 (Desember 2018)?

Mulai M71, Chrome tidak akan lagi mendukung metode chrome.webstore.install() dan panggilan itu akan gagal, mengakibatkan alur instalasi yang rusak di situs Anda. Pada tahap ini, panggilan ke API akan memunculkan JavaScript TypeError. Anda harus menghapus panggilan ke metode API sebelum tanggal ini.

Setelah penginstalan inline dinonaktifkan

Akan seperti apa alur penginstalannya?

Saat situs Anda memanggil chrome.webstore.install(), Chrome tidak akan langsung memicu dialog tetapi akan membuka tab latar depan baru ke halaman detail Chrome WebStore (yaitu https://chrome.google.com/webstore/detail/EXTENSION_ID). Dari sana, pengguna dapat melalui proses instalasi standar dengan mengeklik "{i>install<i}", dan dialog akan meminta pengguna untuk membaca izin akses dan menginstal atau membatalkan. Setelah dialog ditutup, tab akan tetap berada di Chrome Web Store.

Bagaimana cara mengetahui apakah penginstalan saya berhasil?

Saat Anda memanggil chrome.webstore.install(), failureCallback akan dipicu dengan error yang mengatakan bahwa pengguna dialihkan ke Chrome Web Store. Hal ini tidak akan menunjukkan apakah apakah instalasi berhasil atau tidak. Perlu diingat bahwa mulai Chrome 71, panggilan ke chrome.webstore.install() akan gagal sehingga failureCallback tidak akan pernah dijalankan.

Tanpa API ini, situs Anda masih dapat mendeteksi apakah item Anda sudah diinstal dengan memberi tahu antara ekstensi dan situs web Anda. Hal ini dapat dilakukan melalui pesan ekstensi dan externally_connectable dalam manifes.

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

Ganti kode berikut:

  • EXTENSION_ID: ID ekstensi Anda.
  • MESSAGE: String atau objek pesan yang akan dikirim ke ekstensi.

Bagaimana cara memicu halaman informasi setelah penginstalan?

Gunakan peristiwa chrome.runtime dan buka tab baru setelah penginstalan. Berikut adalah contoh untuk halaman latar belakang Anda:

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

Bisakah saya mendapatkan pengecualian?

Tidak. Perubahan kebijakan ini berlaku untuk semua item di Chrome Web Store tanpa pengecualian.