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

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

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

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

مقارنة سريعة

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

الميزة 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 باستخدام واجهات برمجة التطبيقات WebViews أو Custom Tabs، راجِع المستندات التالية: