WebKit

يمكنك استخدام واجهات برمجة تطبيقات WebView الحديثة على نظام التشغيل Android 5 والإصدارات الأحدث.
التعديل الأخير الإصدار المستقر سحب المرشح الإصدار التجريبي إصدار أولي
4 سبتمبر 2024 1.9.0 1.12.0-rc01 - -

إعلان التبعيات

لإضافة اعتمادية على Webkit، يجب إضافة مستودع Google Maven إلى مشروعك. الاطّلاع على مستودع Maven من Google لمزيد من المعلومات.

أضِف الملحقات التابعة للعناصر التي تحتاجها في ملف build.gradle لـ لتطبيقك أو الوحدة التي تستخدمها:

Groovy

dependencies {
    implementation "androidx.webkit:webkit:1.9.0"
}

Kotlin

dependencies {
    implementation("androidx.webkit:webkit:1.9.0")
}

لمزيد من المعلومات حول العناصر الاعتمادية، يُرجى الاطّلاع على إضافة تبعيات الإصدار.

ملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى إلقاء نظرة على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية عن طريق بالنقر فوق زر النجمة.

إنشاء عدد جديد

يُرجى الاطّلاع على مستندات أداة تتبُّع المشاكل. لمزيد من المعلومات.

الإصدار 1.12

الإصدار 1.12.0-rc01

4 سبتمبر 2024

تم طرح androidx.webkit:webkit:1.12.0-rc01. لا يتضمّن هذا الإصدار أي تغييرات من إصدار "1.12.0-beta01".

الإصدار 1.12.0-beta01

21 آب (أغسطس) 2024

تم طرح androidx.webkit:webkit:1.12.0-beta01. يحتوي الإصدار 1.12.0-beta01 على عمليات التنفيذ هذه.

إصلاح الأخطاء

  • تمت إزالة التخطيط اليدوي للوصول إلى واجهات برمجة التطبيقات الجديدة للنظام الأساسي نظرًا لحدوث ذلك تلقائيًا عبر نماذج واجهة برمجة التطبيقات عند استخدام R8 مع AGP 7.3 أو إصدار أحدث (مثل R8 الإصدار 3.3) وكذلك لجميع الإصدارات عند استخدام AGP 8.1 أو الإصدارات الأحدث (مثل D8 الإصدار 8.1). وننصح العملاء الذين لا يستخدمون AGP بالتحديث إلى الإصدار 8.1 من نظام التشغيل D8 أو الإصدارات الأحدث. يُرجى مراجعة هذه المقالة للاطّلاع على مزيد من التفاصيل. (Ia60e0، b/345472586)

الإصدار 1.12.0-alpha02

12 يونيو 2024

تم طرح androidx.webkit:webkit:1.12.0-alpha02. يحتوي الإصدار 1.12.0-alpha02 على عمليات التنفيذ هذه.

الميزات الجديدة

  • أضِف واجهة برمجة تطبيقات جديدة إلى WebSettingsCompat لتفعيل/إيقاف BackForwardCache. لا تزال واجهة برمجة التطبيقات هذه تجريبية ويمكن تغييرها في المستقبل. (I64a38)
  • أضِف واجهة برمجة تطبيقات جديدة إلى WebSettingsCompat للتحكّم في سلوك التحميل المبني على توقُّع في إعدادات WebSettings هذه. لا يتوفّر سوى العرض المُسبَق في الوقت الحالي. لا تزال واجهة برمجة التطبيقات هذه تجريبية ويمكن تغييرها في المستقبل. (I13962)

التغييرات في واجهة برمجة التطبيقات

  • تم الآن توثيق بعض الطرق باستخدام "@UiThread" عند الاقتضاء. (I6c7e0)، (I44541)
  • تم الآن توثيق الطرق الآمنة لسلاسل المحادثات باستخدام @AnyThread. (I70189)
  • بِيْتِمّْ زِيَادِةْ minSdkVersion مِنْ 19 لِـ 21. (Id7a43)

الإصدار 1.12.0-alpha01

17 أبريل 2024

تم طرح androidx.webkit:webkit:1.12.0-alpha01. يحتوي الإصدار 1.12.0-alpha01 على عمليات التنفيذ هذه.

التغييرات في واجهة برمجة التطبيقات

  • تمت إضافة واجهة برمجة تطبيقات جديدة لتفعيل مصادقة الويب في WebView. Developers يمكنها تفعيل/إيقاف استدعاءات WebAuthn في WebView لتطبيقاته باستخدام WebSettingsCompat#setWebAuthenticationSupport. (I8187f)

الإصدار 1.11

الإصدار 1.11.0

1 مايو 2024

تم طرح androidx.webkit:webkit:1.11.0. يحتوي الإصدار 1.11.0 على عمليات الالتزام هذه.

تغييرات مهمة منذ الإصدار 1.10.0

  • تسمح للتطبيقات بالتحكّم في تشغيل الصوت في WebView من خلال واجهتَي برمجة التطبيقات setAudioMuted وisAudioMuted الجديدتين، تشبه كتم صوت علامة تبويب في Chrome.
  • تم تقديم URLUtilCompat، وهي تتيح تحليل عناوين Content-Disposition التي تستخدم سمة القيمة المرمّزة filename* على النحو المحدّد في RFC 6266. تعرض أيضًا واجهة برمجة التطبيقات المتوافقة طريقة مباشرة لتحليل عنوان Content-Disposition حيث لا يكون اسم الملف المقترَح استنادًا إلى عنوان URL ونوع MIME غير مطلوب.

الإصدار 1.11.0-rc01

3 أبريل 2024

تم طرح androidx.webkit:webkit:1.11.0-rc01. لا يتضمّن هذا الإصدار أي تغييرات من إصدار "1.11.0-beta01".

الإصدار 1.11.0-beta01

20 مارس 2024

تم إطلاق androidx.webkit:webkit:1.11.0-beta01 بدون أي تغييرات ملحوظة. يحتوي الإصدار 1.11.0-beta01 على عمليات التنفيذ هذه.

الإصدار 1.11.0-alpha02

21 فبراير 2024

تم طرح androidx.webkit:webkit:1.11.0-alpha02. يحتوي الإصدار 1.11.0-alpha02 على هذه عمليات التنفيذ.

الميزات الجديدة

  • يمكنك إضافة طريقتَين setAudioMuted وisAudioMuted لكتم صوت (وإلغاء تجاهل) WebViews. تتيح لك هذه الطريقة منع WebView من تشغيل الصوت. (Ie7a33)

التغييرات في واجهة برمجة التطبيقات

  • تصبح الدالة URLUtilCompat نهائية لأنّه لا يجب أن تكون مصنَّفة فرعيًا. (I49ec1)

الإصدار 1.11.0-alpha01

7 فبراير 2024

تم طرح androidx.webkit:webkit:1.11.0-alpha01. يحتوي الإصدار 1.11.0-alpha01 على هذه عمليات التنفيذ.

الميزات الجديدة

  • إضافة التوافق مع "URLUtil.guessFileName" يتيح إصدار التوافق في URLUtilCompat تحليل عناوين Content-Disposition التي تستخدم سمة القيمة المرمّزة filename* كما هو محدّد في RFC 6266. تعرض أيضًا واجهة برمجة التطبيقات المتوافقة طريقة مباشرة لتحليل عنوان Content-Disposition حيث لا يكون اسم الملف المقترَح استنادًا إلى عنوان URL ونوع MIME غير مطلوب. (If6ae7، وb/309927164)

الإصدار 1.10

الإصدار 1.10.0

24 يناير 2024

تم طرح androidx.webkit:webkit:1.10.0. يحتوي الإصدار 1.10.0 على عمليات الالتزام هذه.

تغييرات مهمة منذ الإصدار 1.9.0

الإصدار 1.10.0-rc01

10 يناير 2024

تم طرح androidx.webkit:webkit:1.10.0-rc01. لا يتضمّن هذا الإصدار أي تغييرات من إصدار "1.10.0-beta01".

الإصدار 1.10.0-beta01

13 كانون الأول (ديسمبر) 2023

تم طرح androidx.webkit:webkit:1.10.0-beta01. يحتوي الإصدار 1.10.0-beta01 على هذه الالتزامات.

  • ما مِن تغييرات في الوظائف من "1.10.0-alpha01".

الإصدار 1.10.0-alpha01

29 تشرين الثاني (نوفمبر) 2023

تم طرح androidx.webkit:webkit:1.10.0-alpha01. يحتوي الإصدار 1.10.0-alpha01 على هذه عمليات التنفيذ.

الميزات الجديدة

  • تمت إضافة واجهة برمجة تطبيقات جديدة إلى WebSettingsCompat للتحكّم في السلوك التجريبي لواجهة Android WebView Media Integrity API، وذلك من خلال إيقاف واجهة برمجة التطبيقات بالكامل أو فرض قيود على مشاركة هوية التطبيق في استجابة واجهة برمجة التطبيقات. يمكن تبديل ذلك لجميع الأصول وعلى أساس كل مصدر.

الإصدار 1.9

الإصدار 1.9.0

29 تشرين الثاني (نوفمبر) 2023

تم طرح androidx.webkit:webkit:1.9.0. يحتوي الإصدار 1.9.0 على عمليات الإلغاء هذه.

تغييرات مهمة منذ الإصدار 1.8.0

  • تمت إضافة واجهة برمجة تطبيقات جديدة متعددة الملفات الشخصية لمكوّنات WebView.
    • تحتوي واجهة الملف الشخصي على واجهات برمجة تطبيقات مختلفة يمكن استخدامها للحصول على البيانات المرتبطة بهذا الملف الشخصي، مثل الاسم وGeoLocationPermissions وServiceWorkerController وCookieManager وWebStorage. وتكون هذه الكائنات خاصة بالملف الشخصي، ولا تتم مشاركة المعلومات بين الملفات الشخصية المختلفة في التطبيق.
    • يمكن تغيير الملف الشخصي الذي يستخدمه مثيل WebView باستخدام طريقة WebViewCompat#setProfile واسترداده باستخدام WebViewCompat#getProfile
    • يتيح لك ProfileStore الذي تم طرحه مؤخرًا إدارة الملفات الشخصية المتاحة في تطبيقك، بما في ذلك الملف الشخصي التلقائي.
    • وسيستمر عمل واجهات برمجة تطبيقات WebView الحالية، مثل CookieManager#getInstance، على الملف الشخصي التلقائي.
  • تمت إضافة واجهة برمجة تطبيقات لإدخال JavaScript وتشغيلها قبل تحميل الصفحة.
    • تسمح واجهة برمجة التطبيقات WebViewCompat#addDocumentStartJavascript للتطبيقات بإدخال نصوص برمجية في WebView والتي تضمن تشغيلها قبل تنفيذ أي نصوص برمجية للصفحة. تسمح واجهة برمجة التطبيقات للتطبيق بتحديد قائمة مستهدفة للمصادر التي سيتم تفعيل النص البرمجي عليها، ما يضمن تشغيله على الصفحات المقصودة فقط. وعلى عكس WebView#assessJavascript، ستسمح واجهة برمجة التطبيقات هذه بتنفيذ النصوص البرمجية في إطارات iframe المضمّنة عند تحميلها. ويمكن للتطبيقات استخدام واجهة برمجة التطبيقات الجديدة هذه مع WebViewCompat#addWebMessageListener لإعداد اتصال ثنائي الاتجاه باستخدام JavaScript في الصفحة بطريقة موثوقة.
  • تمت إضافة واجهات برمجة تطبيقات لتعديل كيفية تسجيل أحداث Attribution Sandbox Attribution.
    • قدّمنا واجهة برمجة تطبيقات جديدة وهي WebSettingsCompat#setAttributionregistrationBehavior والتي تسمح للمطوّرين بضبط ما إذا كانت مصادر تحديد المصدر وعوامل التشغيل مسجَّلة على أنّها واردة من التطبيق نفسه أو من محتوى الويب في WebView. يمكن استخدام هذه الطريقة أيضًا لإيقاف "تقارير تحديد المصدر" في WebView. علاوةً على ذلك، أضفنا واجهة برمجة تطبيقات WebSettingsCompat#getAttributionRegistrationBehavior جديدة للاستفادة من السلوك الحالي.
    • لمزيد من المعلومات، اطّلِع على مستندات "مبادرة حماية الخصوصية".
  • تمت إضافة واجهات برمجة التطبيقات لإلغاء البيانات الوصفية لوكيل المستخدم في تعديلات العميل.
    • وقدّمنا واجهة برمجة تطبيقات جديدة، وهي WebSettingsCompat#setUserAgentMetadata لإلغاء البيانات الوصفية لوكيل المستخدم في WebView المُستخدَمة لتعبئة تعديلات عميل وكيل المستخدم، كما أضفنا أيضًا واجهة برمجة تطبيقات جديدة أخرى من WebSettingsCompat#getUserAgentMetadata للحصول على عمليات إلغاء وكيل المستخدم الحالية. ننصح التطبيقات باستخدام واجهة برمجة التطبيقات الجديدة لضبط قيم الإلغاء الصحيحة عندما يغيّر التطبيق سلسلة وكيل المستخدم التلقائية من خلال WebSettings.setUserAgentString لضمان استخدام القيم الصحيحة في كل الحالات.

الإصدار 1.9.0-rc01

15 تشرين الثاني (نوفمبر) 2023

تم طرح androidx.webkit:webkit:1.9.0-rc01. لا يتضمّن هذا الإصدار أي تغييرات من إصدار "1.9.0-beta01".

الإصدار 1.9.0-beta01

1 تشرين الثاني (نوفمبر) 2023

تم طرح androidx.webkit:webkit:1.9.0-beta01. يحتوي الإصدار 1.9.0-beta01 على عمليات التنفيذ هذه.

التغييرات في واجهة برمجة التطبيقات

  • عالِج مشكلة عدم قبول البيانات الوصفية لوكيل المستخدم في واجهة برمجة التطبيقات. نعدّل فئة BrandVersion لاستخدام نمط أداة الإنشاء، ونضمن اتساق قيم القيم الفارغة لفئة UserAgentMetadata. (Ibf195)
  • تتم إضافة تعليقات توضيحية إلى ProfileStore وWebViewCompat#setProfile وWebViewCompat.getProfile بـ @UiThread. (I499b2)

الإصدار 1.9.0-alpha01

18 تشرين الأول (أكتوبر) 2023

تم طرح androidx.webkit:webkit:1.9.0-alpha01. يحتوي الإصدار 1.9.0-alpha01 على هذه عمليات التنفيذ.

الميزات الجديدة

  • أضفنا واجهة برمجة التطبيقات متعددة الملفات الشخصية التي تتيح لك إجراء جلسات تصفُّح منفصلة بين WebViews، ولكل ملف شخصي بياناته الخاصة (مثل ملفات تعريف الارتباط). يمكنك إنشاء ملفات شخصية وتعيينها إلى مثيلات عددها WebView واستردادها لاحقًا لأي إذن بالوصول إلى البيانات. هناك فئة مفردة 'ProfileStore' لمساعدتك في إدارة الملفات التجارية من خلال إنشائها أو حذفها باستخدام واجهات برمجة التطبيقات؛ "getOrCreateProfile" و"getProfile" و"getAllProfileNames" و"deleteProfile" سيكون للفئة Profile واجهات برمجة تطبيقات مختلفة يمكن استخدامها للحصول على البيانات المرتبطة بهذا الملف الشخصي، مثل الاسم وGeoLocationPermissions وServiceWorkerController وCookieManager وWebStorage. سيتم تشغيل كل WebView باستخدام الملف الشخصي التلقائي تلقائيًا، ولكن يمكنك تغيير ذلك باستخدام WebViewCompat#setProfile ذي الصلة بذلك، ويمكن استرداد ملف WebView الشخصي باستخدام WebViewCompat#getProfile. (I32d22)
  • يمكنك إضافة واجهات برمجة تطبيقات لتعديل كيفية تسجيل أحداث Attribution Reporting. قدّمنا WebSettingsCompat#setAttributionRegistrationBehavior واجهة برمجة تطبيقات جديدة تسمح للمطوّرين بضبط ما إذا كانت المصادر وعوامل التشغيل مسجَّلة على أنّها واردة من التطبيق نفسه أو من محتوى الويب في WebView. يمكن استخدام هذه الطريقة أيضًا لإيقاف تقارير تحديد المصدر في WebView. علاوةً على ذلك، أضفنا واجهة برمجة تطبيقات WebSettingsCompat#getAttributionRegistrationBehavior جديدة للاستفادة من السلوك الحالي. لمزيد من المعلومات، اطّلِع على مستندات "مبادرة حماية الخصوصية". (I661f2)
  • أضِف واجهات برمجة التطبيقات لإلغاء البيانات الوصفية لوكيل المستخدم. قدّمنا WebSettingsCompat#setUserAgentMetadata واجهة برمجة تطبيقات جديدة لإلغاء البيانات الوصفية لوكيل المستخدم في WebView، والتي تُستخدم لتعبئة تعديلات عميل وكيل المستخدم، وأضفنا أيضًا WebSettingsCompat#getUserAgentMetadata واجهة برمجة تطبيقات جديدة أخرى للحصول على عمليات إلغاء وكيل المستخدم الحالية. ننصح التطبيقات باستخدام واجهة برمجة التطبيقات الجديدة لضبط قيم الإلغاء الصحيحة بدلاً من الاعتماد على تغيير وكيل المستخدم. (I74500)
  • أضِف واجهة برمجة تطبيقات لإدخال JavaScript ليتم تشغيلها أثناء تحميل الصفحة. تسمح واجهة برمجة التطبيقات WebViewCompat.addDocumentStartJavascript للتطبيقات بإدخال نصوص برمجية في مكوّن WebView الذي سيتم تشغيله قبل تنفيذ أي نصوص برمجية على الصفحة. تسمح واجهة برمجة التطبيقات للتطبيق بتحديد قائمة مستهدفة للمصادر التي سيتم تفعيل النص البرمجي عليها، ما يضمن تشغيله على الصفحات المقصودة فقط. على عكس WebView.evaluateJavascript، ستسمح واجهة برمجة التطبيقات هذه بتنفيذ النصوص البرمجية في إطارات Iframe المضمّنة عند تحميلها. (Ide063)

الإصدار 1.8

الإصدار 1.8.0

6 أيلول (سبتمبر) 2023

تم طرح androidx.webkit:webkit:1.8.0. يحتوي الإصدار 1.8.0 على عمليات الالتزام هذه.

تغييرات مهمة منذ الإصدار 1.7.0

الإصدار 1.8.0-rc01

9 آب (أغسطس) 2023

تم طرح androidx.webkit:webkit:1.8.0-rc01 بدون أي تغييرات منذ 1.8.0-beta01. يحتوي الإصدار 1.8.0-rc01 على هذه عمليات التنفيذ.

الإصدار 1.8.0-beta01

26 تموز (يوليو) 2023

تم طرح androidx.webkit:webkit:1.8.0-beta01 بدون أي تغييرات منذ 1.8.0-alpha01. يحتوي الإصدار 1.8.0-beta01 على عمليات التنفيذ هذه.

الإصدار 1.8.0-alpha01

7 حزيران (يونيو) 2023

تم طرح androidx.webkit:webkit:1.8.0-alpha01. يحتوي الإصدار 1.8.0-alpha01 على هذه عمليات التنفيذ.

التغييرات في واجهة برمجة التطبيقات

  • يُرجى الاطّلاع على قسم "المساهمة الخارجية".

مساهمة خارجية

  • إتاحة تمرير ArrayBuffer على WebMessagePortCompat#postMessage وJsReplyProxy#postMessage وWebViewCompat#postWebMessage، وتلقّي ArrayBuffer من JavaScript على WebMessagePortCompat وWebMessageListener، وتلقّي ArrayBuffer قابل للتحويل من JavaScript عبر WebMessagePortCompat. تجدر الإشارة إلى أنّ واجهة برمجة التطبيقات هذه لن تتوفّر إلّا اعتبارًا من الإصدار 116 من WebView. (Ie7567، وb/251152171)

الإصدار 1.7

الإصدار 1.7.0

24 أيار (مايو) 2023

تم طرح androidx.webkit:webkit:1.7.0. يحتوي الإصدار 1.7.0 على عمليات الالتزام هذه.

تغييرات مهمة منذ الإصدار 1.6.0

  • أضفنا إمكانية استخدام ميزة سحب الصور في WebView. يمكنك السماح للمستخدمين بسحب الصور من "WebView" من خلال إضافة الإصدار الجديد DropDataContentProvider إلى ملف بيان التطبيق كما هو موضَّح في مستندات الصف.
  • أضفنا واجهة برمجة التطبيقات ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File) التي يمكن استخدامها لضبط الأدلة الأساسية التي سيستخدمها WebView في العملية الحالية. كما هو الحال مع جميع الطرق في ProcessGlobalConfig، يجب استدعاء هذه الطريقة قبل إنشاء مثيل أول لـ WebView. تُضاف هذه الطريقة لمنح إطار عمل Android إمكانية تعديل إعدادات WebView. وبالنسبة إلى التطبيقات ذات الأغراض العامة، لا يُنصح باستخدام هذه الطريقة.

الإصدار 1.7.0-rc01

10 أيار (مايو) 2023

تم طرح androidx.webkit:webkit:1.7.0-rc01 بدون أي تغييرات منذ 1.7.0-beta01. يحتوي الإصدار 1.7.0-rc01 على هذه عمليات التنفيذ.

الإصدار 1.7.0-beta01

5 نيسان (أبريل) 2023

تم طرح androidx.webkit:webkit:1.7.0-beta01. يحتوي الإصدار 1.7.0-beta01 على عمليات التنفيذ هذه.

التغييرات في واجهة برمجة التطبيقات

  • تغيير طفيف في علامة الميزة واسم الطريقة وجعل setDirectoryBasePaths() يقبل الملف بدلاً من السلسلة (Ib0d0a)

الإصدار 1.7.0-alpha03

8 آذار (مارس) 2023

تم طرح androidx.webkit:webkit:1.7.0-alpha03. يحتوي الإصدار 1.7.0-alpha03 على هذه عمليات التنفيذ.

التغييرات في واجهة برمجة التطبيقات

  • أضِف واجهة برمجة التطبيقات ProcessGlobalConfig#setDirectoryBasePath(String, String) التي يمكن استخدامها لضبط الأدلة الأساسية التي سيستخدمها WebView في العملية الحالية. (Ibd1a1، b/250553687)

إصلاح الأخطاء

  • إصلاح قاعدة ProGuard غير الصالحة التي تؤدي إلى حدوث أخطاء في الإصدار عند استخدام DexGuard (Ia65c2 وb/270034835)

الإصدار 1.7.0-alpha02

8 شباط (فبراير) 2023

تم طرح androidx.webkit:webkit:1.7.0-alpha02. يحتوي الإصدار 1.7.0-alpha02 على هذه عمليات التنفيذ.

إصلاح الأخطاء

  • يُرجى تسجيل الأخطاء الخاصة بـ DropDataContentProvider.

الإصدار 1.7.0-alpha01

25 كانون الثاني (يناير) 2023

تم طرح androidx.webkit:webkit:1.7.0-alpha01. يحتوي الإصدار 1.7.0-alpha01 على هذه عمليات التنفيذ.

الميزات الجديدة

  • نحن نعمل على إتاحة ميزة سحب الصور في WebView. يمكنك السماح للمستخدمين بسحب الصور من WebView من خلال إضافة DropDataContentProvider الجديد إلى ملف بيان التطبيق. (05a1a6)

الإصدار 1.6

الإصدار 1.6.1

22 آذار (مارس) 2023

تم طرح androidx.webkit:webkit:1.6.1. يحتوي الإصدار 1.6.1 على عمليات الالتزام هذه.

إصلاح الأخطاء

  • إصلاح خطأ تحليل Proguard (Ia65c2)

الإصدار 1.6.0

25 كانون الثاني (يناير) 2023

تم طرح androidx.webkit:webkit:1.6.0. يحتوي الإصدار 1.6.0 على هذه الالتزامات.

تغييرات مهمة منذ الإصدار 1.5.0

  • تمت إضافة واجهة برمجة تطبيقات ProcessGlobalConfig جديدة للسماح للتطبيقات بتقديم إعدادات الضبط التي يجب ضبطها قبل تحميل WebView، مثل لاحقة دليل بيانات WebView. يجب إعداد الإعدادات وتطبيقها في أقرب وقت ممكن أثناء بدء تشغيل التطبيق، لضمان حدوث ذلك قبل أن تطلب أي سلسلة محادثات أخرى طريقة تحمِّل WebView في العملية.
  • تمت إضافة واجهة برمجة تطبيقات CookieManagerCompat جديدة لتوسيع android.webkit.CookieManager باستخدام طريقة getCookieInfo جديدة، التي تسترد جميع السمات لجميع ملفات تعريف الارتباط التي تم إعدادها على عنوان URL محدد. وتختلف هذه الواجهة عن واجهة getCookie API الحالية في CookieManager التي تعرض فقط سمتَي الاسم والقيمة لملفات تعريف الارتباط.
  • يتضمن WebSettingsCompat طرقًا جديدة لتفعيل/إيقاف تأثير EnterpriseAuthenticationAppLinkPolicy إذا تم ضبطه من خلال المشرف في WebView، والحصول على الإعداد الحالي. تتيح هذه الميزة لمكوّن WebView فتح تطبيق مصادقة بدلاً من فتح عنوان URL للمصادقة. ليس لهذه الميزة أي تأثير على الأجهزة التي لا تتم إدارتها بموجب سياسة مؤسسة.
  • إضافة واجهة برمجة تطبيقات جديدة إلى WebSettingsCompat للسماح للتطبيقات بإرسال اسم حزمة التطبيق في العنوان X-Requested-With إلى المصادر المُدرَجة في القائمة المسموح بها في العادة، يتم إرسال العنوان في كل طلب من WebView.

الإصدار 1.6.0-rc01

11 كانون الثاني (يناير) 2023

تم طرح androidx.webkit:webkit:1.6.0-rc01. يحتوي الإصدار 1.6.0-rc01 على هذه عمليات التنفيذ.

إصلاح الأخطاء

  • تم إصلاح NullPointerException في WebViewFeature.isStartupFeatureSupported(Context, String) عند التشغيل على حزمة تطوير البرامج (SDK) < إل. (Ic7292)

الإصدار 1.6.0-beta01

7 كانون الأول (ديسمبر) 2022

تم طرح androidx.webkit:webkit:1.6.0-beta01. يحتوي الإصدار 1.6.0-beta01 على هذه الالتزامات.

التغييرات في واجهة برمجة التطبيقات

  • تم تغيير الدالة ProcessGlobalConfig لاستخدام دالة إنشائية عادية وطريقة تطبيق ثابتة. يجب استدعاء طريقة التطبيق مرة واحدة فقط لكل عملية، في أقرب وقت ممكن، وسيتم عرض IllegalStateException إذا تم طلبها أكثر من مرة. لم تعُد عناصر "ProcessGlobalConfig" تفرض أي قيود على عدد مرات استدعاء الأشخاص الذين ضبطوا القيم. (I456c3)

الإصدار 1.6.0-alpha03

9 تشرين الثاني (نوفمبر) 2022

تم طرح androidx.webkit:webkit:1.6.0-alpha03. يحتوي الإصدار 1.6.0-alpha03 على هذه عمليات التنفيذ.

الميزات الجديدة

  • أضِف فئة ProcessGlobalConfig تتيح للمستخدمين ضبط الإعدادات العامة للعملية قبل تحميل WebView. تتضمن الدالة WebView بعض مَعلمات الإعداد العامة التي لا يمكن تغييرها بعد تحميل WebView (مثل دليل بيانات WebView). وتتيح هذه الفئة للتطبيقات ضبط هذه المَعلمات. يجب إعداد الإعدادات وتطبيقها في أقرب وقت ممكن أثناء بدء تشغيل التطبيق، لضمان حدوث ذلك قبل أن تطلب أي سلسلة محادثات أخرى طريقة تحمِّل WebView في العملية. (I7c0e0، b/250553687)
  • إضافة واجهة برمجة تطبيقات جديدة للسماح للتطبيقات بإرسال اسم حزمة التطبيق بشكل صريح في العنوان X-REQUIRED-With إلى المصادر المُدرَجة في القائمة المسموح بها في العادة، يتم إرسال العنوان في كل طلب من WebView. (I0adfe، b/226552535)

التغييرات في واجهة برمجة التطبيقات

  • تتوفّر واجهة برمجة التطبيقات WebSettingsCompat#setAlgorithmicDarkeningAllowed على جميع إصدارات Android من الإصدار 105 من WebView والإصدارات الأحدث. كانت الإصدارات السابقة من WebView متوافقة مع واجهة برمجة التطبيقات على Android Q والإصدارات الأحدث فقط. ونتيجةً لذلك، لم تعُد واجهة برمجة التطبيقات هذه تحمل علامة @RequiresApi(Build.VERSION_CODES.Q). (I3ac1d)

الإصدار 1.6.0-alpha02

24 تشرين الأول (أكتوبر) 2022

تم طرح androidx.webkit:webkit:1.6.0-alpha02. يحتوي الإصدار 1.6.0-alpha02 على هذه عمليات التنفيذ.

الميزات الجديدة

  • إضافة فئة CookieManagerCompat جديدة إلى جانب واجهة برمجة تطبيقات getCookieInfo التي تسترجع جميع السمات لجميع ملفات تعريف الارتباط التي تم ضبطها على عنوان URL معيّن. ويختلف ذلك عن واجهة برمجة تطبيقات getCookie الحالية في CookieManager التي تعرض فقط سمتَي الاسم والقيمة لملفات تعريف الارتباط. (I07365، b/242161756)

الإصدار 1.6.0-alpha01

24 آب (أغسطس) 2022

تم طرح androidx.webkit:webkit:1.6.0-alpha01. يحتوي الإصدار 1.6.0-alpha01 على هذه عمليات التنفيذ.

الميزات الجديدة

  • تمت إضافة واجهات برمجة التطبيقات في WebSettingsCompat لتفعيل/إيقاف تأثير EnterpriseAuthenticationAppLinkPolicy في حال ضبطه من خلال المشرف في WebView. تتيح هذه الميزة لـ "WebView" فتح تطبيق مصادقة بدلاً من فتح عنوان URL المخصص للمصادقة. ليس لهذه الميزة أي تأثير على الأجهزة التي لا تتم إدارتها بموجب سياسة مؤسسة.

الإصدار 1.5.0

الإصدار 1.5.0

24 آب (أغسطس) 2022

تم طرح androidx.webkit:webkit:1.5.0. يحتوي الإصدار 1.5.0 على عمليات الالتزام هذه.

تغييرات مهمة منذ الإصدار 1.4.0

  • تحلّ واجهة برمجة تطبيقات setAlgorithmicDarkeningAllowed جديدة على WebSettingsCompat محلّ واجهات برمجة التطبيقات القديمة setForceDark وsetForceDarkStrategy. أمّا التطبيقات التي تستهدف الإصدار 33 من حزمة SDK والإصدارات الأحدث (T)، فيجب أن تستخدم واجهة برمجة التطبيقات الجديدة، حيث لن يكون لواجهة برمجة التطبيقات القديمة أي تأثير في تلك التطبيقات.
  • يمكن الآن من خلال ProxyCofig.Builder ضبط قائمة بعناوين URL المسموح بها لاستخدام الخادم الوكيل الذي تم إعداده، وذلك من خلال ضبط setReverseBypassEnabled على true. وعند تطبيق هذا الإجراء، ستتجاوز جميع عناوين URL الأخرى الخادم الوكيل الذي تم إعداده.

الإصدار 1.5.0-rc01

10 آب (أغسطس) 2022

تم طرح androidx.webkit:webkit:1.5.0-rc01 بدون أي تغييرات منذ 1.5.0-beta01. يحتوي الإصدار 1.5.0-rc01 على هذه عمليات التنفيذ.

الإصدار 1.5.0-beta01

29 حزيران (يونيو) 2022

تم طرح androidx.webkit:webkit:1.5.0-beta01. يحتوي الإصدار 1.5.0-beta01 على هذه الالتزامات.

التغييرات في واجهة برمجة التطبيقات

  • تتم الآن إضافة تعليقات توضيحية إلى واجهات برمجة التطبيقات ذات الصلة التي تستخدم تقنية Alogrithimic Darkening، والتي تتطلّب مستوى واجهة برمجة التطبيقات Q. لن يكون لواجهة برمجة التطبيقات أي تأثير على مستويات واجهة برمجة التطبيقات < س، بما أنّ المظهر الداكن ليس خيارًا متاحًا على هذه الأجهزة. (I0905e)

الإصدار 1.5.0-alpha01

18 أيار (مايو) 2022

تم طرح androidx.webkit:webkit:1.5.0-alpha01. يحتوي الإصدار 1.5.0-alpha01 على هذه عمليات التنفيذ.

الميزات الجديدة

  • أضِف طريقة getVariationsHeader() جديدة في WebViewCompat للحصول على قيمة العنوان X-Client-Data التي ترسلها WebView. ستكون القيمة المعروضة هي نموذج ClientVariants بترميز base64.
  • أضِف واجهات برمجة التطبيقات على WebSettingsCompat للسماح أو منع التعتيم الخوارزمي للتطبيق الذي يحتوي على القيمة targetSdk >= 33. (I29597)

التغييرات في واجهة برمجة التطبيقات

  • أضِف طريقة جديدة في ProxyCofig.Builder لضبط التجاوز العكسي. يعني ضبط التجاوز العكسي على "صحيح" أنّ عناوين URL المدرَجة في قائمة الاستبعاد فقط ستستخدم إعدادات الخادم الوكيل. (I9eaa2، b/168728599)

إصلاح الأخطاء

  • تم إصلاح خطأ إملائي في المستندات المتعلقة بالمظهر الداكن. (I36ebf، b/194343633)
  • تم إصلاح الخطأ الذي كان يؤدي إلى اعتماد طُرق WebViewAssetLoader.Builder على الطلب عن غير قصد. (If420d، b/182196765)

الإصدار 1.4.0

الإصدار 1.4.0

16 كانون الأول (ديسمبر) 2020

تم طرح androidx.webkit:webkit:1.4.0. يحتوي الإصدار 1.4.0 على عمليات الالتزام هذه.

التغييرات الرئيسية منذ الإصدار 1.3.0

  • تمت إضافة واجهة برمجة تطبيقات setSafeBrowsingAllowlist() جديدة لتحل محل setSafeBrowsingWhitelist(). يساعد ذلك التطبيقات على تعديل الرموز البرمجية لتجنُّب المصطلحات غير الشاملة، مع الاستمرار في إتاحة النطاق نفسه من حِزم تطوير البرامج (SDK) لنظام التشغيل Android وإصدارات WebView، مثل واجهة برمجة التطبيقات المتوقّفة نهائيًا.
  • تم إصلاح خطأ في setProxyOverride تسبّب في عدم تطبيق القواعد الاحتياطية بشكل صحيح.

الإصدار 1.4.0-rc02

2 كانون الأول (ديسمبر) 2020

تم طرح androidx.webkit:webkit:1.4.0-rc02. يحتوي الإصدار 1.4.0-rc02 على هذه عمليات التنفيذ.

إصلاح الأخطاء

  • لإصلاح القواعد الاحتياطية التي لا يتم تطبيقها بشكل صحيح عند استخدام setProxyOverride.

الإصدار 1.4.0-rc01

11 تشرين الثاني (نوفمبر) 2020

تم طرح androidx.webkit:webkit:1.4.0-rc01 بدون أي تغييرات منذ 1.4.0-beta01. يحتوي الإصدار 1.4.0-rc01 على هذه عمليات التنفيذ.

الإصدار 1.4.0-beta01

14 تشرين الأول (أكتوبر) 2020

تم طرح androidx.webkit:webkit:1.4.0-beta01 بدون أي تغييرات منذ 1.4.0-alpha01. يحتوي الإصدار 1.4.0-beta01 على عمليات التنفيذ هذه.

الإصدار 1.4.0-alpha01

16 أيلول (سبتمبر) 2020

تم طرح androidx.webkit:webkit:1.4.0-alpha01. يحتوي الإصدار 1.4.0-alpha01 على هذه عمليات التنفيذ.

التغييرات في واجهة برمجة التطبيقات

  • تمت إضافة واجهة برمجة تطبيقات WebViewCompat#setSafeBrowsingAllowlist() جديدة إلى استبدال setSafeBrowsingWhitelist(). يساعد هذا الإجراء التطبيقات في تحديث الرموز البرمجية تجنُّب المصطلحات غير الشاملة، مع مواصلة إتاحة النطاق نفسه حِزم تطوير البرامج (SDK) لنظام التشغيل Android وإصدارات WebView باعتبارها واجهة برمجة التطبيقات التي تم إيقافها نهائيًا. (I8d65d)

الإصدار 1.3.0

الإصدار 1.3.0

19 آب (أغسطس) 2020

تم طرح androidx.webkit:webkit:1.3.0. يحتوي الإصدار 1.3.0 على هذه عمليات التنفيذ.

التغييرات الرئيسية منذ الإصدار 1.2.0

  • توفّر واجهة برمجة التطبيقات ForceDarkStrategy API المزيد من التحكّم في ميزة "تعتيم محتوى WebView" (تعتيم محتوى CSS أو محتوى الويب مقابل التعتيم التلقائي).
  • توفِّر أداة WebMessageListener وواجهات برمجة التطبيقات ذات الصلة بها آلية بسيطة وآمنة لإنشاء اتصال بين محتوى الويب وتطبيق WebView المضمَّن.
  • isMultiProcessEnabled API للتحقّق مما إذا كان WebView يعمل في عمليات متعددة. ويمكن تنفيذ ذلك بدءًا من الإصدار Android O ويعني ذلك أن يتم عرض محتوى الويب في عملية عارض في وضع الحماية ومنفصلة عن عملية التطبيق. قد تتم مشاركة العارض الذي تم وضع الحماية له مع مكوّنات WebView أخرى في التطبيق نفسه، ولكن لا تتم مشاركته مع عمليات التطبيق الأخرى.

الإصدار 1.3.0-rc02

5 آب (أغسطس) 2020

تم طرح androidx.webkit:webkit:1.3.0-rc02. يحتوي الإصدار 1.3.0-rc02 على هذه عمليات التنفيذ.

إصلاح الأخطاء

  • يؤدي ذلك إلى إصلاح مشكلة التوافق التي تتعرّض فيها WebMessageListener أحيانًا أثناء التطوير المحلي في حال بدء تشغيل التطبيق الفوري في "استوديو Android".

الإصدار 1.3.0-rc01

24 حزيران (يونيو) 2020

تم طرح androidx.webkit:webkit:1.3.0-rc01 بدون أي تغييرات منذ 1.3.0-beta01. يحتوي الإصدار 1.3.0-rc01 على هذه عمليات التنفيذ.

الإصدار 1.3.0-beta01

10 حزيران (يونيو) 2020

تم طرح androidx.webkit:webkit:1.3.0-beta01. يحتوي الإصدار 1.3.0-beta01 على عمليات التنفيذ هذه.

الميزات الجديدة

  • ForceDarkStrategy واجهة برمجة تطبيقات للتحكُّم في تعتيم WebView (تعتيم محتوى CSS أو محتوى الويب مقابل التعتيم التلقائي).
  • توفّر واجهات برمجة تطبيقات WebMessageListener آلية بسيطة وآمنة لإنشاء اتصال بين محتوى الويب وتطبيق أداة تضمين WebView.
  • MultiProcessEnabled API للتحقّق مما إذا كان WebView يعمل في وضع المعالجة المتعدّدة.

الإصدار 1.3.0-alpha03

27 أيار (مايو) 2020

تم طرح androidx.webkit:webkit:1.3.0-alpha03. يحتوي الإصدار 1.3.0-alpha03 على هذه عمليات التنفيذ.

التغييرات في واجهة برمجة التطبيقات

  • تتلقّى طريقة addWebMessageListener الآن Set<String> من قواعد المصدر المسموح بها (المعروفة سابقًا باسم List<String>).

الإصدار 1.3.0-alpha02

29 نيسان (أبريل) 2020

تم طرح androidx.webkit:webkit:1.3.0-alpha02. يحتوي الإصدار 1.3.0-alpha02 على هذه عمليات التنفيذ.

الميزات الجديدة

  • واجهة برمجة التطبيقات MultiProcessEnabled API للتحقّق مما إذا كان WebView يعمل في وضع العمليات المتعددة

التغييرات في واجهة برمجة التطبيقات

  • تبدأ جميع الثوابت الاستراتيجية الداكنة الآن بـ DARK_STRATEGY.

الإصدار 1.3.0-alpha01

نيسان (أبريل) 2020

تم طرح androidx.webkit:webkit:1.3.0-alpha01. يحتوي الإصدار 1.3.0-alpha01 على هذه عمليات التنفيذ.

الميزات الجديدة

  • ForceDarkStrategy واجهة برمجة التطبيقات للتحكّم في التعتيم على WebView (تعتيم محتوى الويب أو CSS مقابل التعتيم التلقائي)
  • توفّر واجهات برمجة تطبيقات WebMessageListener آلية بسيطة وآمنة لإنشاء اتصال بين محتوى الويب وتطبيق أداة تضمين WebView.

الإصدار 1.2.0

الإصدار 1.2.0

4 آذار (مارس) 2020

تم طرح androidx.webkit:webkit:1.2.0. يحتوي الإصدار 1.2.0 على عمليات الالتزام هذه.

التغييرات الرئيسية منذ الإصدار 1.1.0

  • تمت إضافة ForceDark API للتحكّم في ما إذا كان يجب عرض مكوّنات WebView في الوضع الداكن.

الإصدار 1.2.0-rc01

19 شباط (فبراير) 2020

تم طرح androidx.webkit:webkit:1.2.0-rc01 بدون أي تغييرات منذ 1.2.0-beta01. يحتوي الإصدار 1.2.0-rc01 على هذه عمليات التنفيذ.

الإصدار 1.2.0-beta01

5 شباط (فبراير) 2020

تم طرح androidx.webkit:webkit:1.2.0-beta01 بدون أي تغييرات منذ 1.2.0-alpha01. يحتوي الإصدار 1.2.0-beta01 على عمليات التنفيذ هذه.

الإصدار 1.2.0-alpha01

18 كانون الأول (ديسمبر) 2019

تم طرح androidx.webkit:webkit:1.2.0-alpha01. يحتوي الإصدار 1.2.0-alpha01 على عمليات التنفيذ هذه.

الميزات الجديدة

  • يمكنك فرض واجهة برمجة التطبيقات ForceDark API للتحكّم في ما إذا كان يجب عرض مكوّنات WebView في الوضع الداكن.

الإصدار 1.1.0

الإصدار 1.1.0

7 تشرين الثاني (نوفمبر) 2019

تم طرح androidx.webkit:webkit:1.1.0. يحتوي الإصدار 1.1.0 على عمليات التنفيذ هذه.

تغييرات مهمة منذ الإصدار 1.0.0

  • واجهات برمجة تطبيقات Getter لتتكامل مع setWebViewClient() وsetWebChromeClient().
  • ProxyController API لضبط خادم وكيل لطلب الشبكة لمكوّنات WebView الخاصة بأحد التطبيقات.
  • واجهة WebViewAssetLoader API لتسهيل تحميل مواد العرض والموارد والملفات الخاصة بحِزم APK من دليل بيانات التطبيق من خلال اعتراض الطلبات. ويتيح ذلك الوصول إلى الويب والموارد المحلية بدون إيقاف سياسة مشاركة الموارد المتعددة المصادر (CORS).
  • واجهة برمجة التطبيقات TracingController لجمع معلومات تتبُّع WebView لأغراض تصحيح الأخطاء.
  • وRenderProcess API لإدارة خدمات عارض WebView، ورصد الحالات التي يتسبّب فيها المحتوى السيئ الأداء في عدم استجابة برامج عرض WebView.
  • تم تعديل واجهات برمجة التطبيقات الحالية لتشمل التعليقات التوضيحية التي تشير إلى إمكانية القيم الفارغة (@NonNull و@Nullable) وسلسلة المحادثات (@UiThread و@WorkerThread).

الإصدار 1.1.0-rc01

9 تشرين الأول (أكتوبر) 2019

تم طرح androidx.webkit:webkit:1.1.0-rc01. يحتوي الإصدار 1.1.0-rc01 على عمليات التنفيذ هذه.

إصلاح الأخطاء

  • تم إصلاح المشكلة التي كانت تتسبب في تعطُّل setWebViewRenderProcessClient() في حال اجتياز برنامج فارغ.

الإصدار 1.1.0-beta01

5 أيلول (سبتمبر) 2019

تم طرح androidx.webkit:webkit:1.1.0-beta01. يمكن الاطّلاع على صفقات الاشتراك المضمَّنة في هذا الإصدار هنا.

الميزات الجديدة

  • ملف InternalStoragePathHandler جديد في WebViewAssetLoader لتحميل الملفات من دليل بيانات التطبيق

التغييرات في واجهة برمجة التطبيقات

  • تعرض ProxyConfig#getProxyRules() الآن قائمة غير قابلة للتعديل من مثيلات ProxyRule، وهي فئة جديدة تتضمّن فلتر مخطط وعنوان URL المقابل للخادم الوكيل.

إصلاح الأخطاء

  • يتم ضبط WebViewAssetLoader تلقائيًا على "نص/عادي". نوع MIME (وليس قيمة خالية) عندما يتعذر عليه تخمين نوع MIME من مسار الملف.
  • لم يعد WebViewAssetLoader يطرح NullPointerException عند تحميل ملفات تحتوي على رموز خاصة في أسماء المسارات.

الإصدار 1.1.0-alpha02

7 آب (أغسطس) 2019

تم طرح androidx.webkit:webkit:1.1.0-alpha02. يمكن الاطّلاع على صفقات الاشتراك المضمَّنة في هذا الإصدار هنا.

الميزات الجديدة

  • يعرض WebViewAssetLoader واجهة PathHandler للسماح للتطبيقات بإنشاء وظيفة مخصصة لمعالجة المسارات.

التغييرات في واجهة برمجة التطبيقات

  • WebViewAssetLoader هي الآن من الفئات النهائية، لأنه ليس من المفترض أن تكون هناك فئة فرعية.
  • أصبحت عمليات تنفيذ WebViewAssetLoader#PathHandler علنية ونهائية الآن.
  • تغييرات طفيفة على أسماء طرق ProxyConfig.
  • ProxyController: تمت إضافة طريقتَين جديدتَين addDirect() وaddDirect(String) للاتصال مباشرةً بالخوادم. تمت إزالة سلسلة DIRECT.
  • تم تعديل واجهات برمجة التطبيقات الحالية لتشمل التعليقات التوضيحية التي تشير إلى إمكانية القيم الفارغة (@NonNull و@Nullable) وسلسلة المحادثات (@UiThread و@WorkerThread).

الإصدار 1.1.0-alpha01

7 أيار (مايو) 2019

تم طرح androidx.webkit:webkit:1.1.0-alpha01. يمكن الاطّلاع على صفقات الاشتراك المضمَّنة في هذا الإصدار هنا.

الميزات الجديدة

  • واجهات برمجة تطبيقات Getter لتكملة setWebViewClient() وsetWebChromeClient()
  • ProxyController API لضبط خادم وكيل لطلب الشبكة لمكوّنات WebView الخاصة بأحد التطبيقات.
  • واجهة برمجة التطبيقات AssetLoader API لتسهيل تحميل مواد العرض والموارد الخاصة بحِزم APK من خلال اعتراض الطلبات، ما يسمح بالوصول إلى مصادر الويب بدون إيقاف سياسة مشاركة الموارد المتعددة المصادر (CORS)
  • واجهة برمجة التطبيقات TracingController لجمع معلومات تتبُّع WebView لأغراض تصحيح الأخطاء.
  • وRenderProcess API لإدارة خدمات عارض WebView، ورصد الحالات التي يتسبّب فيها المحتوى السيئ الأداء في عدم استجابة برامج عرض WebView.

إصلاح الأخطاء

  • إصلاحات بسيطة لتنسيق المستندات لواجهات برمجة التطبيقات الحالية