WebKit

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

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

لإضافة تبعية إلى 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.11

الإصدار 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 في الصفحة بطريقة موثوقة.
  • إضافة واجهات برمجة تطبيقات لتعديل كيفية تسجيل أحداث تحديد المصدر في "مبادرة حماية الخصوصية"
    • قدّمنا واجهة برمجة التطبيقات الجديدة 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 لاستخدام نمط أداة الإنشاء، ونحرص على اتساق قيم getter وsetter لفئة 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 جديدة تتيح للمطوّرين تحديد ما إذا كان سيتم تسجيل المصادر وعوامل التشغيل باعتبارها مصدرها التطبيق نفسه أو الواردة من محتوى الويب في 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

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 والإصدارات الأحدث استخدام واجهة برمجة التطبيقات الجديدة، لأنّ واجهة برمجة التطبيقات القديمة لن يكون لها أي تأثير على هذه التطبيقات بعد الآن.
  • يمكن الآن من خلال 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 للتحقق مما إذا كان مكوّن 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) للاتصال بالخوادم مباشرةً، وتمت إزالة سلسلة DIRECT 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.

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

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