WebKit

يمكنك العمل باستخدام واجهات برمجة تطبيقات WebView الحديثة على نظام التشغيل Android 5 والإصدارات الأحدث.
آخر تعديل الإصدار المستقر إصدار مرشح الإصدار التجريبي الإصدار الأولي
29 تشرين الثاني (نوفمبر) 2023 1.9.0 - - 1.10.0-alpha01

تعريف التبعيات

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

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

رائع

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

Kotlin

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

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

ملاحظات

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

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

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

الإصدار 1.10

الإصدار 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 في الصفحة بطريقة موثوقة.
  • إضافة واجهات برمجة تطبيقات لتعديل كيفية تسجيل أحداث إعداد تقارير الإحالة ضمن "مبادرة حماية الخصوصية"
    • قدّمنا واجهة برمجة التطبيقات 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)
  • أضِف واجهات برمجة تطبيقات لتعديل كيفية تسجيل أحداث إعداد تقارير الإحالة. قدّمنا WebSettingsCompat#setAttributionRegistrationBehavior واجهة برمجة التطبيقات (API) جديدة تتيح للمطوّرين تحديد ما إذا كانت المصادر والمشغِّلات مسجَّلة على أنها واردة من التطبيق نفسه أو تأتي من محتوى الويب في 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) < L. (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

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

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

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

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

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

  • تتوفّر واجهة برمجة التطبيقات WebSettingsCompat#setAlgorithmicDarkeningAllowed API في جميع إصدارات 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 والإصدارات الأحدث استخدام واجهة برمجة التطبيقات الجديدة، لأنّ واجهة برمجة التطبيقات القديمة لن يكون لها أي تأثير في هذه التطبيقات.
  • يمكنك الآن من خلال 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 من واجهة برمجة التطبيقات). لن يكون لواجهة برمجة التطبيقات أي تأثير على مستويات واجهة برمجة التطبيقات < 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. وستكون القيمة المعروضة هي نموذج ClientVariations بترميز 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 مزيد من التحكّم في تعتيم محتوى 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 API لجمع معلومات التتبع في WebView لأغراض تصحيح الأخطاء.
  • واجهات برمجة التطبيقات RenderProcess لإدارة خدمات عارض 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) للاتصال مباشرةً بالخوادم، وتمت إزالة السلسلة المباشرة.
  • تم تعديل واجهات برمجة التطبيقات الحالية لتضمين إمكانية إلغاء القيم الفارغة (@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 API لجمع معلومات التتبع في WebView لأغراض تصحيح الأخطاء.
  • واجهات برمجة التطبيقات RenderProcess لإدارة خدمات عارض WebView ولرصد الحالات التي يتسبّب فيها أداء المحتوى بشكل سيئ في عدم استجابة أجهزة عرض WebView.

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

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