المتصفحات المتوافقة

Patrick Kettner
Patrick Kettner

"علامات التبويب المخصصة" هي خيار رائع لإنشاء تجربة مخصصة للمتصفح مباشرةً داخل تطبيقك، إلا أنها ليست شيئًا واحدًا. إنّ "علامات التبويب المخصّصة" مصمَّمة فوق نظام Intent، وهي مجموعة من طلبات الخيارات القابلة للضبط التي يتم إرسالها إلى المتصفّح المفضَّل لدى المستخدم النهائي. ويعتمد تنفيذ الخيارات المختلفة على كل متصفح. يمكن أن يتفاوت مدى توفُّر ميزات "علامات التبويب المخصَّصة" بين متصفِّحات Android بسبب الاختلافات في التنفيذ.

في ما يلي مقارنة بين بعض المتصفّحات في منظومة Android المتكاملة. تتمتع الغالبية العظمى من المتصفحات على Android بمستوى معيّن من الدعم. وليس من المفترض أن تكون الجداول شاملة، ولكنها توضّح مستوى الدعم الذي من المرجَّح أن تحصل عليه. يجب البحث في المتصفحات الافتراضية للأشخاص الذين يستخدمون تطبيقك، والتأكد من أنك تستخدم الترميز بشكل دفاعي.

CustomTabsIntent.Builder

ينشئ CustomTabsIntent.Builder علامات تبويب مخصَّصة. لديك عدد من الطرق لضبط علامة التبويب المخصَّصة للمساعدة في اندماجها بسلاسة قدر الإمكان مع تطبيقك عبر مجموعة من الطرق المضمَّنة، والتي نذكرها أدناه.

addDefaultShareMenuItem()

تضيف الدالة addDefaultShareMenuItem() زر مشاركة تلقائي إلى شريط أدوات "علامات التبويب المخصصة"، ما يسمح للمستخدم بمشاركة صفحة الويب الحالية عبر تطبيقات متنوعة على جهازه.

addMenuItem()

لإضافة عنصر في القائمة.

يظهر على اليسار هاتف يعرض تطبيقًا باستخدام addListItem() ، وعلى الجانب الأيمن هاتفًا منفصلاً بدون واجهة برمجة التطبيقات.

addToolbarItem()

لإضافة زر إجراء إلى علامة التبويب "التخصيص". يمكن إضافة أزرار متعددة بهذه الطريقة.

enableUrlBarHiding()

تعمل هذه السياسة على تفعيل إخفاء شريط عناوين URL أثناء انتقال المستخدم للأسفل في الصفحة.

setActionButton()

لضبط زر الإجراء المعروض في شريط الأدوات بسلوك التلوين التلقائي.

على اليسار، يظهر هاتف يعرض تطبيقًا باستخدام setActionButton() ، وعلى اليمين هاتف منفصل بدون واجهة برمجة التطبيقات

setCloseButtonIcon()

لتعيين زر الإغلاق المخصص الذي يظهر في شريط الأدوات.

على اليمين، يعرض هاتفًا منفصلاً باستخدام setCloseButtonIcon() ، وعلى اليمين هاتف منفصل بدون واجهة برمجة التطبيقات

setCloseButtonPosition()

لتعيين رمز زر الإغلاق لعلامة التبويب المخصصة.

على اليسار، يعرض هاتفًا تطبيقًا باستخدام setCloseButtonPosition() ، وعلى اليمين هاتف منفصل بدون واجهة برمجة التطبيقات

setColorScheme()

تحدِّد هذه السياسة نظام الألوان الذي يجب تطبيقه على واجهة المستخدم في علامة التبويب "مخصّصة".

على اليمين، يعرض هاتفًا منفصلاً باستخدام setColorScheme() ، وعلى اليمين هاتفًا منفصلاً بدون واجهة برمجة التطبيقات

setColorSchemeParams()

تحدِّد هذه السياسة نظام الألوان الذي يجب تطبيقه على واجهة المستخدم في علامة التبويب "مخصّصة".

على اليسار، يعرض هاتف تطبيقًا باستخدام setColorSchemeParams() ، وعلى اليمين هاتف منفصل بدون واجهة برمجة التطبيقات

setDefaultColorSchemeParams()

لضبط CustomTabColorSchemeParams() لنظام الألوان المحدّد. يسمح هذا بتحديد لونين مختلفين في شريط الأدوات للمخططات الفاتحة والداكنة.

على اليمين، يعرض هاتفًا تطبيقًا باستخدام setDefaultColorSchemeParams() ، وعلى اليمين هاتف منفصل بدون واجهة برمجة التطبيقات

setDefaultShareMenuItemEnabled()

يمكنك ضبط ما إذا كان ستتم إضافة عنصر مشاركة تلقائي إلى القائمة.

setExitAnimations()

لضبط أي رسوم متحركة للخروج.

setFirstActivityHeightPx()

لضبط الارتفاع الأولي لنشاط علامة التبويب المخصصة بالبكسل مع السلوك الافتراضي لتغيير الحجم. ستعمل علامة التبويب المخصصة كبطاقة سفلية. غالبًا ما يشار إلى هذه باسم علامة تبويب مخصصة جزئية.

على اليسار، يظهر هاتف يعرض تطبيقًا باستخدام setInitialActivityHeightPx() ، وعلى اليمين هاتف منفصل بدون واجهة برمجة التطبيقات

setNavigationBarColor()

لضبط لون شريط التنقّل. ليس له أي تأثير على إصدارات واجهة برمجة التطبيقات التي تسبق L.

setNavigationBarDividerColor()

setSecondaryToolbarColor()

لتعيين لون شريط الأدوات الثانوي.

setShareState()

لضبط حالة المشاركة التي يجب تطبيقها على علامة التبويب المخصصة.

على اليسار، هاتف يعرض تطبيقًا باستخدام setShareState()، وعلى اليمين هاتف منفصل بدون واجهة برمجة التطبيقات

setShowTitle()

تحدِّد هذه السياسة ما إذا كان يجب عرض العنوان في علامة التبويب المخصَّصة.

على اليسار، يظهر هاتف يعرض تطبيقًا باستخدام setShowTitle() ، وعلى اليمين هاتف منفصل بدون واجهة برمجة التطبيقات

setStartAnimations()

لضبط الصور المتحركة للبدء.

setToolbarColor()

لضبط لون شريط الأدوات. في نظام Android L والإصدارات الأحدث، يتم تطبيق هذا اللون أيضًا على شريط الحالة.

setToolbarCornerRadiusDp()

لضبط نصف قطر الزاوية العلوية لشريط الأدوات بتنسيق dp.

setUrlBarHidingEnabled()

يمكنك ضبط ما إذا كان يجب إخفاء شريط عنوان URL أثناء انتقال المستخدم للأسفل في الصفحة.

CustomTabsClient

CustomTabsClient هو صف اختياري للتواصل مع CustomTabsService وإنشاء CustomTabsSession منه.

الإحماء()

حسّن عملية المتصفح.

CustomTabsSession

CustomTabsSession هو صف اختياري يمكنك تقديمه لمثيل CustomTabsIntent.Builder(). وعند استخدام هذه الميزة، يمكنك استخدام هذه الفئة للتعامل مع أي اتصال من خلال علامة التبويب "مخصّصة".

setEngagementSignalsCallback()

لضبط EngagementSignalsCallback لتلقّي استدعاءات للأحداث المرتبطة بتفاعل المستخدِم مع صفحة الويب في علامة التبويب.

isEngagementSignalsApiAvailable()

تعرض ما إذا كانت واجهة برمجة التطبيقات Engagement Signals متاحة. قد يتغيّر مدى توفُّر واجهة برمجة التطبيقات Engagement Signals API في وقت التشغيل.

قدLaunchUrl()

يخبر هذا المستخدم المتصفِّح بعملية تنقّل محتملة في المستقبل إلى عنوان URL. يجب تحديد عنوان URL المرجّح أولاً. بشكل اختياري، يمكن تقديم قائمة بعناوين URL الأخرى المحتملة. يتم التعامل معها على أنها أقل احتمالاً من الأولى، ويجب ترتيبها بترتيب تنازلي حسب الأولوية. وقد يتم تجاهل عناوين URL الإضافية هذه. وستُعطى الأولوية لجميع الطلبات السابقة التي يتم إجراؤها باستخدام هذه الطريقة.