FAQ migrasi penghentian penginstalan inline

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

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, penginstalan inline akan dinonaktifkan. "Dinonaktifkan" berarti upaya penginstalan inline akan otomatis dialihkan ke halaman detail item di Chrome Web Store tempat pengguna dapat menyelesaikan penginstalan. Tidak ada yang akan berubah untuk item yang sudah ada di toko yang pertama kali dipublikasikan sebelum tanggal ini.

Apa yang akan berubah pada 12-09-2018?

Penonaktifan akan berlaku untuk SEMUA item, terlepas dari tanggal publikasi. Sepenuhnya usaha penginstalan inline untuk semua item akan dialihkan ke Chrome Web Store tempat pengguna dapat menyelesaikan penginstalan.

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

Anda tidak perlu mengubah apa pun, tetapi sebaiknya tinjau alur penginstalan dan ganti panggilan chrome.webstore.install() dengan navigasi yang langsung ke listingan Chrome Web Store item Anda. Sekarang, Anda akan dapat memverifikasi bahwa kode konversi tersebut memberikan pengalaman pengguna terbaik.

Sebaiknya sertakan badge download Chrome Web Store yang baru ke dalam alur penginstalan di situs Anda.

Apa yang akan berubah di M71 (Desember 2018)?

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

Setelah penginstalan inline dinonaktifkan

Akan seperti apa alur instalasinya?

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 menjalani proses penginstalan standar dengan mengklik "instal", dan dialog akan meminta pengguna untuk membaca izin serta menginstal atau membatalkan. Setelah dialog ditutup, tab akan tetap ada di Chrome Web Store.

Bagaimana cara mengetahui apakah penginstalan saya berhasil?

Saat Anda memanggil chrome.webstore.install(), failureCallback akan dipicu dengan error yang menyatakan bahwa pengguna dialihkan ke Chrome Web Store. Parameter ini tidak akan menunjukkan apakah penginstalan berhasil atau tidak. Ingat bahwa mulai Chrome 71, panggilan ke chrome.webstore.install() akan gagal, sehingga failCallback tidak akan pernah dijalankan.

Tanpa API ini, situs Anda masih dapat mendeteksi apakah item sudah diinstal dengan berkomunikasi antara ekstensi dan situs Anda. Hal ini dapat dilakukan melalui pesan ekstensi dan properti 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: Objek atau string 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 digunakan di 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);
  }
});

Apakah saya dapat memperoleh pengecualian?

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