الأسئلة الشائعة حول نقل بيانات إيقاف تثبيت مضمّن

اعتبارًا من 12/06/2018، تم إيقاف ميزة التثبيت المضمّن نهائيًا. لمزيد من المعلومات، يُرجى الاطّلاع على مشاركة مدونة Chromium.

أسئلة حول المخطط الزمني

ما الذي سيتغير في 12-06-2018؟

أي عنصر من "سوق Chrome الإلكتروني"، مثل الإضافات والتطبيقات التي تم نشرها لأول مرة في 12-06-2018 أو بعده، سيتم إيقاف التثبيت المضمّن فيه. تعني كلمة "معطّل" أنه ستتم تلقائيًا إعادة توجيه محاولات التثبيت المضمنة إلى صفحة تفاصيل العنصر في سوق Chrome الإلكتروني حيث يمكن للمستخدم إكمال التثبيت. لن يتم إجراء أي تغييرات على العناصر الحالية في المتجر التي تم نشرها لأول مرة قبل هذا التاريخ.

ما الذي سيتغير في 12-09-2018؟

سيتم تطبيق الإيقاف على جميع العناصر بغض النظر عن تاريخ النشر. ستتم إعادة توجيه 100% من محاولات التثبيت المضمَّن لجميع العناصر إلى سوق Chrome الإلكتروني حيث يمكن للمستخدمين إكمال التثبيت.

ما هو الإجراء الذي عليّ اتّخاذه قبل 12-09-2018؟

ليس عليك تغيير أي شيء، ولكن نقترح عليك مراجعة خطوات التثبيت واستبدال مكالمة chrome.webstore.install() بانتقال إلى بطاقة بيانات العنصر على "سوق Chrome الإلكتروني" مباشرةً. يتيح لك ذلك الآن التأكّد من أنّه يوفّر أفضل تجربة للمستخدم.

ننصحك أيضًا بدمج شارة التنزيل الجديدة من "سوق Chrome الإلكتروني" في خطوات عملية التثبيت على موقعك الإلكتروني.

ما الذي سيتغير في M71 (كانون الأول (ديسمبر) 2018)؟

بدايةً من الإصدار M71، لن يتيح Chrome استخدام طريقة chrome.webstore.install() وسيتعذّر استدعاؤه، ما يؤدي إلى إيقاف عملية التثبيت على موقعك الإلكتروني. في هذه المرحلة، ستنتج عن الاستدعاءات لواجهة برمجة التطبيقات خطأ JavaScript TypeError. يجب إزالة أي طلبات متعلّقة بطريقة واجهة برمجة التطبيقات قبل هذا التاريخ.

بعد إيقاف التثبيت المضمّن

كيف ستبدو عملية التثبيت؟

عندما يستدعي موقعك الإلكتروني chrome.webstore.install()، لن يشغّل Chrome مربّع حوار على الفور، ولكنه سيفتح علامة تبويب جديدة في المقدّمة في صفحة التفاصيل في "سوق Chrome الإلكتروني" (أي https://chrome.google.com/webstore/detail/EXTENSION_ID). من هناك، يمكن للمستخدم إجراء عملية التثبيت العادية بالنقر على "تثبيت"، وسيطلب فيه مربّع حوار من المستخدم قراءة الأذونات والتثبيت أو الإلغاء. بعد إغلاق مربّع الحوار، ستظل علامة التبويب متوفّرة في "سوق Chrome الإلكتروني".

كيف يمكنني معرفة ما إذا كانت عملية التثبيت قد تمت بنجاح؟

عند الاتصال بـ chrome.webstore.install()، ستظهر رسالة تعذُّر الاتصال مع ظهور خطأ يفيد بأنّه تمت إعادة توجيه المستخدم إلى "سوق Chrome الإلكتروني". ولن تشير إلى ما إذا كان التثبيت قد تم بنجاح أم لا. يُرجى العلم أنّه بدءًا من الإصدار 71 من Chrome، ستتعذّر الاتصالات المرسَلة إلى chrome.webstore.install()، وبالتالي لن يتم تنفيذ عملية تعذُّر الاتصال مطلقًا.

وبدون واجهة برمجة التطبيقات هذه، سيظل بإمكان موقعك الإلكتروني اكتشاف ما إذا كان قد تم تثبيت العنصر من قبل، وذلك من خلال التواصل بين الإضافة وموقعك الإلكتروني. ويمكن إجراء ذلك من خلال رسائل الإضافات والسمة 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 الإلكتروني" بدون استثناء.