التصفّح داخل التطبيق باستخدام WebView المضمّن

تمنح المتصفّحات داخل التطبيق المستخدمين تجربة ويب كاملة بدون الحاجة إلى مغادرة تطبيقك. يوفّر نظام التشغيل Android واجهتَي برمجة تطبيقات أساسيتَين لتنفيذ المتصفّحات داخل التطبيق، وهما: علامات التبويب المخصّصة ومكوّنات WebView. استخدِم متصفّحًا داخل التطبيق عندما يكون لديك رابط أو إعلان يؤدي إلى صفحة ويب. يمكنك فتح هذه الصفحة مباشرةً داخل تطبيقك، كما هو موضّح في الشكل 1.

رابط داخل التطبيق في مربّع أحمر وسهم يشير إلى شاشة أخرى
  تعرض الرابط الذي تم فتحه باستخدام علامة تبويب مخصّصة
الشكل 1. النقر على رابط داخل التطبيق (على اليمين) وفتح متصفّح داخل التطبيق باستخدام علامة تبويب مخصّصة (على اليسار)

يُعدّ الاختيار بين علامات التبويب المخصّصة وWebViews قرارًا مهمًا بشأن التصميم يؤثّر في سرعة التطوير وتجربة المستخدم ومدى تحكّمك في واجهة المستخدم.

مقارنة سريعة

استخدِم الجدول التالي لمساعدتك في تحديد الأداة المناسبة لاحتياجاتك:

الميزة عرض الويب علامات التبويب المخصصة
حالة الاستخدام الأساسية إنشاء تطبيقات هجينة تستخدم الويب كمحتوى أساسي أو داعم، أو عرض الإعلانات أو الحملات داخل التطبيق أو صفحات بنود الخدمة عرض محتوى من مواقع إلكترونية خارجية (مثل المقالات الإخبارية أو صفحات المنتجات)
عنصر التحكّم في واجهة المستخدم مكتملة وهو مكوِّن View يمكنك وضعه في أي مكان. يمكنك التحكّم في جميع عناصر واجهة المستخدم المحيطة. محدودة يمكنك اختيار لون شريط الأدوات وإضافة بعض الإجراءات المخصّصة.
البيانات والجلسات وضع الحماية ولا يشارك ملفات تعريف الارتباط أو عمليات تسجيل الدخول مع المتصفّح الرئيسي للمستخدم. تمت المشاركة يستخدم هذا الخيار جلسة المتصفّح التلقائي للمستخدم، بما في ذلك ملفات تعريف الارتباط وكلمات المرور المحفوظة.
مجموعة إعدادات نقل المحتوى بين التطبيق المحلّي وتطبيق الويب نعم يمكنك استخدام جسر JavaScript لإجراء اتصال عميق وثنائي الاتجاه بين محتوى الويب ورمز التطبيق الأصلي. محدودة يمكنك استخدام الطريقة window.postMessage() لتمرير السلاسل الأساسية.
جهد المطوِّر مرتفع عليك إدارة دورة الحياة والتنقّل والأداء بنفسك. منخفضة: ويمكنك تنفيذها باستخدام بضعة أسطر من الرموز البرمجية فقط.

عرض الويب

‫WebView هي طريقة عرض تجعل صفحات الويب جزءًا لا يتجزأ من تصميم تطبيقك. وهي فعّالة، ولكنّها أكثر تعقيدًا من علامات التبويب المخصّصة.

يمكن لمكوّن WebView تحميل محتوى ويب عن بُعد أو محلي، وتنفيذ JavaScript، وإتاحة التواصل الثنائي الاتجاه بين محتوى الويب ورمز التطبيق الأصلي. لمزيد من المعلومات حول إمكاناته، يمكنك الاطّلاع على الإجراءات التي يمكن تنفيذها باستخدام WebView.

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

أسباب اختيار WebView

في ما يلي بعض السيناريوهات التي يكون فيها WebView مناسبًا:

  • التطبيقات المختلطة: يمكنك إنشاء تطبيق يتضمّن محتوى ويب ومكوّنات أصلية (مثل شريط التنقّل أو زر الإجراء الرئيسي) معًا.
  • محتوى الطرف الأول: يشكّل محتوى الويب جزءًا أساسيًا وتفاعليًا من تجربة التطبيق، مثل أداة تعديل المستندات أو لوحة التصميم.
  • التحكّم الكامل في واجهة المستخدم: يجب تعديل محتوى صفحة الويب نفسها أو إضافة عناصر واجهة مستخدم أصلية فوقها.
  • إحصاءات تفصيلية: تحتاج إلى إحصاءات تفصيلية حول تفاعل المستخدمين ونشاطهم داخل WebView.

المفاضلات الرئيسية

في ما يلي بعض المقايضات الرئيسية التي يجب مراعاتها عند استخدام WebView:

  • الأداء: يمكن أن يستهلك WebView الكثير من الذاكرة. إذا لم تتم إدارتها بعناية، قد تواجه مشاكل في الأداء أو أخطاء ANR (التطبيق لا يستجيب).
  • الأمان والصيانة: أنت المسؤول عن تعزيز الأمان وإدارة مراحل النشاط. ويشمل ذلك إدارة الحفاظ على الحالة في جميع عمليات إعادة إنشاء العملية باستخدام WebViewCompat.saveState() والالتزام بالحد الأقصى المسموح به في Android للمعاملات التي تتضمّن الحالة المحفوظة، وهو 1 ميغابايت. ومع ذلك، يتم طرح تحديثات WebView على مستوى العالم من خلال Google Play، لذا لا داعي للقلق بشأن أن يصبح المحرّك الأساسي قديمًا.

علامات التبويب المخصصة

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

مزايا اختيار علامات التبويب المخصّصة

في ما يلي بعض السيناريوهات التي تكون فيها علامات التبويب المخصّصة مناسبة:

  • الروابط الخارجية: عندما ينقر المستخدم على رابط يؤدي إلى موقع إلكتروني لا تملكه، تبقيه علامات التبويب المخصّصة في سياق تطبيقك مع توفير تجربة متصفّح بوظائف كاملة.
  • سهولة الدمج: هذه هي أبسط طريقة لإعداد تجربة ويب مضمّنة وتشغيلها.
  • الحالة المشترَكة: بما أنّها تشارك ملفات تعريف الارتباط مع المتصفّح التلقائي للمستخدم، لا يحتاج المستخدمون إلى تسجيل الدخول مرة أخرى إلى المواقع الإلكترونية التي سبق لهم زيارتها.
  • تسجيل الدخول إلى الخدمات التابعة لجهات خارجية: هذه الطريقة مناسبة تمامًا لعمليات تسجيل الدخول إلى الخدمات التابعة لجهات خارجية (مثل "تسجيل الدخول باستخدام حساب Google" أو "تسجيل الدخول باستخدام حساب Facebook") لأنّ المتصفّح يتعامل مع بيانات الاعتماد بأمان.

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

استخدام محتوى الويب في Jetpack Compose

يمكنك استخدام كلّ من علامات التبويب المخصّصة وWebView عند الإنشاء باستخدام Jetpack Compose:

  • علامات التبويب المخصّصة: بما أنّ علامات التبويب المخصّصة تستخدم Intent، يمكنك تشغيلها من أي Context في دوال Compose، ما يتيح لك دمجها بسلاسة.
  • WebView: لا يتضمّن Compose بعد دالة مركّبة WebView مدمجة، لذا عليك استخدام AndroidView لتضمين WebView عادي في التصميم.

مراجع إضافية

لتطوير صفحات ويب للأجهزة التي تعمل بنظام التشغيل Android باستخدام واجهات برمجة التطبيقات WebViews أو Custom Tabs، راجِع المستندات التالية: