WebKit
آخر تعديل | الإصدار المستقر | إصدار مرشح | الإصدار التجريبي | الإصدار الأولي |
---|---|---|---|---|
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 في الصفحة بطريقة موثوقة.
- تسمح واجهة برمجة التطبيقات WebViewCompat#addDocumentStartJavascript للتطبيقات بإدخال نصوص برمجية في
- إضافة واجهات برمجة تطبيقات لتعديل كيفية تسجيل أحداث إعداد تقارير الإحالة ضمن "مبادرة حماية الخصوصية"
- قدّمنا واجهة برمجة التطبيقات WebSettingsCompat#setAttributionRegistrationBehavior الجديدة في واجهة برمجة التطبيقات التي تسمح للمطوّرين بتحديد ما إذا كانت مصادر الإحالة والعوامل المُشغِّلة سيتم تسجيلها من التطبيق نفسه أو قادمة من محتوى الويب في WebView. يمكن استخدام هذه الطريقة أيضًا لإيقاف إعداد تقارير الإحالة في WebView. إضافةً إلى ذلك، أضفنا
WebSettingsCompat#getAttributionRegistrationBehavior
واجهة برمجة تطبيقات جديدة للحصول على السلوك الحالي. - لمزيد من المعلومات، يُرجى الاطّلاع على مستندات "مبادرة حماية الخصوصية".
- قدّمنا واجهة برمجة التطبيقات WebSettingsCompat#setAttributionRegistrationBehavior الجديدة في واجهة برمجة التطبيقات التي تسمح للمطوّرين بتحديد ما إذا كانت مصادر الإحالة والعوامل المُشغِّلة سيتم تسجيلها من التطبيق نفسه أو قادمة من محتوى الويب في WebView. يمكن استخدام هذه الطريقة أيضًا لإيقاف إعداد تقارير الإحالة في WebView. إضافةً إلى ذلك، أضفنا
- واجهات برمجة تطبيقات تمت إضافتها لإلغاء البيانات الوصفية لوكيل المستخدم لتلميحات العميل.
- قدّمنا واجهة برمجة تطبيقات جديدة، وهي 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
- إضافة دعم لتمرير
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
الأول. وتوفّر هذه الطريقة لإطار عمل 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.
إصلاح الأخطاء
- إصلاحات طفيفة في تنسيق الوثائق لواجهات برمجة التطبيقات الحالية