Webkit
آخر الأخبار | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
---|---|---|---|---|
2 يوليو 2025 | 1.14.0 | - | - | 1.15.0-alpha01 |
تعريف التبعيات
لإضافة تبعية على Webkit، يجب إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف التبعيات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle
لتطبيقك أو وحدتك:
Groovy
dependencies { implementation "androidx.webkit:webkit:1.14.0" }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.14.0") }
لمزيد من المعلومات حول العناصر التابعة، يُرجى الاطّلاع على إضافة عناصر تابعة للإنشاء.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
الإصدار 1.15
الإصدار 1.15.0-alpha01
2 يوليو 2025
تم طرح androidx.webkit:webkit:1.15.0-alpha01
. يحتوي الإصدار 1.15.0-alpha01 على عمليات الدمج هذه.
الميزات الجديدة
- واجهة برمجة تطبيقات جديدة لضبط أزواج اسم-قيمة لعناوين HTTP في الطلبات إلى مصادر محدّدة
تتيح طريقةProfile.setOriginMatchedHeader
للتطبيق تحديد أنّه يجب ضبط اسم العنوان وقيمته على جميع طلبات HTTP/HTTPS إلى المصادر التي تتطابق مع قائمة السماح المقدَّمة عند إرسالها من WebViews وخدمات الخلفية التي تستخدم الملف الشخصي المحدّد. تسمح واجهة برمجة التطبيقات بتعيين واحد فقط لكل اسم عنوان، وستعرض استثناءً إذا كان اسم العنوان مضبوطًا من قبل.
استخدِمProfile.clearOriginMatchedHeader
لإزالة عملية ربط حالية، وProfile.clearAllOriginMatchedHeaders
لإزالة جميع عمليات الربط. (Ida7f1، b/419469873) - واجهة برمجة تطبيقات جديدة للوصول إلى ملفات تعريف الارتباط وضبطها كجزء من عمليات معاودة الاتصال في
shouldInterceptRequest
لكلّ من WebView وService Workers
يمكن لمطوّري التطبيقات الذين يمكنهم حاليًا الوصول إلى واجهة برمجة التطبيقاتCookieManager
كجزء منshouldInterceptRequest
تفعيل عناوين ملفات تعريف الارتباط مباشرةً من خلال طلبsetIncludeCookiesOnShouldInterceptRequest
. سيؤدي ذلك إلى إضافة WebView للعنوانCookie
إلى خريطة WebResourceRequest.getRequestHeaders() التي ستكون ملفات تعريف الارتباط المحدّدة التي تنطبق على الطلب. سيتعامل ذلك أيضًا بشكل صحيح مع أي ملفات تعريف ارتباط مقسَّمة.يمكن للتطبيقات توفير قيم عناوينSet-Cookie
من خلال واجهة برمجة التطبيقاتWebResourceResponseCompat.setCookies
التي تمت إضافتها حديثًا.
ستعالج WebView قيمSet-Cookie
المُضافة هناك كجزء من معالجة الاستجابة. (Idbfd1، b/414769380) - واجهة برمجة تطبيقات تجريبية جديدة لتسخين عملية العرض في
Profile
يمكن أن تستخدم التطبيقات التي تتضمّن دورات حياة معقّدة في WebView واجهة برمجة التطبيقات هذه لضمان تشغيل عملية العرض، حتى إذا تم إيقاف جميع مثيلات WebView. (Ia8fc8)
تغييرات واجهة برمجة التطبيقات
- أضِف طريقة جديدة إلى واجهة التنقّل التجريبية لتوفير عنوان URL الخاص بالتنقّل. (I1c6c0)
- تعديل اسم ميزة "الجلب المُسبَق للملف الشخصي" لتوضيح أنّه يمكن الآن استدعاء واجهة برمجة التطبيقات Prefetch API في سلسلة محادثات في الخلفية (I7c83a)
الإصدار 1.14
الإصدار 1.14.0
4 يونيو 2025
تم طرح androidx.webkit:webkit:1.14.0
. يحتوي الإصدار 1.14.0 على عمليات الدمج هذه.
التغييرات المهمة منذ الإصدار 1.13.0
- نقدّم لك واجهة برمجة التطبيقات
PaymentRequest
لاستدعاء تطبيقات الدفع الأصلية على Android من خلال الغرضorg.chromium.intent.action.PAY
. يكونPaymentRequest
غير مفعّل تلقائيًا، ويمكن لتطبيقات المضيفWebView
استدعاء WebSettingsCompat.setPaymentRequestEnabled(settings, true) لتفعيله. بالإضافة إلى ذلك، تتطلّبPaymentRequest
علامة<queries>
فيAndroidManifest.xml
. لمزيد من المعلومات، يُرجى الاطّلاع على مستنداتsetPaymentRequestEnabled()
. - نقدّم لك واجهة برمجة التطبيقات التجريبية Navigation API لتتبُّع عمليات التنقّل على الويب وإدارتها بشكلٍ محسّن ضمن
WebView
. توفّر واجهات برمجة التطبيقات هذه معلومات تفصيلية حول أحداث التنقّل. يمكنك البدء من خلال استدعاء WebViewCompat.setNavigationClient مع تنفيذ واجهة WebNaviagationClient الجديدة للحصول على معلومات مفصّلة حول التنقّل بين الصفحات. لمزيد من المعلومات حول دورة حياة التنقّل، يُرجى الاطّلاع على دورة حياة عرض التنقّل.
الإصدار 1.14.0-rc01
20 مايو 2025
تم طرح androidx.webkit:webkit:1.14.0-rc01
. يحتوي الإصدار 1.14.0-rc01 على عمليات الدمج هذه.
- لم يتم إجراء أي تغييرات منذ
1.14.0-beta01
.
الإصدار 1.14.0-beta01
7 مايو 2025
تم طرح androidx.webkit:webkit:1.14.0-beta01
. يحتوي الإصدار 1.14.0-beta01 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- إضافة سياق كمعلَمة إلى واجهة برمجة التطبيقات
startUpWebView()
(Ic29cd، b/406701301)
الإصدار 1.14.0-alpha01
9 أبريل 2025
تم طرح androidx.webkit:webkit:1.14.0-alpha01
. يحتوي الإصدار 1.14.0-alpha01 على عمليات الدمج هذه.
الميزات الجديدة
- نقدّم لك واجهة برمجة التطبيقات
PaymentRequest
لاستدعاء تطبيقات الدفع الأصلية على Android من خلال الغرضorg.chromium.intent.action.PAY
. يكونPaymentRequest
غير مفعّل تلقائيًا، ويمكن لتطبيقات WebView المضيفة طلبWebSettingsCompat.setPaymentRequestEnabled(settings, true)
لتفعيله. بالإضافة إلى ذلك، تتطلّبPaymentRequest
علامة<queries>
فيAndroidManifest.xml
. لمزيد من المعلومات، يُرجى الاطّلاع على مستنداتsetPaymentRequestEnabled()
. (I3304e، b/404920055) - نقدّم لك ميزة "عمليات ردّ الاتصال التجريبية للتنقل". يتضمّن هذا الإصدار واجهات برمجة تطبيقات تجريبية لتحسين تتبُّع عمليات التنقّل على الويب وإدارتها ضمن
WebView
. توفّر واجهات برمجة التطبيقات هذه معلومات تفصيلية حول أحداث التنقّل. الميزات الأساسية:WebNavigationClient
الواجهة: تقدّم واجهة جديدة،WebNavigationClient
، مع عمليات ردّ الاتصال لأحداث التنقّل:onNavigationStarted(Navigation navigation)
: يتم إرسال إشعار عند بدء التنقّل.-
onNavigationRedirected(Navigation navigation)
: يتم إرسال إشعار عند إعادة توجيه عملية تنقّل. onNavigationCompleted(Navigation navigation)
: يتم إرسال إشعار عند اكتمال عملية تنقّل.- واجهة
Navigation
: تقدّم معلومات تفصيلية عن عملية التنقّل، بما في ذلك: عنوان URL وحالة بدء الصفحة وحالة المستند نفسه وحالة إعادة التحميل وحالة السجلّ وحالة الرجوع/التقدّم وحالة التنفيذ وحالة صفحة الخطأ ورمز الحالة وحالة استعادة الجلسة. يعمل العنصرNavigation
كمعرّف فريد لكل عملية تنقّل، ما يسمح للمطوّرين بربط أحداث التنقّل ذات الصلة. - الفئة
Page
: تعرّف هذه الفئة على الفئةPage
التي تعمل كمفتاح للبيانات المرتبطة بالصفحة. (I351a6)
- إضافة واجهة برمجة تطبيقات تجريبية جديدة لتبديل سلوك عناصر مقدّم خدمة التخزين المؤقت (I14636)
تغييرات واجهة برمجة التطبيقات
- تم تعديل قيمة ميزة "
PROFILE_URL_PREFETCH
" فيWebViewFeature
. (I606fd) - تضيف هذه السمة
WebViewCompat#saveState
، على غرارWebView#saveState
، ولكنها تتيح تقييد حجم الحالة التي يتم عرضها وتحديد ما إذا كان سيتم حفظ إدخالات السجلّ المتقدّم أم لا. (Iea7d6) - إضافة إعدادات
maxPrerenders
إلى واجهة برمجة التطبيقاتSpeculativeLoadingConfig
(I67245)
الإصدار 1.13
الإصدار 1.13.0
12 مارس 2025
تم طرح androidx.webkit:webkit:1.13.0
. يحتوي الإصدار 1.13.0 على عمليات الدمج هذه.
التغييرات المهمة منذ الإصدار 1.12.0
- نقدّم واجهة برمجة تطبيقات تجريبية جديدة مخصّصة للعرض المسبق لعناوين URL، ما يتيح للمطوّرين العرض المسبق التخميني لعناوين URL المرشّحة، ما يؤدي إلى عمليات تنقّل أسرع. (I0cfe7)
- نقدّم مجموعة من واجهات برمجة التطبيقات الجديدة لحذف بيانات التصفّح التي يخزّنها
WebView
. يُفضَّل استخدام واجهات برمجة التطبيقات الجديدة فيWebStorageCompat
على واجهات برمجة التطبيقات الحالية فيandroid.webkit.WebStorage
، لأنّها ستضمن حذف جميع بيانات التخزين المحلية، بما في ذلك ذاكرة التخزين المؤقت للشبكة وملفات تعريف الارتباط، بالإضافة إلى أي مشغّلات خدمات مثبَّتة. في حال توفير واجهات برمجة تطبيقات جديدة متعلقة بمساحة التخزين في المستقبل، سيتم تعديل هذه الطرق الجديدة لتشملها في مساحة التخزين المحذوفة. (Iad54f، b/382273208) - أضِف واجهة برمجة التطبيقات
setPartitionedCookiesEnabled
. سيسمح ذلك للمطوّرين بتفعيل ملفات تعريف الارتباط المقسّمة وإيقافها فيWebView
. (Ic506a، b/364904765) - أضِف واجهة برمجة التطبيقات لوسم المقابس إلى
WebView
من أجل احتساب عدد زيارات شبكةWebView
باستخدامNetworkStatsManager
/TrafficStats
. لن تتوفّر هذه الميزة إلا من الإصدارWebView
M133. (Ica441، b/374932688) - إضافة واجهة برمجة تطبيقات تجريبية
WebView
لبدء التشغيل غير المتزامن (I94b8a) - جلب عناوين URL مسبقًا في الملف الشخصي: تم طرح واجهة برمجة تطبيقات جديدة في
Profile
للسماح للمطوّرين بتفعيل ميزة جلب عناوين URL مسبقًا. محو الجلب المُسبَق: تمت إضافة واجهة برمجة تطبيقات لمحو عمليات الجلب المُسبَق الجارية.(I42c5c) - إيقاف
WebView.startSafeBrowsing
(If5626)
الإصدار 1.13.0-rc01
26 فبراير 2025
تم طرح androidx.webkit:webkit:1.13.0-rc01
. لا يتضمّن هذا الإصدار أي تغييرات عن الإصدار 1.13.0-beta01
.
الإصدار 1.13.0-beta01
12 فبراير 2025
تم طرح androidx.webkit:webkit:1.13.0-beta01
. يحتوي الإصدار 1.13.0-beta01 على عمليات الدمج هذه.
تغييرات واجهة برمجة التطبيقات
- إضافة اللاحقة Async إلى واجهة برمجة التطبيقات الخاصة بالعرض المُسبَق أعِد تسمية أيّ "بيانات" إلى "عنوان" في
NoVarySearch
ليعكس الاسم الجديد. (Ie91c9) - إضافة مَعلمة executor إلى واجهة برمجة التطبيقات الخاصة بالعرض المسبق لعناوين URL بالإضافة إلى ذلك، يتم حصر إمكانية طلب البيانات من واجهة برمجة التطبيقات في سلسلة التعليمات الخاصة بواجهة المستخدم فقط. (I50520)
- أضِف واجهة برمجة تطبيقات لضبط إعدادات ذاكرة التخزين المؤقت لطلبات الجلب المُسبَق للملف الشخصي. وينطبق أيضًا على طلبات Prerender التي يتم إرسالها من
WebViews
مرتبط بهذا الملف الشخصي. (Iebb6e)
إصلاح الأخطاء
- تغيير سلوك
URLUtilCompat.guessFileName
لاستخدام المَعلمةmimeType
فقط لاقتراح إضافة لأسماء الملفات المستمدة من مَعلمة عنوان URL (I53ecd، b/382864232)
الإصدار 1.13.0-alpha03
15 يناير 2025
تم طرح androidx.webkit:webkit:1.13.0-alpha03
. يحتوي الإصدار 1.13.0-alpha03 على عمليات الدمج هذه.
الميزات الجديدة
- نقدّم واجهة برمجة تطبيقات تجريبية جديدة مخصّصة للعرض المسبق لعناوين URL، ما يتيح للمطوّرين العرض المسبق التخميني لعناوين URL المرشّحة، ما يؤدي إلى عمليات تنقّل أسرع. (I0cfe7)
- نقدّم مجموعة من واجهات برمجة التطبيقات الجديدة لحذف بيانات التصفّح التي يخزّنها
WebView
. يُفضَّل استخدام واجهات برمجة التطبيقات الجديدة فيWebStorageCompat
على واجهات برمجة التطبيقات الحالية فيandroid.webkit.WebStorage
، لأنّها ستضمن حذف جميع بيانات التخزين المحلية، بما في ذلك ذاكرة التخزين المؤقت للشبكة وملفات تعريف الارتباط، بالإضافة إلى أي مشغّلات خدمات مثبَّتة. في حال توفير واجهات برمجة تطبيقات جديدة متعلقة بمساحة التخزين في المستقبل، سيتم تعديل هذه الطرق الجديدة لتشملها في مساحة التخزين المحذوفة. (Iad54f، b/382273208) - أضِف واجهة برمجة التطبيقات
setPartitionedCookiesEnabled
. سيسمح ذلك للمطوّرين بتفعيل ملفات تعريف الارتباط المقسّمة وإيقافها فيWebView
. (Ic506a، b/364904765)
تغييرات واجهة برمجة التطبيقات
- تغيير متطلبات سلسلة المحادثات لواجهة برمجة التطبيقات Prefetch API بحيث لا يتم استدعاؤها إلا في سلسلة محادثات واجهة المستخدم (I866b5)
- تعديل طرق
WebAuthn
لتوضيح أنّه يجب استدعاؤها في سلسلة التعليمات الخاصة بواجهة المستخدم يتم فرض هذا الشرط من خلال عملية التنفيذ الحالية، ولا يضيف هذا التغيير سوى التعليق التوضيحي ذي الصلة. (I6d6ba)
الإصدار 1.13.0-alpha02
11 ديسمبر 2024
تم طرح androidx.webkit:webkit:1.13.0-alpha02
. يحتوي الإصدار 1.13.0-alpha02 على عمليات الإيداع هذه.
الميزات الجديدة
- أضِف واجهة برمجة التطبيقات لوسم المقابس إلى
WebView
من أجل احتساب عدد زيارات شبكةWebView
باستخدامNetworkStatsManager
/TrafficStats
. لن تتوفّر هذه الميزة إلا من الإصدارWebView
M133. (Ica441، b/374932688)
تغييرات واجهة برمجة التطبيقات
- تعديل Prefetch API من خلال إعادة تسمية
PrefetchParameter
إلىSpeculativeLoadingParamaters
، وإضافةPrefetchNetworkException
جديدة، واستبدالPrefetchOperationCallback
بـOutcomeReceiverCompat
، وتعديل Javadoc (If5072) - الحصول على معلومات التشخيص من واجهة برمجة التطبيقات لبدء WebView بشكل غير متزامن
- توفير خيار للتطبيقات لتفعيل عملية الإعداد فقط بدون حظر سلسلة محادثات واجهة المستخدم (I9bf2b)
إصلاح الأخطاء
- تستخدم هذه المكتبة الآن تعليقات توضيحية بشأن القيم الخالية في JSpecify، وهي تعليقات توضيحية خاصة بالاستخدام. على مطوّري Kotlin استخدام وسيطة المترجم البرمجي التالية لفرض الاستخدام الصحيح:
-Xjspecify-annotations=strict
(هذه هي القيمة التلقائية بدءًا من الإصدار 2.1.0 من المترجم البرمجي للغة Kotlin). (I0e4c5، b/326456246)
الإصدار 1.13.0-alpha01
13 نوفمبر 2024
تم طرح androidx.webkit:webkit:1.13.0-alpha01
. يحتوي الإصدار 1.13.0-alpha01 على عمليات الإيداع هذه.
الميزات الجديدة
- إضافة واجهة برمجة تطبيقات تجريبية
WebView
لبدء التشغيل غير المتزامن (I94b8a) - جلب مسبق لعناوين URL في Profile: تم طرح واجهة برمجة تطبيقات جديدة في Profile للسماح للمطوّرين بتفعيل ميزة الجلب المسبق لعناوين URL. محو عمليات الجلب المُسبَق: تمت إضافة واجهة برمجة تطبيقات لمحو عمليات الجلب المُسبَق الجارية. (I42c5c)
تغييرات واجهة برمجة التطبيقات
- إيقاف
WebView.startSafeBrowsing
(If5626)
الإصدار 1.12
الإصدار 1.12.1
2 أكتوبر 2024
تم طرح androidx.webkit:webkit:1.12.1
. يحتوي الإصدار 1.12.1 على عمليات الدمج هذه.
إصلاح الأخطاء
- حلّ المشكلة التي كانت تمنع توفّر واجهات برمجة التطبيقات 1.12.0 في الإصدار
الإصدار 1.12.0
18 سبتمبر 2024
تم طرح androidx.webkit:webkit:1.12.0
. يحتوي الإصدار 1.12.0 على عمليات الدمج هذه.
التغييرات المهمة منذ الإصدار 1.11.0
- أضِف واجهة برمجة تطبيقات جديدة إلى
WebSettingsCompat
لتفعيل/إيقاف BackForwardCache لهذاWebSettings
. هذه الواجهة تجريبية ويمكن تغييرها في المستقبل. (aosp/3111705) - أضِف واجهة برمجة تطبيقات جديدة إلى
WebSettingsCompat
للتحكّم في سلوك "التحميل التخميني" لهذاWebSettings
. تتوفّر ميزة العرض المُسبق فقط في الوقت الحالي. هذه الواجهة تجريبية ويمكن تغييرها في المستقبل. (I13962) - تمت إضافة واجهة برمجة تطبيقات جديدة لتفعيل مصادقة الويب في
WebView
. يمكن للمطوّرين تفعيل/إيقاف مكالماتWebAuthn
فيWebView
لتطبيقاتهم باستخدامWebSettingsCompat#setWebAuthenticationSupport
. (I8187f)
الإصدار 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 مع الإصدار 7.3 أو إصدار أحدث من "مكوّن Android الإضافي" (مثل الإصدار 3.3 من R8)، وجميع عمليات الإنشاء عند استخدام الإصدار 8.1 أو إصدار أحدث من "مكوّن Android الإضافي" (مثل الإصدار 8.1 من D8). ننصح العملاء الذين لا يستخدمون 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 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- إضافة واجهة برمجة تطبيقات جديدة لتفعيل Web Authentication في
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
- تمت إضافة واجهة برمجة تطبيقات جديدة إلى WebSettingsCompat للتحكّم في سلوك واجهة برمجة التطبيقات التجريبية Android WebView Media Integrity API من خلال إيقاف واجهة برمجة التطبيقات بالكامل أو حظر مشاركة هوية التطبيق في ردّ واجهة برمجة التطبيقات. يمكن تفعيل هذا الخيار أو إيقافه لجميع المصادر ولكل مصدر على حدة.
الإصدار 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
- تمت إضافة واجهة برمجة تطبيقات جديدة للملفات الشخصية المتعددة في WebViews.
- تتضمّن واجهة الملف الشخصي واجهات برمجة تطبيقات مختلفة يمكن استخدامها للحصول على البيانات المرتبطة بهذا الملف الشخصي، مثل اسمه وGeoLocationPermissions وServiceWorkerController وCookieManager وWebStorage. تكون هذه العناصر خاصة بالملف الشخصي، ولا تتم مشاركة المعلومات بين الملفات الشخصية المختلفة في التطبيق.
- يمكن تغيير الملف الشخصي الذي يستخدمه مثيل
WebView
باستخدام طريقة WebViewCompat#setProfile واسترداده باستخدام WebViewCompat#getProfile. - تتيح لك واجهة ProfileStore التي تم طرحها حديثًا إدارة الملفات الشخصية المتاحة في تطبيقك، بما في ذلك الملف الشخصي التلقائي.
- ستستمر واجهات برمجة تطبيقات WebView الحالية، مثل CookieManager#getInstance، في العمل على الملف الشخصي التلقائي.
- تمت إضافة واجهة برمجة تطبيقات لإدخال JavaScript وتشغيله قبل تحميل الصفحة.
- تتيح واجهة برمجة التطبيقات WebViewCompat#addDocumentStartJavascript للتطبيقات إدخال نصوص برمجية في
WebView
يتم ضمان تنفيذها قبل تنفيذ أي نصوص برمجية للصفحة. تسمح واجهة برمجة التطبيقات للتطبيق بتحديد قائمة مستهدَفة بالمصادر التي سيتم تفعيل البرنامج النصي عليها، ما يضمن عدم تشغيله إلا على الصفحات المقصودة. على عكس WebView#evaluateJavascript، ستسمح واجهة برمجة التطبيقات هذه بتنفيذ النصوص البرمجية في إطارات iframe المضمّنة عند تحميلها. يمكن للتطبيقات استخدام واجهة برمجة التطبيقات الجديدة هذه مع WebViewCompat#addWebMessageListener لإعداد اتصال ثنائي الاتجاه مع JavaScript في الصفحة بطريقة موثوقة.
- تتيح واجهة برمجة التطبيقات WebViewCompat#addDocumentStartJavascript للتطبيقات إدخال نصوص برمجية في
- تمت إضافة واجهات برمجة تطبيقات لتعديل طريقة تسجيل أحداث Attribution Reporting API في "مبادرة حماية الخصوصية".
- لقد أطلقنا واجهة برمجة تطبيقات جديدة WebSettingsCompat#setAttributionRegistrationBehavior تتيح للمطوّرين ضبط ما إذا كان يتم تسجيل مصادر تحديد المصدر وعوامل التشغيل على أنّها واردة من التطبيق نفسه أو من محتوى الويب في WebView. يمكن أيضًا استخدام هذه الطريقة لإيقاف ميزة "إعداد تقارير تحديد المصدر" في WebView. بالإضافة إلى ذلك، أضفنا واجهة برمجة تطبيقات جديدة
WebSettingsCompat#getAttributionRegistrationBehavior
للحصول على السلوك الحالي. - لمزيد من المعلومات، يُرجى الاطّلاع على مستندات "مبادرة حماية الخصوصية".
- لقد أطلقنا واجهة برمجة تطبيقات جديدة WebSettingsCompat#setAttributionRegistrationBehavior تتيح للمطوّرين ضبط ما إذا كان يتم تسجيل مصادر تحديد المصدر وعوامل التشغيل على أنّها واردة من التطبيق نفسه أو من محتوى الويب في WebView. يمكن أيضًا استخدام هذه الطريقة لإيقاف ميزة "إعداد تقارير تحديد المصدر" في WebView. بالإضافة إلى ذلك، أضفنا واجهة برمجة تطبيقات جديدة
- تمت إضافة واجهات برمجة تطبيقات لتجاوز البيانات الوصفية لبرنامج وكيل المستخدم في "تعديلات برنامج وكيل المستخدم".
- لقد طرحنا واجهة برمجة تطبيقات جديدة، WebSettingsCompat#setUserAgentMetadata لتجاوز بيانات user-agent الوصفية الخاصة بـ WebView المستخدَمة لتعبئة تلميحات العميل الخاصة بـ user-agent، وأضفنا أيضًا واجهة برمجة تطبيقات جديدة أخرى WebSettingsCompat#getUserAgentMetadata للحصول على عمليات التجاوز الحالية الخاصة بـ user-agent. ننصح التطبيقات باستخدام واجهة برمجة التطبيقات الجديدة لضبط قيم التجاوز الصحيحة عندما يغيّر التطبيق سلسلة وكيل المستخدم التلقائية باستخدام 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
. يمكن استخدام هذه الطريقة أيضًا لإيقاف ميزة Attribution Reporting في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
- إتاحة إمكانية تمرير
ArrayBuffer
عبرWebMessagePortCompat#postMessage
وJavaScriptReplyProxy#postMessage
وWebViewCompat#postWebMessage
، وتلقّيArrayBuffer
من JavaScript عبرWebMessagePortCompat
وWebMessageListener
، وتلقّيArrayBuffer
قابلة للنقل من JavaScript عبرWebMessagePortCompat
(aosp/2596550، b/251152171)
الإصدار 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
. تمت إضافة هذه الطريقة لتوفير إمكانية تعديل إعداداتWebView
في إطار عمل Android. لا يُنصح باستخدام هذه الطريقة للتطبيقات ذات الأغراض العامة.
الإصدار 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()
يقبل File بدلاً من String (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 في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-Requested-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
. يجب أن تستخدم التطبيقات التي تستهدف حزمة تطوير البرامج (SDK) 33 والإصدارات الأحدث (T) واجهة برمجة التطبيقات الجديدة، لأنّ واجهة برمجة التطبيقات القديمة لن يكون لها أي تأثير على هذه التطبيقات. - يمكن الآن ضبط قائمة مسموح بها لعناوين URL لاستخدام الخادم الوكيل الذي تم إعداده من خلال
ProxyCofig.Builder
عن طريق ضبط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 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تم الآن وضع تعليقات توضيحية على واجهات برمجة التطبيقات ذات الصلة بميزة "التعتيم الخوارزمي" لتتطلّب استخدام المستوى 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) وإصدارات 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) وإصدارات 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
واجهة برمجة التطبيقات للتحقّق مما إذا كان WebView يعمل في عملية متعدّدة. يمكن إجراء ذلك بدءًا من نظام التشغيل Android O، ويعني ذلك أنّه يتم عرض محتوى الويب في عملية عرض معزولة عن عملية التطبيق. يمكن مشاركة أداة العرض المحصورة هذه مع WebViews أخرى في التطبيق نفسه، ولكن لا يمكن مشاركتها مع عمليات التطبيقات الأخرى.
الإصدار 1.3.0-rc02
5 آب (أغسطس) 2020
تم طرح androidx.webkit:webkit:1.3.0-rc02
. يتضمّن الإصدار 1.3.0-rc02 عمليات الدمج التالية.
إصلاح الأخطاء
- يحلّ هذا الإصدار مشكلة توافق كانت تتسبّب أحيانًا في تعطُّل
WebMessageListener
أثناء التطوير المحلي إذا تم بدء تشغيل تطبيقك باستخدام ميزة "التشغيل الفوري" في Android Studio.
الإصدار 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
واجهة برمجة التطبيقات للتحقّق مما إذا كان 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 للتحكّم في ما إذا كان يجب عرض WebViews في الوضع الداكن.
الإصدار 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 للتحكّم في ما إذا كان يجب عرض مكوّنات 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 لضبط خادم وكيل لطلبات الشبكة في WebViews الخاصة بأحد التطبيقات
- واجهة برمجة التطبيقات WebViewAssetLoader لتسهيل تحميل مواد عرض وحِزم وموارد APK من دليل بيانات التطبيق من خلال اعتراض الطلبات يتيح ذلك الوصول إلى موارد الويب والموارد المحلية بدون إيقاف CORS.
- واجهة برمجة التطبيقات TracingController لجمع معلومات التتبُّع في 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 "text/plain" (بدلاً من القيمة الخالية) عندما يتعذّر تخمين نوع 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 لضبط خادم وكيل لطلبات الشبكة في WebViews الخاصة بأحد التطبيقات
- واجهة برمجة التطبيقات AssetLoader API لتبسيط تحميل مواد عرض APK ومواردها من خلال اعتراض الطلبات، ما يتيح الوصول إلى موارد الويب بدون إيقاف CORS
- واجهة برمجة التطبيقات TracingController لجمع معلومات التتبُّع في WebView لأغراض تصحيح الأخطاء
- واجهات برمجة تطبيقات RenderProcess لإدارة خدمات عارض WebView ورصد الحالات التي يتسبّب فيها المحتوى السيئ في عدم استجابة عارضات WebView
إصلاح الأخطاء
- إصلاحات بسيطة لتنسيق المستندات الخاصة بواجهات برمجة التطبيقات الحالية