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

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

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

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

مقارنة سريعة

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

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

WebView

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

مراجع إضافية

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