پرسش‌های متداول مهاجرت نصب داخلی

از تاریخ 06/12/2018، نصب درون خطی منسوخ شده است. برای اطلاعات بیشتر، پست وبلاگ Chromium ما را بخوانید.

سوالات جدول زمانی

چه چیزی در 2018-06-12 تغییر خواهد کرد؟

هر مورد فروشگاه وب Chrome، مانند برنامه‌های افزودنی و برنامه‌هایی که برای اولین بار در تاریخ ۱۲/۰۶/۲۰۱۸ یا پس از آن منتشر شده است، نصب درون خطی غیرفعال می‌شود. "غیرفعال" به این معنی است که تلاش‌های نصب درون خطی به‌طور خودکار به صفحه جزئیات مورد در فروشگاه وب Chrome هدایت می‌شوند، جایی که کاربر می‌تواند نصب را کامل کند. برای اقلام موجود در فروشگاه که برای اولین بار قبل از این تاریخ منتشر شده اند، چیزی تغییر نخواهد کرد.

چه چیزی در 2018-09-12 تغییر خواهد کرد؟

غیرفعال کردن برای همه موارد صرف نظر از تاریخ انتشار اعمال خواهد شد. 100٪ تلاش‌های نصب درون خطی برای همه موارد به فروشگاه وب Chrome هدایت می‌شود، جایی که کاربران می‌توانند نصب را تکمیل کنند.

قبل از 12-09-2018 چه کاری باید انجام دهم؟

نیازی نیست چیزی را تغییر دهید، اما پیشنهاد می‌کنیم جریان نصب خود را مرور کنید و تماس chrome.webstore.install() را با یک پیمایش مستقیماً به فهرست فروشگاه وب Chrome موردتان جایگزین کنید. انجام این کار اکنون به شما امکان می دهد تأیید کنید که بهترین تجربه کاربری را ایجاد می کند.

همچنین توصیه می‌کنیم که نشان دانلود جدید فروشگاه وب Chrome را در جریان نصب خود در سایت خود قرار دهید.

چه چیزی در M71 (دسامبر 2018) تغییر خواهد کرد؟

از M71، Chrome دیگر از متد chrome.webstore.install() پشتیبانی نمی‌کند و فراخوانی آن با شکست مواجه می‌شود و در نتیجه جریان نصب در سایت شما خراب می‌شود. در این مرحله فراخوانی به API باعث ایجاد خطا در جاوا اسکریپت می شود. شما باید قبل از این تاریخ هر تماسی را با روش API حذف کنید.

پس از غیرفعال شدن نصب درون خطی

جریان نصب چگونه خواهد بود؟

وقتی سایت شما chrome.webstore.install() را فراخوانی می‌کند، Chrome دیگر بلافاصله یک گفتگو را راه‌اندازی نمی‌کند، بلکه در عوض یک برگه پیش‌زمینه جدید را به صفحه جزئیات فروشگاه وب Chrome (یعنی https://chrome.google.com/webstore/detail/EXTENSION_ID ) باز می‌کند. https://chrome.google.com/webstore/detail/EXTENSION_ID ). از آنجا، کاربر می تواند فرآیند نصب استاندارد را با کلیک کردن بر روی "نصب" انجام دهد و یک گفتگو از کاربر می خواهد مجوزها را بخواند و نصب یا لغو کند. پس از رد کردن گفتگو، برگه در فروشگاه وب Chrome باقی می ماند.

چگونه می توانم بفهمم که نصب من موفقیت آمیز بوده است؟

وقتی با chrome.webstore.install() تماس می گیرید، خطای callback با خطایی ایجاد می شود که می گوید کاربر به فروشگاه وب Chrome هدایت شده است. این نشان نمی دهد که آیا نصب با موفقیت انجام شده است یا خیر. به یاد داشته باشید که در ابتدا در Chrome 71، تماس‌های chrome.webstore.install() با شکست مواجه می‌شوند، بنابراین خطای callback هرگز اجرا نمی‌شود.

بدون این API، سایت شما همچنان می تواند با برقراری ارتباط بین برنامه افزودنی و وب سایت شما، تشخیص دهد که آیا مورد شما قبلاً نصب شده است یا خیر. این کار را می‌توان از طریق پیام‌های افزودنی و ویژگی externally_connectable در مانیفست انجام داد.

"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 اعمال می‌شود.