وبکیت
| آخرین بهروزرسانی | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| ۱۷ دسامبر ۲۰۲۵ | ۱.۱۵.۰ | - | - | - |
اعلام وابستگیها
برای افزودن وابستگی به Webkit، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven گوگل را مطالعه کنید.
وابستگیهای مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:
Groovy
dependencies { implementation "androidx.webkit:webkit:1.15.0" }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.15.0") }
برای اطلاعات بیشتر در مورد وابستگیها، به «افزودن وابستگیهای ساخت» مراجعه کنید.
بازخورد
بازخورد شما به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی کشف کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. میتوانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه ۱.۱۵
نسخه ۱.۱۵.۰
۱۷ دسامبر ۲۰۲۵
androidx.webkit:webkit:1.15.0 منتشر شد. نسخه ۱.۱۵.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۱۴.۰
این نسخه minSdk از API 21 به API 23 افزایش میدهد. همچنین قابلیتهای جدید API زیر را معرفی میکند:
- به عنوان بخشی از فراخوانیهای
shouldInterceptRequestبرای WebView و Service Workers به کوکیها دسترسی پیدا کرده و آنها را تنظیم کنید. توسعهدهندگان برنامه که در حال حاضر به عنوان بخشی ازshouldInterceptRequestخود به APICookieManagerدسترسی دارند، اکنون میتوانند هدرهای کوکی را مستقیماً با فراخوانی WebViewCompat#setCookiesIncludedInShouldInterceptRequest فعال کنند. این کار باعث میشودWebViewیک هدرCookieبه نقشه WebResourceRequest.getRequestHeaders() اضافه کند که دقیقاً همان کوکیهایی است که برای درخواست اعمال میشوند. این کار همچنین به درستی هرگونه کوکی پارتیشنبندی شده را مدیریت میکند. برنامهها میتوانند مقادیر هدرSet-Cookieرا از طریق API جدید WebResourceResponseCompat#setCookies ارائه دهند. مقادیرSet-Cookieاضافه شده در آنجا توسطWebViewبه عنوان بخشی از مدیریت پاسخ پردازش میشوند. - تنظیم هدرهای درخواست سفارشی. API مربوط به Profile#addCustomHeader به توسعهدهندگان برنامه اجازه میدهد تا فهرستی از جفتهای نام-مقدار هدر استاتیک تنظیم کنند که به هر درخواستی که با الگوی مبدا مشخصشده مطابقت داشته باشد، ارسال میشوند.
- امکان سفارشیسازی آیتمها در منوی زمینهی هایپرلینک WebView. با فراخوانی WebViewCompat#setHyperlinkContextMenuItems ، توسعهدهندگان برنامه میتوانند مشخص کنند که وقتی کاربر یک هایپرلینک را برای مدت طولانی فشار میدهد، کدام آیتمها در منوی زمینه ظاهر شوند.
- فعالسازی پیشرندر . WebViewCompat#prerenderUrlAsync به برنامهها اجازه میدهد تا URLها را قبل از نمایش در
WebView، به صورت حدسی پیشرندر کنند. پیشرندر میتواند با واکشی صفحه قبل از زمان، عملکرد بارگیری را به طرز چشمگیری بهبود بخشد. هنگامی که کاربر به URL میرود، صفحه پیشرندر شده فوراً نمایش داده میشود. - با فراخوانی API مربوط به WebSettingsCompat#setBackForwardCacheSettings ، میتوانید جزئیات BackForwardCache را در
WebViewکنترل کنید. این API به شما امکان میدهد تایماوت را بر حسب ثانیه تنظیم کنید یا محدودیتهای حافظه پنهان صفحه را تنظیم کنید. - در نهایت، حذف هدر
X-Requested-WithدرWebViewلغو شده است و این هدر دوباره برای همه درخواستها ارسال خواهد شد. بنابراین API مربوط به allowlist دیگر ضروری نیست و منسوخ شده است.
APIهای آزمایشی از نسخه ۱.۱۴.۰ اضافه شدهاند
- کتابخانه
WebViewهمچنین تعدادی API معرفی کرده است که در حال حاضر وضعیت آزمایشی دارند. میتوانید اطلاعات بیشتر در مورد این APIها را در خلاصه بسته بخوانید. اگر در مورد این APIها بازخوردی دارید، لطفاً آن را با ارسال ایمیل به android-webview-dev@chromium.org یا با ارسال بازخورد در ردیاب مشکلات ما به اشتراک بگذارید.
ویژگیهای زیر آزمایشی هستند:
- ProcessGlobalConfig#setUiThreadStartupMode به شما امکان میدهد مقداردهی اولیه نخ رابط کاربری WebView را پیکربندی کنید. به طور خاص، این به شما امکان میدهد انتخاب کنید که آیا راهاندازی باید به عنوان یک وظیفه واحد اجرا شود یا باید به وظایف کوچکتری تقسیم شود که کنترل را به Looper نخ رابط کاربری واگذار میکند.
- نمونههای
WebViewرا با پیکربندی محدود ایجاد کنید که بعداً با API WebViewBuilder قابل تغییر نباشد. در ابتدا، این بدان معناست که اکنون میتوان اشیاء رابط جاوا اسکریپت را که فقط در یک لیست مشخص از مبداها تزریق میشوند، اضافه کرد که امنیت استفاده از آن را تا حد زیادی بهبود میبخشد. این امر همچنین هرگونه فراخوانی بیشتر برایaddJavascriptInterfaceرا در نمونه ساخته شدهWebViewغیرفعال میکند، که پیکربندی تغییرناپذیر را تضمین میکند. - توسعهیافته بر اساس API مربوط به WebViewCompat#startUpWebView :
- اکنون میتوانید مجموعهای از پروفایلها را برای بارگذاری همزمان مشخص کنید. این به توسعهدهندگان برنامه اجازه میدهد تا از بارگذاری هرگونه پروفایلی صرف نظر کنند، یا مجموعه دقیقی از پروفایلهایی را که برنامه استفاده میکند مشخص کنند تا از بارگذاری همه آنها اطمینان حاصل شود.
- اشکالزدایی راهاندازی ناهمگام اکنون با استفاده از فراخوانیهای getUiThreadBlockingStartUpLocations و getNonUiThreadBlockingStartUpLocations آسانتر شده است تا مکانهایی را در برنامه تعیین کند که راهاندازی WebView، چه نخ رابط کاربری و چه نخ پسزمینه را مسدود میکند.
- شما میتوانید نحوهی اجرای مقداردهی اولیهی نخ رابط کاربری (UI thread)
WebViewرا پیکربندی کنید.
- با فراخوانی Profile#warmUpRendererProcess ، فرآیند رندرینگ را برای یک پروفایل آماده کنید. این API میتواند توسط برنامههایی با چرخه عمر پیچیده
WebViewمورد استفاده قرار گیرد تا اطمینان حاصل شود که فرآیند رندرینگ در حال اجرا است، حتی اگر تمام نمونههای WebView از بین رفته باشند. - Profile#addQuicHints به برنامهها اجازه میدهد تا به
WebViewبگویند هنگام اتصال به مبداهای ارائه شده، QUIC / HTTP3 را ترجیح دهد. - Profile#preconnect به برنامهها اجازه میدهد تا قبل از پیمایش به یک مبدا، اتصالی را به آن باز کنند تا سرعت بارگذاریهای بعدی افزایش یابد.
APIهای آزمایشی از نسخه ۱.۱۴.۰ بهروزرسانی شدهاند
- رابط برنامهنویسی شنونده ناوبری (Navigation Listener API) بهروزرسانی شده است تا به برنامهها اجازه دهد چندین نمونه شنونده ارائه دهند که میتوانند به صورت اختیاری با یک Executor سفارشی برای فراخوانیهای نخ پسزمینه پیکربندی شوند. این رابط قبلاً WebNavigationClient API بود که به نفع API جدید منسوخ شده است. علاوه بر این، این بهروزرسانی اطلاعات زمانبندی را به فراخوانی onFirstContentfulPaint اضافه میکند و اطلاعات زمانی را از شروع ناوبری تا رویداد paint ارائه میدهد.
نسخه ۱.۱۵.۰-rc01
۳ دسامبر ۲۰۲۵
androidx.webkit:webkit:1.15.0-rc01 منتشر شد. نسخه 1.15.0-rc01 شامل این کامیتها است.
- از زمان
androidx.webkit:webkit:1.15.0-beta01هیچ بهروزرسانی وجود ندارد
نسخه ۱.۱۵.۰-بتا۰۱
۱۹ نوامبر ۲۰۲۵
androidx.webkit:webkit:1.15.0-beta01 منتشر شد. نسخه 1.15.0-beta01 شامل این کامیتها است.
تغییرات API
- API های آزمایشی
WebViewBuilder( I06828 ، b/409740828 ) را اضافه کنید - اضافه کردن
UiThreadStartupModeبرای راهاندازی غیرهمزمان که فراخوانیisMultiProcessEnabled()را از زمان راهاندازی Chromium متوقف میکند ( I524ee ، b/397372092 ) - پنهان کردن فرم فکتور
UserAgentتا زمان انتشار نسخه ۱.۱۶ ( Ibac8a ، b/430554841 ، b/454438418 ) - بهروزرسانی API ناوبری برای امکان ارائه نمونههای
NavigationListenerبه برنامهها، که میتوانند به صورت اختیاری با یک Executor سفارشی برای فراخوانیهای نخ پسزمینه پیکربندی شوند. اکنون میتوان چندین نمونهNavigationListenerبه یکWebViewواحد اضافه کرد.
علاوه بر این، این بهروزرسانی اطلاعات زمانبندی را به فراخوانیonFirstContentfulPaintاضافه میکند و اطلاعات زمانی را از شروع ناوبری تا رویداد paint ارائه میدهد. ( I6aa8e , b/448580228 ) -
Profile#addQuicHintsاضافه میکند که به برنامهها اجازه میدهد بهWebViewبگویند هنگام اتصال به مبداهای ارائه شده، QUIC / HTTP3 را ترجیح دهد. ( I8e364 ، b/445339041 ) - ثابتهای ویژگی با حاشیهنویسیهای آزمایشی بهروزرسانی شدند، و README کتابخانه با اطلاعات بیشتر در مورد APIهای آزمایشی بهروزرسانی شد. ( I1b914 )
رفع اشکالات
- انتشار
androidx.webkit:webkit:1.15.0-beta01( I0b1bd , b/417241552 )
نسخه ۱.۱۵.۰-آلفا۰۳
۸ اکتبر ۲۰۲۵
androidx.webkit:webkit:1.15.0-alpha03 منتشر شد. نسخه 1.15.0-alpha03 شامل این کامیتها است.
تغییرات API
- یک API جدید برای تنظیم هدرهای درخواست سفارشی معرفی میکند. این یک تکرار بر روی API آزمایشی قبلی است و اکنون به برنامه اجازه میدهد تا برای هر هدر چندین مقدار تنظیم کند، که هر کدام به مجموعه متفاوتی از الگوهای مبدا نگاشت شدهاند. API جدید همچنین به برنامه اجازه میدهد تا هدرهای پیکربندی شده را بررسی کند. ( Id7d30 ، b/419469873 ، b/429269470 )
- حذف هدر X-Requested-With در
WebViewلغو شده است و این هدر دوباره به طور پیشفرض برای همه درخواستها ارسال خواهد شد. API مربوط به allowlist دیگر ضروری نیست و منسوخ شده است. ( I884c3 , b/447094379 ) - یک API جدید به
WebSettingsCompatاضافه کنید تا توسعهدهندگان بتوانند حافظه پنهان (cache) برگشتیWebViewرا پیکربندی کنند، مانند تنظیم زمان انقضا بر حسب ثانیه یا محدودیتهای حافظه پنهان صفحه. ( I642b2 ، b/432395269 ) - API
HyperlinkContextMenuرا اضافه کنید تا امکان سفارشیسازی آیتم در منوی زمینه HyperlinkWebView( Idb809 ، b/382654667 ) فراهم شود. - برای اشکالزدایی مواردی که
WebViewبه صورت غیرهمزمان و بدون استفاده ازstartUpWebViewAPI راهاندازی شده است، APIgetAsyncStartUpLocationsاضافه کنید. ( I6bf4b ، b/417434566 )
نسخه ۱.۱۵.۰-آلفا۰۲
۲۷ آگوست ۲۰۲۵
androidx.webkit:webkit:1.15.0-alpha02 منتشر شد. نسخه 1.15.0-alpha02 شامل این کامیتها است.
ویژگیهای جدید
-
Profile#preconnectاضافه شد که به برنامهها اجازه میدهد قبل از پیمایش به یک مبدا، اتصالی را به آن باز کنند تا سرعت بارگذاریهای بعدی افزایش یابد. ( I8db41 ) - یک رابط برنامهنویسی کاربردی جدید
prerenderUrlAsyncبهWebViewCompatاضافه شده است که به برنامهها اجازه میدهد URLها را قبل از نمایش در WebView، به صورت حدسی پیشرندر کنند.
پیشرندرینگ میتواند با دریافت صفحه از قبل، عملکرد بارگذاری را به طرز چشمگیری بهبود بخشد. وقتی کاربر به URL میرود، صفحه از پیش رندر شده فوراً نمایش داده میشود.
این APIها قبلاً به صورت آزمایشی منتشر شده بودند و اکنون میتوانند بدون حاشیهنویسی@OptInمورد استفاده قرار گیرند. ( Ie14f5 ) - اکنون میتوانید مجموعهای از پروفایلها را برای بارگذاری همزمان هنگام فراخوانی
startUpWebViewAPI مشخص کنید. این کار با ارسال نام پروفایلها به یک متد جدید درWebViewStartUpConfig.Builder( I9a6e6 ) پیکربندی شده است. - یک API جدید به
WebSettingsCompatاضافه کنید تا BackForwardCache را در شیءWebSettingsفعال/غیرفعال کنید. این API قبلاً به صورت آزمایشی منتشر شده بود و اکنون میتوان بدون حاشیهنویسی@OptInاز آن استفاده کرد. ( Ie413b ) - پشتیبانی برای لغو فاکتورهای فرم User-Agent اضافه شد. کلاس
UserAgentMetadataمتدهای جدیدی برای دریافت و تنظیم فاکتورهای فرم فراداده user-agent دارد.UserAgentMetadata.Builderمتد جدیدsetFormFactors()را برای لغو راهنمایی کلاینتSec-CH-UA-Form-FactorsUser-Agent دارد. مقادیر لغو شده فعلی را میتوان از طریق متد جدیدgetFormFactors()بازیابی کرد. ( I6d08c , b/430554841 )
تغییرات API
- برای پیکربندی مقداردهی اولیه نخ رابط کاربری
WebViewAPI را بهProcessGlobalConfigاضافه کنید ( I5e85a ، b/433273850 ، b/397372092 ) - یک نام ویژگی جدید برای
WebViewStartupConfig.Builder#setProfilesToLoadDuringStartupAPI اضافه کنید ( I36451 ) - انتقال minSdk پیشفرض از API 21 به API 23 ( Ibdfca ، b/380448311 ، b/435705964 ، b/435705223 )
- بهروزرسانی API مربوط به هدر منطبق با مبدا برای امکان بازنویسی مقادیر هدر با فراخوانی چندین بار
setOriginMatchedHeaderبرای نام هدر یکسان. همچنین یک متد جدیدhasOriginMatchedHeaderاضافه شده است تا بررسی کند که آیا نام هدر از قبل استفاده شده است یا خیر.
این تغییر همچنین API را به عنوان آزمایشی مشخص میکند، زیرا در حال حاضر فقط از تنظیم یک مقدار و نگاشت مبدا برای هر مقدار هدر پشتیبانی میکند و احتمالاً در آینده تغییراتی در آن ایجاد خواهد شد تا از مقادیر چندگانه نگاشت شده به مبداهای مختلف پشتیبانی کند. ( I03365 , b/419469873 , b/429269470 ) - الزام نخ رابط کاربری برای
Profile#prefetchUrlAsync()حذف شده است. اکنون میتوان آن را از هر نخی فراخوانی کرد. ( I83d57 ) - رابط
OutcomeReceiverCompatبه نفع نسخه رسمیandroidx.core.os.OutcomeReceiverCompatحذف شده است. این کتابخانه اکنون بهcompileSdk35 یا بالاتر نیاز دارد. ( Ie1ea5 ) - تغییر نام
[is/set]IncludeCookiesOnShouldInterceptRequestEnabledبه[are/set]CookiesIncludedInShouldInterceptRequestدرWebSettingsCompat( Ife9e9 ، b/428924452 ) - اضافه کردن حاشیهنویسیهای آزمایشی API به
Profile.ExperimentalUrlPrefetchکه قبلاً حذف شده بودند. ( Ic54eb ، b/417458061 )
نسخه ۱.۱۵.۰-آلفا۰۱
۲ ژوئیه ۲۰۲۵
androidx.webkit:webkit:1.15.0-alpha01 منتشر شد. نسخه 1.15.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- یک API جدید برای تنظیم جفتهای نام-مقدار هدر HTTP در درخواستها به مبداهای خاص.
متدProfile.setOriginMatchedHeaderبه برنامه اجازه میدهد تا مشخص کند که نام و مقدار هدر باید در تمام درخواستهای HTTP/HTTPS به مبداهایی که با لیست مجاز ارائه شده مطابقت دارند، هنگام ارسال از WebViews و service workerهایی که از Profile داده شده استفاده میکنند، تنظیم شود. API فقط یک نگاشت واحد برای هر نام هدر را مجاز میداند و اگر نام هدر از قبل تنظیم شده باشد، یک استثنا ایجاد میکند.
برای حذف نگاشت موجود ازProfile.clearOriginMatchedHeaderو برای حذف تمام نگاشتهاProfile.clearAllOriginMatchedHeadersاستفاده کنید. ( Ida7f1 , b/419469873 ) - یک API جدید برای دسترسی و تنظیم کوکیها به عنوان بخشی از فراخوانیهای
shouldInterceptRequestبرای WebView و Service Workerها.
توسعهدهندگان برنامه که در حال حاضر به عنوان بخشی ازshouldInterceptRequestخود به APICookieManagerدسترسی دارند، اکنون میتوانند با فراخوانیsetIncludeCookiesOnShouldInterceptRequest، هدرهای کوکی را مستقیماً فعال کنند. این کار باعث میشود WebView یک هدرCookieبه نقشه WebResourceRequest.getRequestHeaders() اضافه کند که دقیقاً همان کوکیهایی است که به درخواست اعمال میشوند. این کار همچنین به درستی هرگونه کوکی پارتیشنبندی شده را مدیریت میکند.
برنامهها میتوانند مقادیر هدرSet-Cookieرا از طریق API جدیدWebResourceResponseCompat.setCookiesارائه دهند. مقادیرSet-Cookieاضافه شده در آنجا توسط WebView به عنوان بخشی از مدیریت پاسخ پردازش میشوند. ( Idbfd1 ، b/414769380 ) - یک API آزمایشی جدید برای آمادهسازی فرآیند رندر برای یک
Profile.
این API میتواند توسط برنامههایی با چرخه عمر پیچیده WebView مورد استفاده قرار گیرد تا اطمینان حاصل شود که فرآیند رندرکننده در حال اجرا است، حتی اگر تمام نمونههای WebView از بین رفته باشند. ( Ia8fc8 )
تغییرات API
- یک متد جدید به رابط آزمایشی ناوبری اضافه کنید تا URL ناوبری را ارائه دهد. ( I1c6c0 )
- نام ویژگی Prefetch پروفایل را بهروزرسانی کنید تا مشخص شود که API Prefetch اکنون میتواند در یک نخ پسزمینه فراخوانی شود. ( I7c83a )
نسخه ۱.۱۴
نسخه ۱.۱۴.۰
۴ ژوئن ۲۰۲۵
androidx.webkit:webkit:1.14.0 منتشر شد. نسخه ۱.۱۴.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۱۳.۰
- معرفی API
PaymentRequestAPI) برای فراخوانی برنامههای پرداخت بومی اندروید از طریقorg.chromium.intent.action.PAYintent.PaymentRequestبه طور پیشفرض غیرفعال است و برنامههای میزبانWebViewمیتوانند WebSettingsCompat.setPaymentRequestEnabled(settings, true) را برای فعال کردن آن فراخوانی کنند. علاوه بر این،PaymentRequestیک تگ<queries>درAndroidManifest.xmlنیاز دارد. برای اطلاعات بیشتر به مستندات مربوط بهsetPaymentRequestEnabled()مراجعه کنید. - معرفی API آزمایشی Navigation برای ردیابی و مدیریت پیشرفته ناوبری وب در
WebView. این APIها اطلاعات دقیقی در مورد رویدادهای ناوبری ارائه میدهند. برای دریافت اطلاعات دقیق در مورد ناوبری صفحه، با فراخوانی WebViewCompat.setNavigationClient به همراه پیادهسازی رابط جدید WebNavigationClient شروع کنید. برای اطلاعات بیشتر در مورد چرخه حیات ناوبری، لطفاً به Life of a Navigation Presentation مراجعه کنید.
نسخه ۱.۱۴.۰-rc01
۲۰ مه ۲۰۲۵
androidx.webkit:webkit:1.14.0-rc01 منتشر شد. نسخه 1.14.0-rc01 شامل این کامیتها است.
- هیچ تغییری نسبت به
1.14.0-beta01وجود ندارد.
نسخه ۱.۱۴.۰-بتا۰۱
۷ مه ۲۰۲۵
androidx.webkit:webkit:1.14.0-beta01 منتشر شد. نسخه 1.14.0-beta01 شامل این کامیتها است.
تغییرات API
- اضافه کردن زمینه به عنوان پارامتر به
startUpWebView()API ( Ic29cd ، b/406701301 )
نسخه ۱.۱۴.۰-آلفا۰۱
۹ آوریل ۲۰۲۵
androidx.webkit:webkit:1.14.0-alpha01 منتشر شد. نسخه 1.14.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- معرفی API
PaymentRequestAPI) برای فراخوانی برنامههای پرداخت بومی اندروید از طریقorg.chromium.intent.action.PAYintent.PaymentRequestبه طور پیشفرض غیرفعال است و برنامههای میزبان WebView میتوانندWebSettingsCompat.setPaymentRequestEnabled(settings, true)را برای فعال کردن آن فراخوانی کنند. علاوه بر این،PaymentRequestبه یک تگ<queries>درAndroidManifest.xmlنیاز دارد. برای اطلاعات بیشتر به مستندات مربوط بهsetPaymentRequestEnabled()مراجعه کنید. ( I3304e , b/404920055 ) - معرفی فراخوانیهای ناوبری آزمایشی. این نسخه، APIهای آزمایشی را برای ردیابی و مدیریت ناوبری وب پیشرفته در
WebViewمعرفی میکند. این APIها اطلاعات دقیقی در مورد رویدادهای ناوبری ارائه میدهند. ویژگیهای کلیدی:- رابط کاربری
WebNavigationClient: رابط کاربری جدیدی به نامWebNavigationClientرا معرفی میکند که دارای فراخوانیهای مجدد برای رویدادهای ناوبری است: -
onNavigationStarted(Navigation navigation): زمان شروع یک ناوبری را اطلاع میدهد. -
onNavigationRedirected(Navigation navigation): هنگامی که یک ناوبری هدایت میشود، اطلاع میدهد. -
onNavigationCompleted(Navigation navigation): زمان تکمیل یک ناوبری را اطلاع میدهد. - رابط
Navigation: اطلاعات دقیقی در مورد یک ناوبری ارائه میدهد، از جمله: URL، وضعیت شروع صفحه، وضعیت سند مشابه، وضعیت بارگذاری مجدد، وضعیت تاریخچه، وضعیت عقب/جلو، وضعیت کامیت، وضعیت صفحه خطا، کد وضعیت و وضعیت بازیابی جلسه. شیءNavigationبه عنوان یک شناسه منحصر به فرد برای هر ناوبری عمل میکند و به توسعهدهندگان اجازه میدهد رویدادهای ناوبری مرتبط را با هم مرتبط کنند. - کلاس
Page: کلاسPageرا معرفی میکند که به عنوان کلیدی برای دادههای مرتبط با صفحه عمل میکند. ( I351a6 )
- رابط کاربری
- یک API آزمایشی جدید برای تغییر رفتار اشیاء ارائه دهنده حافظه پنهان معرفی کنید. ( I14636 )
تغییرات API
- مقدار ویژگی
PROFILE_URL_PREFETCHدرWebViewFeatureبهروزرسانی شد. ( I606fd ) -
WebViewCompat#saveStateاضافه میکند، مشابهWebView#saveState، اما امکان محدود کردن اندازه حالت بازگشتی و تصمیمگیری در مورد ذخیره یا عدم ذخیره ورودیهای تاریخچه رو به جلو را فراهم میکند. ( Iea7d6 ) - پیکربندی
maxPrerendersرا به رابط برنامهنویسیSpeculativeLoadingConfig( I67245 ) اضافه کنید
نسخه ۱.۱۳
نسخه ۱.۱۳.۰
۱۲ مارس ۲۰۲۵
androidx.webkit:webkit:1.13.0 منتشر شد. نسخه ۱.۱۳.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۱۲.۰
- یک API آزمایشی جدید برای پیشرندرینگ URL معرفی کنید تا توسعهدهندگان بتوانند URLهای کاندید پیشرندر شده را حدس بزنند و در نتیجه پیمایش سریعتری داشته باشند. ( I0cfe7 )
- معرفی مجموعهای از APIهای جدید برای حذف دادههای مرور ذخیره شده توسط
WebView. APIهای جدید درWebStorageCompatباید نسبت به APIهای موجود درandroid.webkit.WebStorageترجیح داده شوند، زیرا حذف تمام فضای ذخیرهسازی محلی، از جمله حافظه پنهان شبکه و کوکیها، و همچنین هرگونه سرویس ورکرهای نصب شده را تضمین میکنند. اگر APIهای ذخیرهسازی جدیدی در آینده معرفی شوند، این روشهای جدید بهروزرسانی میشوند تا آنها را در فضای ذخیرهسازی حذف شده لحاظ کنند. ( Iad54f , b/382273208 ) - API
setPartitionedCookiesEnabledاضافه کنید. این به توسعهدهندگان اجازه میدهد کوکیهای پارتیشنبندی شده را درWebViewفعال و غیرفعال کنند. ( Ic506a ، b/364904765 ) - API مربوط به برچسبگذاری سوکت را به
WebViewاضافه کنید تا ترافیک شبکهWebViewرا با استفاده ازNetworkStatsManager/TrafficStatsمحاسبه کند. این ویژگی فقط ازWebViewM133 در دسترس خواهد بود. ( Ica441 ، b/374932688 ) - API آزمایشی راهاندازی غیرهمزمان
WebViewرا اضافه کنید. ( I94b8a ) - پیشواکشی URL در پروفایل: یک API جدید در
Profileمعرفی شد تا به توسعهدهندگان اجازه دهد پیشواکشی URL را فعال کنند. پاکسازی پیشواکشی: یک API برای پاک کردن پیشواکشیهای در حال انجام اضافه شد. ( I42c5c ) -
WebView.startSafeBrowsingرا منسوخ کنید. ( If5626 )
نسخه ۱.۱۳.۰-rc01
۲۶ فوریه ۲۰۲۵
androidx.webkit:webkit:1.13.0-rc01 منتشر شد. این نسخه هیچ تغییری نسبت به نسخه 1.13.0-beta01 ندارد.
نسخه ۱.۱۳.۰-بتا۰۱
۱۲ فوریه ۲۰۲۵
androidx.webkit:webkit:1.13.0-beta01 منتشر شد. نسخه 1.13.0-beta01 شامل این کامیتها است.
تغییرات API
- پسوند Async را به API پیش رندر اضافه کنید. نام هر دادهای را در
NoVarySearchبه Header تغییر دهید تا نام جدید را منعکس کند. ( Ie91c9 ) - پارامتر executor را به API پیش رندر url اضافه کنید. همچنین، API را محدود کنید تا فقط از طریق نخ UI فراخوانی شود. ( I50520 )
- یک API برای پیکربندی پیکربندی حافظه پنهان (cache) برای درخواستهای پیشواکشی پروفایل اضافه کنید. این API همچنین برای درخواستهای پیشرندر (Prerender) که از
WebViewsمرتبط با این پروفایل آغاز میشوند، اعمال میشود. ( Iebb6e )
رفع اشکالات
- رفتار
URLUtilCompat.guessFileNameرا طوری تغییر دهید که فقط از پارامترmimeTypeبرای پیشنهاد پسوند برای نام فایلهای مشتق شده از پارامتر URL استفاده کند. ( I53ecd , b/382864232 )
نسخه ۱.۱۳.۰-آلفا۰۳
۱۵ ژانویه ۲۰۲۵
androidx.webkit:webkit:1.13.0-alpha03 منتشر شد. نسخه 1.13.0-alpha03 شامل این کامیتها است.
ویژگیهای جدید
- یک API آزمایشی جدید برای پیشرندرینگ URL معرفی کنید تا توسعهدهندگان بتوانند URLهای کاندید پیشرندر شده را حدس بزنند و در نتیجه پیمایش سریعتری داشته باشند. ( I0cfe7 )
- معرفی مجموعهای از APIهای جدید برای حذف دادههای مرور ذخیره شده توسط
WebView. APIهای جدید درWebStorageCompatباید نسبت به APIهای موجود درandroid.webkit.WebStorageترجیح داده شوند، زیرا حذف تمام فضای ذخیرهسازی محلی، از جمله حافظه پنهان شبکه و کوکیها، و همچنین هرگونه سرویس ورکرهای نصب شده را تضمین میکنند. اگر APIهای ذخیرهسازی جدیدی در آینده معرفی شوند، این روشهای جدید بهروزرسانی میشوند تا آنها را در فضای ذخیرهسازی حذف شده لحاظ کنند. ( Iad54f , b/382273208 ) - API
setPartitionedCookiesEnabledاضافه کنید. این به توسعهدهندگان اجازه میدهد کوکیهای پارتیشنبندی شده را درWebViewفعال و غیرفعال کنند. ( Ic506a ، b/364904765 )
تغییرات API
- تغییر الزام نخ برای API Prefetch به گونهای که فقط در نخ رابط کاربری فراخوانی شود. ( I866b5 )
- متدهای
WebAuthnرا بهروزرسانی کنید تا مشخص شود که باید در نخ رابط کاربری فراخوانی شوند. این الزام از قبل توسط پیادهسازی اعمال شده است و این تغییر فقط حاشیهنویسی مربوطه را اضافه میکند. ( I6d6ba )
نسخه ۱.۱۳.۰-آلفا۰۲
۱۱ دسامبر ۲۰۲۴
androidx.webkit:webkit:1.13.0-alpha02 منتشر شد. نسخه 1.13.0-alpha02 شامل این کامیتها است.
ویژگیهای جدید
- API مربوط به برچسبگذاری سوکت را به
WebViewاضافه کنید تا ترافیک شبکهWebViewرا با استفاده ازNetworkStatsManager/TrafficStatsمحاسبه کند. این ویژگی فقط ازWebViewM133 در دسترس خواهد بود. ( Ica441 ، b/374932688 )
تغییرات API
- API مربوط به Prefetch را با تغییر نام
PrefetchParameterبهSpeculativeLoadingParamaters، معرفیPrefetchNetworkExceptionجدید، جایگزینیPrefetchOperationCallbackباOutcomeReceiverCompatو بهروزرسانی javadoc بهروزرسانی کنید. ( If5072 ) - اطلاعات تشخیصی را از API راهاندازی ناهمگام WebView دریافت کنید.
- گزینهای برای برنامههایی فراهم کنید که فقط init را فعال کنند و UI thread را مسدود نکنند. ( I9bf2b )
رفع اشکالات
- این کتابخانه اکنون از حاشیهنویسیهای nullness از نوع JSpecify استفاده میکند که از نوع استفاده میکنند. توسعهدهندگان کاتلین باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict(این پیشفرض است که از نسخه ۲.۱.۰ کامپایلر کاتلین شروع میشود). ( I0e4c5 ، b/326456246 )
نسخه ۱.۱۳.۰-آلفا۰۱
۱۳ نوامبر ۲۰۲۴
androidx.webkit:webkit:1.13.0-alpha01 منتشر شد. نسخه 1.13.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- API آزمایشی راهاندازی غیرهمزمان
WebViewرا اضافه کنید. ( I94b8a ) - پیشواکشی URL در پروفایل: یک API جدید در پروفایل معرفی شد تا به توسعهدهندگان اجازه دهد پیشواکشی URL را فعال کنند. پاکسازی پیشواکشی: یک API برای پاک کردن پیشواکشیهای مداوم اضافه شد. ( I42c5c )
تغییرات API
-
WebView.startSafeBrowsingرا منسوخ کنید. ( If5626 )
نسخه ۱.۱۲
نسخه ۱.۱۲.۱
۲ اکتبر ۲۰۲۴
androidx.webkit:webkit:1.12.1 منتشر شد. نسخه ۱.۱۲.۱ شامل این کامیتها است.
رفع اشکالات
- مشکلی که مانع از در دسترس بودن APIهای نسخه ۱.۱۲.۰ در این نسخه میشد را برطرف کردیم.
نسخه ۱.۱۲.۰
۱۸ سپتامبر ۲۰۲۴
androidx.webkit:webkit:1.12.0 منتشر شد. نسخه ۱.۱۲.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۱۱.۰
- یک API جدید به
WebSettingsCompatاضافه کنید تا BackForwardCache را برای اینWebSettingsفعال/غیرفعال کنید. این API آزمایشی است و میتواند در آینده تغییر کند. ( aosp/3111705 ) - یک API جدید به
WebSettingsCompatاضافه کنید تا رفتار Speculative Loading را برای اینWebSettingsکنترل کنید. در حال حاضر فقط Prerender در دسترس است. این API آزمایشی است و میتواند در آینده تغییر کند. ( I13962 ) - یک API جدید برای فعال کردن احراز هویت وب در
WebViewاضافه شد. توسعهدهندگان میتوانند فراخوانیهایWebAuthnرا در یکWebViewبرای برنامههای خود با استفاده ازWebSettingsCompat#setWebAuthenticationSupportفعال/غیرفعال کنند. ( I8187f )
نسخه ۱.۱۲.۰-rc01
۴ سپتامبر ۲۰۲۴
androidx.webkit:webkit:1.12.0-rc01 منتشر شد. این نسخه هیچ تغییری نسبت به نسخه 1.12.0-beta01 ندارد.
نسخه ۱.۱۲.۰-بتا۰۱
۲۱ آگوست ۲۰۲۴
androidx.webkit:webkit:1.12.0-beta01 منتشر شد. نسخه 1.12.0-beta01 شامل این کامیتها است.
رفع اشکالات
- حذف دستورالعمل دسترسی به APIهای پلتفرم جدید، زیرا این امر به طور خودکار از طریق مدلسازی API هنگام استفاده از R8 با AGP 7.3 یا بالاتر (مثلاً R8 نسخه 3.3) و برای همه نسخهها هنگام استفاده از AGP 8.1 یا بالاتر (مثلاً D8 نسخه 8.1) اتفاق میافتد. به مشتریانی که از AGP استفاده نمیکنند، توصیه میشود به D8 نسخه 8.1 یا بالاتر بهروزرسانی کنند. برای جزئیات بیشتر به این مقاله مراجعه کنید. ( Ia60e0 ، b/345472586 )
نسخه ۱.۱۲.۰-آلفا۰۲
۱۲ ژوئن ۲۰۲۴
androidx.webkit:webkit:1.12.0-alpha02 منتشر شد. نسخه 1.12.0-alpha02 شامل این کامیتها است.
ویژگیهای جدید
- یک API جدید به
WebSettingsCompatاضافه کنید تاBackForwardCacheفعال/غیرفعال کنید. این API آزمایشی است و میتواند در آینده تغییر کند. ( I64a38 ) - یک API جدید به
WebSettingsCompatاضافه کنید تا رفتار Speculative Loading را برای این WebSettings کنترل کنید. در حال حاضر فقط Prerender در دسترس است. این API آزمایشی است و میتواند در آینده تغییر کند. ( I13962 )
تغییرات API
- برخی از متدها اکنون در صورت لزوم با
@UiThreadمستند شدهاند. ( I6c7e0 ), ( I44541 ) - متدهای thread-safe اکنون با
@AnyThreadمستند شدهاند. ( I70189 ) - افزایش
minSdkVersionاز ۱۹ به ۲۱. ( Id7a43 )
نسخه ۱.۱۲.۰-آلفا۰۱
۱۷ آوریل ۲۰۲۴
androidx.webkit:webkit:1.12.0-alpha01 منتشر شد. نسخه 1.12.0-alpha01 شامل این کامیتها است.
تغییرات API
- یک API جدید برای فعال کردن احراز هویت وب در
WebView. Developersمیتوانند فراخوانیهایWebAuthnرا درWebViewبرای برنامههای خود با استفاده ازWebSettingsCompat#setWebAuthenticationSupportفعال/غیرفعال کنند. ( I8187f )
نسخه ۱.۱۱
نسخه ۱.۱۱.۰
۱ مه ۲۰۲۴
androidx.webkit:webkit:1.11.0 منتشر شد. نسخه ۱.۱۱.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۱۰.۰
- به برنامهها اجازه دهید پخش صدا را در
WebViewاز طریق APIهای جدیدsetAudioMutedوisAudioMutedکنترل کنند، که مشابه بیصدا کردن یک تب در کروم هستند. -
URLUtilCompatمعرفی شد، که از تجزیه هدرهایContent-Dispositionکه از ویژگی مقدار کدگذاری شدهfilename*مطابق تعریف RFC 6266 استفاده میکنند، پشتیبانی میکند. API سازگاری همچنین مستقیماً روشی را برای تجزیه هدرContent-Dispositionدر جایی که نام فایل پیشنهادی بر اساس URL و MIME-type مورد نظر نیست، ارائه میدهد.
نسخه ۱.۱۱.۰-rc01
۳ آوریل ۲۰۲۴
androidx.webkit:webkit:1.11.0-rc01 منتشر شد. این نسخه هیچ تغییری نسبت به نسخه 1.11.0-beta01 ندارد.
نسخه ۱.۱۱.۰-بتا۰۱
۲۰ مارس ۲۰۲۴
androidx.webkit:webkit:1.11.0-beta01 بدون هیچ تغییر قابل توجهی منتشر شده است. نسخه 1.11.0-beta01 شامل این کامیتها است.
نسخه ۱.۱۱.۰-آلفا۰۲
۲۱ فوریه ۲۰۲۴
androidx.webkit:webkit:1.11.0-alpha02 منتشر شد. نسخه 1.11.0-alpha02 شامل این کامیتها است.
ویژگیهای جدید
- متدهای
setAudioMutedوisAudioMutedرا برای بیصدا کردن (و بیصدا کردن)WebViewsاضافه کنید. این متد به شما امکان میدهد از پخش صدا توسطWebViewجلوگیری کنید. ( Ie7a33 )
تغییرات API
-
URLUtilCompatنهایی شده است زیرا نباید زیرکلاس شود. ( I49ec1 )
نسخه ۱.۱۱.۰-آلفا۰۱
۷ فوریه ۲۰۲۴
androidx.webkit:webkit:1.11.0-alpha01 منتشر شد. نسخه 1.11.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- سازگاری را برای
URLUtil.guessFileNameاضافه کنید. نسخه سازگاری درURLUtilCompatاز تجزیه هدرهایContent-Dispositionکه از ویژگی مقدار کدگذاری شدهfilename*استفاده میکنند، همانطور که در RFC 6266 تعریف شده است، پشتیبانی میکند. API سازگاری همچنین مستقیماً روشی را برای تجزیه هدرContent-Dispositionدر جایی که نام فایل پیشنهادی بر اساس URL و نوع MIME مورد نظر نیست، ارائه میدهد. ( If6ae7 , b/309927164 )
نسخه ۱.۱۰
نسخه ۱.۱۰.۰
۲۴ ژانویه ۲۰۲۴
androidx.webkit:webkit:1.10.0 منتشر شد. نسخه ۱.۱۰.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۹.۰
- یک API جدید به WebSettingsCompat اضافه شد تا رفتار آزمایشی Android WebView Media Integrity API را با غیرفعال کردن کامل API یا محدود کردن اشتراکگذاری هویت برنامه در پاسخ API کنترل کند. این قابلیت را میتوان برای همه مبدأها و بر اساس هر مبدأ فعال یا غیرفعال کرد.
نسخه ۱.۱۰.۰-rc01
۱۰ ژانویه ۲۰۲۴
androidx.webkit:webkit:1.10.0-rc01 منتشر شد. این نسخه هیچ تغییری نسبت به نسخه 1.10.0-beta01 ندارد.
نسخه ۱.۱۰.۰-بتا۰۱
۱۳ دسامبر ۲۰۲۳
androidx.webkit:webkit:1.10.0-beta01 منتشر شد. نسخه 1.10.0-beta01 شامل این کامیتها است.
- هیچ تغییر عملکردی از
1.10.0-alpha01وجود ندارد.
نسخه ۱.۱۰.۰-آلفا۰۱
۲۹ نوامبر ۲۰۲۳
androidx.webkit:webkit:1.10.0-alpha01 منتشر شد. نسخه 1.10.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- یک API جدید به
WebSettingsCompatاضافه شد تا رفتار آزمایشی Android WebView Media Integrity API را با غیرفعال کردن کامل API یا محدود کردن اشتراکگذاری هویت برنامه در پاسخ API کنترل کند. این قابلیت را میتوان برای همه مبدأها و بر اساس هر مبدأ فعال یا غیرفعال کرد.
نسخه ۱.۹
نسخه ۱.۹.۰
۲۹ نوامبر ۲۰۲۳
androidx.webkit:webkit:1.9.0 منتشر شد. نسخه ۱.۹.۰ شامل این کامیتها است.
تغییرات مهم از زمان ۱.۸.۰
- یک API چند پروفایلی جدید برای WebViews اضافه شد.
- رابط کاربری Profile دارای APIهای مختلفی است که برای دریافت دادههای مرتبط با این پروفایل مانند نام، GeoLocationPermissions ، ServiceWorkerController ، CookieManager و WebStorage از آنها استفاده میکند. این اشیاء مختص به پروفایل هستند و اطلاعات بین پروفایلهای مختلف در برنامه به اشتراک گذاشته نمیشود.
- پروفایل مورد استفاده توسط یک نمونه
WebViewرا میتوان با استفاده از متد WebViewCompat#setProfile تغییر داد و با استفاده از WebViewCompat#getProfile بازیابی کرد. - ProfileStore که به تازگی معرفی شده است، به شما امکان میدهد پروفایلهای موجود در برنامه خود، از جمله پروفایل پیشفرض را مدیریت کنید.
- APIهای موجود WebView مانند CookieManager#getInstance همچنان روی پروفایل پیشفرض کار خواهند کرد.
- یک API برای تزریق و اجرای جاوا اسکریپت قبل از بارگذاری صفحه اضافه شد.
- API مربوط به WebViewCompat#addDocumentStartJavascript به برنامهها اجازه میدهد تا اسکریپتهایی را به یک
WebViewتزریق کنند که تضمین میشود قبل از اجرای هرگونه اسکریپت صفحه، اجرا شوند. این API به برنامه اجازه میدهد تا یک لیست هدف از مبداها را برای فعال کردن اسکریپت مشخص کند و اطمینان حاصل کند که فقط در صفحات مورد نظر اجرا میشود. برخلاف WebView#evaluateJavascript ، این API امکان اجرای اسکریپتها را در Iframeهای تعبیه شده هنگام بارگذاری فراهم میکند. برنامهها میتوانند از این API جدید در ترکیب با WebViewCompat#addWebMessageListener برای برقراری ارتباط دو طرفه با جاوا اسکریپت در صفحه به روشی قابل اعتماد استفاده کنند.
- API مربوط به WebViewCompat#addDocumentStartJavascript به برنامهها اجازه میدهد تا اسکریپتهایی را به یک
- رابطهای برنامهنویسی کاربردی (API) برای تغییر نحوه ثبت رویدادهای گزارشدهی اسناد حریم خصوصی در سندباکس اضافه شد.
- ما یک API جدید به نام WebSettingsCompat#setAttributionRegistrationBehavior معرفی کردهایم که به توسعهدهندگان اجازه میدهد پیکربندی کنند که آیا منابع و محرکهای انتساب از خود برنامه یا از محتوای وب در WebView ثبت شوند. این روش همچنین میتواند برای غیرفعال کردن گزارشدهی انتساب در WebView استفاده شود. علاوه بر این، ما یک API جدید
WebSettingsCompat#getAttributionRegistrationBehaviorبرای دریافت رفتار فعلی اضافه کردهایم. - برای اطلاعات بیشتر به مستندات Privacy Sandbox مراجعه کنید.
- ما یک API جدید به نام WebSettingsCompat#setAttributionRegistrationBehavior معرفی کردهایم که به توسعهدهندگان اجازه میدهد پیکربندی کنند که آیا منابع و محرکهای انتساب از خود برنامه یا از محتوای وب در WebView ثبت شوند. این روش همچنین میتواند برای غیرفعال کردن گزارشدهی انتساب در WebView استفاده شود. علاوه بر این، ما یک API جدید
- APIهایی اضافه شد تا فرادادههای عامل کاربر را برای نکات کلاینت نادیده بگیرند.
- ما یک API جدید، WebSettingsCompat#setUserAgentMetadata، را برای بازنویسی فرادادههای عامل کاربر برای WebView که برای پر کردن نکات کلاینت عامل کاربر استفاده میشود، معرفی کردیم، و همچنین یک API جدید دیگر به نام WebSettingsCompat#getUserAgentMetadata برای دریافت بازنویسیهای عامل کاربر فعلی اضافه کردیم. ما برنامهها را تشویق میکنیم تا از API جدید برای تنظیم مقادیر بازنویسی صحیح هر زمان که برنامه رشته عامل کاربر پیشفرض را با استفاده از WebSettings.setUserAgentString تغییر میدهد، استفاده کنند تا اطمینان حاصل شود که مقادیر صحیح در همه موقعیتها استفاده میشوند.
نسخه ۱.۹.۰-rc01
۱۵ نوامبر ۲۰۲۳
androidx.webkit:webkit:1.9.0-rc01 منتشر شد. این نسخه هیچ تغییری نسبت به نسخه 1.9.0-beta01 ندارد.
نسخه ۱.۹.۰-بتا۰۱
۱ نوامبر ۲۰۲۳
androidx.webkit:webkit:1.9.0-beta01 منتشر شد. نسخه 1.9.0-beta01 شامل این کامیتها است.
تغییرات API
- مشکل nullability API مربوط به metadata مربوط به user-agent را برطرف کنید. کلاس
BrandVersionرا بهروزرسانی میکنیم تا از الگوی سازنده استفاده کند و nullability کلاسهای Getter و Setter مربوط به کلاسUserAgentMetadataرا سازگار کنیم. ( Ibf195 ) - حاشیهنویسی
ProfileStore،WebViewCompat#setProfileوWebViewCompat.getProfileبا@UiThread( I499b2 )
نسخه ۱.۹.۰-آلفا۰۱
۱۸ اکتبر ۲۰۲۳
androidx.webkit:webkit:1.9.0-alpha01 منتشر شد. نسخه 1.9.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- ما API چند پروفایلی را اضافه کردهایم که به شما امکان میدهد جلسات مرور جداگانهای بین
WebViewsداشته باشید، هر پروفایل دادههای خاص خود را دارد (مثلاً کوکیها). میتوانید پروفایل ایجاد کنید، آنها را به نمونههایWebViewاختصاص دهید و بعداً برای هرگونه دسترسی به دادهها آنها را بازیابی کنید. یک کلاس Singleton بهProfileStoreوجود دارد که به شما در مدیریت پروفایلها با ایجاد یا حذف با APIها کمک میکند؛getOrCreateProfile،getProfile،getAllProfileNamesوdeleteProfile. کلاسProfileدارای APIهای مختلفی برای استفاده جهت دریافت دادههای مرتبط با این پروفایل مانند نام،GeoLocationPermissions،ServiceWorkerController،CookieManagerوWebStorageخواهد بود. هرWebViewبه طور پیشفرض با پروفایل پیشفرض اجرا میشود، با این حال، میتوانید آن را با استفاده ازWebViewCompat#setProfileتغییر دهید. در همین راستا، پروفایل یکWebViewرا میتوان با استفاده ازWebViewCompat#getProfileبازیابی کرد. ( I32d22 ) - APIهایی برای تغییر نحوه ثبت رویدادهای گزارشدهی نسبتدهی اضافه کردیم. ما یک API جدید
WebSettingsCompat#setAttributionRegistrationBehaviorمعرفی کردیم که به توسعهدهندگان اجازه میدهد پیکربندی کنند که آیا منابع و تریگرها به صورت دریافتی از خود برنامه یا دریافتی از محتوای وب درWebViewثبت شوند. این روش همچنین میتواند برای غیرفعال کردن گزارشدهی نسبتدهی درWebViewاستفاده شود. علاوه بر این، ما یک API جدید بهWebSettingsCompat#getAttributionRegistrationBehaviorاضافه کردهایم تا رفتار فعلی را دریافت کنیم. برای اطلاعات بیشتر به مستندات Privacy Sandbox مراجعه کنید. ( I661f2 ) - APIهایی برای لغو فرادادههای عامل کاربر اضافه کنید. ما یک API جدید
WebSettingsCompat#setUserAgentMetadataبرای لغو فرادادههای عامل کاربر برای WebView معرفی کردهایم که برای پر کردن نکات کلاینت عامل کاربر استفاده میشود، و همچنین یک API جدید دیگر به نامWebSettingsCompat#getUserAgentMetadataبرای دریافت لغوهای عامل کاربر فعلی اضافه کردهایم. ما برنامهها را تشویق میکنیم که به جای تکیه بر تغییر عامل کاربر، از API جدید برای تنظیم مقادیر لغو صحیح استفاده کنند. ( I74500 ) - Add an API to inject Javascript to be run during page load. The
WebViewCompat.addDocumentStartJavascriptAPI allows apps to inject scripts into a WebView which will be run before any page scripts are executed. The API allows the app to specify a target list of origins for the script to be enabled on, ensuring that it only runs on intended pages. UnlikeWebView.evaluateJavascript, this API will allow execution of scripts in embedded Iframes when they load. ( Ide063 )
نسخه ۱.۸
Version 1.8.0
۶ سپتامبر ۲۰۲۳
androidx.webkit:webkit:1.8.0 is released. Version 1.8.0 contains these commits.
Important changes since 1.7.0
- Add support for passing
ArrayBufferoverWebMessagePortCompat#postMessage,JavaScriptReplyProxy#postMessageandWebViewCompat#postWebMessage, receivingArrayBufferfrom JavaScript overWebMessagePortCompatandWebMessageListener, and receiving transferableArrayBufferfrom JavaScript overWebMessagePortCompat. ( aosp/2596550 , b/251152171 )
Version 1.8.0-rc01
۹ آگوست ۲۰۲۳
androidx.webkit:webkit:1.8.0-rc01 is released with no changes since 1.8.0-beta01 . Version 1.8.0-rc01 contains these commits.
Version 1.8.0-beta01
۲۶ ژوئیه ۲۰۲۳
androidx.webkit:webkit:1.8.0-beta01 is released with no changes since 1.8.0-alpha01 . Version 1.8.0-beta01 contains these commits.
Version 1.8.0-alpha01
۷ ژوئن ۲۰۲۳
androidx.webkit:webkit:1.8.0-alpha01 is released. Version 1.8.0-alpha01 contains these commits.
تغییرات API
- See the External Contribution section.
مشارکت خارجی
- Add support for passing
ArrayBufferoverWebMessagePortCompat#postMessage,JsReplyProxy#postMessageandWebViewCompat#postWebMessage, receivingArrayBufferfrom JavaScript overWebMessagePortCompatandWebMessageListener, and receiving transferableArrayBufferfrom JavaScript overWebMessagePortCompat. Please note that this API will only be available fromWebViewversion 116. ( Ie7567 , b/251152171 )
نسخه ۱.۷
نسخه ۱.۷.۰
۲۴ مه ۲۰۲۳
androidx.webkit:webkit:1.7.0 is released. Version 1.7.0 contains these commits.
Important changes since 1.6.0
- We added support for Image drag in
WebView. You can enable your users to drag images out of theWebViewby adding the newDropDataContentProviderto your app's manifest as described in the class documentation. - We added the
ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File)API which can be used to set the base directories thatWebViewwill use for the current process. As with all methods onProcessGlobalConfig, this method must be called before the first instance ofWebViewis instantiated. This method is added to provide Android framework the capability to tweakWebViewsettings. For general purpose applications, using this method is not recommended.
نسخه ۱.۷.۰-rc01
۱۰ مه ۲۰۲۳
androidx.webkit:webkit:1.7.0-rc01 is released with no changes since 1.7.0-beta01 . Version 1.7.0-rc01 contains these commits.
نسخه ۱.۷.۰-بتا۰۱
۵ آوریل ۲۰۲۳
androidx.webkit:webkit:1.7.0-beta01 is released. Version 1.7.0-beta01 contains these commits.
تغییرات API
- Minor change to feature flag and method name and make
setDirectoryBasePaths()accept File instead of String ( Ib0d0a )
Version 1.7.0-alpha03
۸ مارس ۲۰۲۳
androidx.webkit:webkit:1.7.0-alpha03 is released. Version 1.7.0-alpha03 contains these commits.
تغییرات API
- Add
ProcessGlobalConfig#setDirectoryBasePath(String, String)API which can be used to set the base directories thatWebViewwill use for the current process. ( Ibd1a1 , b/250553687 )
رفع اشکالات
- Fix invalid
ProGuardrule causing build errors when usingDexGuard( Ia65c2 , b/270034835 )
Version 1.7.0-alpha02
۸ فوریه ۲۰۲۳
androidx.webkit:webkit:1.7.0-alpha02 is released. Version 1.7.0-alpha02 contains these commits.
رفع اشکالات
- Documentation bugs for
DropDataContentProvider.
نسخه ۱.۷.۰-آلفا۰۱
۲۵ ژانویه ۲۰۲۳
androidx.webkit:webkit:1.7.0-alpha01 is released. Version 1.7.0-alpha01 contains these commits.
ویژگیهای جدید
- We are adding support for Image drag in
WebView. You can enable your users to drag images out of theWebViewby adding the newDropDataContentProviderto your app's manifest. ( 05a1a6 )
نسخه ۱.۶
نسخه ۱.۶.۱
۲۲ مارس ۲۰۲۳
androidx.webkit:webkit:1.6.1 is released. Version 1.6.1 contains these commits.
رفع اشکالات
- Fix proguard parse error ( Ia65c2 )
نسخه ۱.۶.۰
۲۵ ژانویه ۲۰۲۳
androidx.webkit:webkit:1.6.0 is released. Version 1.6.0 contains these commits.
Important changes since 1.5.0
- A new ProcessGlobalConfig API has been added to allow apps to provide configuration settings that need to be set before loading WebView, such as the WebView data directory suffix. The configuration should be set up and applied as early as possible during application startup, to ensure that it happens before any other thread can call a method that loads
WebViewinto the process. - A new CookieManagerCompat API has been added to expand android.webkit.CookieManager with a new
getCookieInfomethod, which retrieves all attributes for all cookies set on a specific URL. This differs from the existing getCookie API inCookieManagerwhich returns only the name and value attributes of the cookies. -
WebSettingsCompathas new methods to enable/disable the effect ofEnterpriseAuthenticationAppLinkPolicyif set by admin inWebView, and to get the current setting . This feature lets WebView open an Authentication app instead of opening the authentication URL. This feature has no effect on devices that are not managed by an enterprise policy. - Adding a new API to
WebSettingsCompatto let applications explicitly send the app package name in theX-Requested-Withheader to allowlisted origins. The header has traditionally been sent on every request fromWebView.
نسخه ۱.۶.۰-rc01
۱۱ ژانویه ۲۰۲۳
androidx.webkit:webkit:1.6.0-rc01 is released. Version 1.6.0-rc01 contains these commits.
رفع اشکالات
- Fixed
NullPointerExceptioninWebViewFeature.isStartupFeatureSupported(Context, String)when running on SDK < L. ( Ic7292 )
نسخه ۱.۶.۰-بتا۰۱
۷ دسامبر ۲۰۲۲
androidx.webkit:webkit:1.6.0-beta01 is released. Version 1.6.0-beta01 contains these commits.
تغییرات API
-
ProcessGlobalConfighas been changed to use a normal constructor and a static apply method. The apply method should only be called once per process, as early as possible, and will throwIllegalStateExceptionif called more than once.ProcessGlobalConfigobjects no longer have any restrictions on how many times setters can be called. ( I456c3 )
Version 1.6.0-alpha03
۹ نوامبر ۲۰۲۲
androidx.webkit:webkit:1.6.0-alpha03 is released. Version 1.6.0-alpha03 contains these commits.
ویژگیهای جدید
- Add
ProcessGlobalConfigclass enabling users to set process global config before loadingWebView.WebViewhas some process-global configuration parameters that cannot be changed onceWebViewhas been loaded (eg theWebViewdata directory). This class allows apps to set these parameters. The configuration should be set up and applied as early as possible during application startup, to ensure that it happens before any other thread can call a method that loadsWebViewinto the process. ( I7c0e0 , b/250553687 ) - Adding new API to let applications explicitly send the app package name in the X-Requested-With header to allowlisted origins. The header has traditionally been sent on every request from
WebView. ( I0adfe , b/226552535 )
تغییرات API
- The
WebSettingsCompat#setAlgorithmicDarkeningAllowedAPI is supported on all Android versions inWebViewversion 105 and later. Previous versions ofWebViewonly supported the API on Android Q and later. As a result, this api is no longer marked@RequiresApi(Build.VERSION_CODES.Q). ( I3ac1d )
Version 1.6.0-alpha02
۲۴ اکتبر ۲۰۲۲
androidx.webkit:webkit:1.6.0-alpha02 is released. Version 1.6.0-alpha02 contains these commits.
ویژگیهای جدید
- Adds a new
CookieManagerCompatclass along with agetCookieInfoAPI which retrieves all attributes for all cookies set on a specific URL. This differs from the existinggetCookieAPI inCookieManagerwhich returns only the name and value attributes of the cookies. ( I07365 , b/242161756 )
نسخه ۱.۶.۰-آلفا۰۱
۲۴ آگوست ۲۰۲۲
androidx.webkit:webkit:1.6.0-alpha01 is released. Version 1.6.0-alpha01 contains these commits.
ویژگیهای جدید
- Added APIs in
WebSettingsCompatto enable/disable the effect ofEnterpriseAuthenticationAppLinkPolicyif set by admin inWebView. This feature letsWebViewopen an Authentication app instead of opening the authentication URL. This feature has no effect on devices that are not managed by an enterprise policy.
نسخه ۱.۵.۰
نسخه ۱.۵.۰
۲۴ آگوست ۲۰۲۲
androidx.webkit:webkit:1.5.0 is released. Version 1.5.0 contains these commits.
تغییرات مهم از زمان ۱.۴.۰
- A new
setAlgorithmicDarkeningAllowedAPI onWebSettingsCompatreplaces the oldsetForceDarkandsetForceDarkStrategyAPIs. Apps targeting SDK 33 and higher (T) should use the new API, as the old API will no longer have any effect for those apps. - An allow-list of URLs to use the configured proxy can now be set through
ProxyCofig.Builderby settingsetReverseBypassEnabledtotrue. When this is in effect, all other URLs will bypass the configured proxy.
نسخه ۱.۵.۰-rc01
۱۰ آگوست ۲۰۲۲
androidx.webkit:webkit:1.5.0-rc01 is released with no changes since 1.5.0-beta01 . Version 1.5.0-rc01 contains these commits.
نسخه ۱.۵.۰-بتا۰۱
۲۹ ژوئن ۲۰۲۲
androidx.webkit:webkit:1.5.0-beta01 is released. Version 1.5.0-beta01 contains these commits.
تغییرات API
- Alogrithimic Darkening related APIs are now annotated to require API level Q. The API will not have any effect on API levels < Q, since dark theme is not an option on these devices. ( I0905e )
نسخه ۱.۵.۰-آلفا۰۱
۱۸ مه ۲۰۲۲
androidx.webkit:webkit:1.5.0-alpha01 is released. Version 1.5.0-alpha01 contains these commits.
ویژگیهای جدید
- Add a new
getVariationsHeader()method onWebViewCompatto get the X-Client-Data header value sent by theWebView. The returned value will be a base64 encoded ClientVariations protobuf. - Add APIs on
WebSettingsCompatto allow/disallow algorithmic darkening for app with targetSdk >= 33. ( I29597 )
تغییرات API
- Add a new method in
ProxyCofig.Builderto set reverse bypass. Setting reverse bypass to true means only URLs in the bypass list will use the proxy settings. ( I9eaa2 , b/168728599 )
رفع اشکالات
- Fixed a typo in dark theme documentation. ( I36ebf , b/194343633 )
- Fixed a bug where
WebViewAssetLoader.Buildermethods were unintentionally order-dependent. ( If420d , b/182196765 )
نسخه ۱.۴.۰
نسخه ۱.۴.۰
۱۶ دسامبر ۲۰۲۰
androidx.webkit:webkit:1.4.0 is released. Version 1.4.0 contains these commits.
تغییرات عمده از زمان ۱.۳.۰
- Added a new
setSafeBrowsingAllowlist()API to replacesetSafeBrowsingWhitelist(). This helps apps update their code to avoid non-inclusive terminology, while still supporting the same range of Android SDKs and WebView versions as the deprecated API. - Fixed a bug in setProxyOverride that caused fallback rules not being correctly applied.
Version 1.4.0-rc02
۲ دسامبر ۲۰۲۰
androidx.webkit:webkit:1.4.0-rc02 is released. Version 1.4.0-rc02 contains these commits.
رفع اشکالات
- Fixes fallback rules not being correctly applied when using setProxyOverride.
نسخه ۱.۴.۰-rc01
۱۱ نوامبر ۲۰۲۰
androidx.webkit:webkit:1.4.0-rc01 is released with no changes since 1.4.0-beta01 . Version 1.4.0-rc01 contains these commits.
نسخه ۱.۴.۰-بتا۰۱
۱۴ اکتبر ۲۰۲۰
androidx.webkit:webkit:1.4.0-beta01 is released with no changes since 1.4.0-alpha01 . Version 1.4.0-beta01 contains these commits.
نسخه ۱.۴.۰-آلفا۰۱
۱۶ سپتامبر ۲۰۲۰
androidx.webkit:webkit:1.4.0-alpha01 is released. Version 1.4.0-alpha01 contains these commits.
تغییرات API
- Added a new
WebViewCompat#setSafeBrowsingAllowlist()API to replacesetSafeBrowsingWhitelist(). This helps apps update their code to avoid non-inclusive terminology, while still supporting the same range of Android SDKs and WebView versions as the deprecated API. ( I8d65d )
نسخه ۱.۳.۰
نسخه ۱.۳.۰
۱۹ آگوست ۲۰۲۰
androidx.webkit:webkit:1.3.0 is released. Version 1.3.0 contains these commits.
Major changes since 1.2.0
- ForceDarkStrategy API provides more control to WebView darkening (CSS/web content darkening versus auto darkening).
- WebMessageListener and its related APIs provide a simple and secure mechanism to establish communication between web contents and the WebView embedder app.
-
isMultiProcessEnabledAPI to check whether WebView is running in multi process. This is possible starting in Android O and it means web content is rendered in a sandboxed renderer process separate to the application process. This sandboxed renderer may be shared with other WebViews in the same application but it's not shared with other application processes.
نسخه ۱.۳.۰-rc02
۵ آگوست ۲۰۲۰
androidx.webkit:webkit:1.3.0-rc02 is released. Version 1.3.0-rc02 contains these commits.
رفع اشکالات
- This fixes a compatibility issue where
WebMessageListenerwould sometimes crash during local development if your app was started with Android Studio instant run.
نسخه ۱.۳.۰-rc01
۲۴ ژوئن ۲۰۲۰
androidx.webkit:webkit:1.3.0-rc01 is released with no changes since 1.3.0-beta01 . Version 1.3.0-rc01 contains these commits.
نسخه ۱.۳.۰-بتا۰۱
۱۰ ژوئن ۲۰۲۰
androidx.webkit:webkit:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits.
ویژگیهای جدید
-
ForceDarkStrategyAPI to control WebView darkening (CSS/web content darkening versus auto darkening). -
WebMessageListenerAPIs provide a simple and secure mechanism to establish communication between web contents and the WebView embedder app. -
MultiProcessEnabledAPI to check if WebView is running in multi process mode.
نسخه ۱.۳.۰-آلفا۰۳
۲۷ مه ۲۰۲۰
androidx.webkit:webkit:1.3.0-alpha03 is released. Version 1.3.0-alpha03 contains these commits.
تغییرات API
-
addWebMessageListenermethod now receives aSet<String>of allowed origin rules (previously aList<String>).
نسخه ۱.۳.۰-آلفا۰۲
۲۹ آوریل ۲۰۲۰
androidx.webkit:webkit:1.3.0-alpha02 is released. Version 1.3.0-alpha02 contains these commits.
ویژگیهای جدید
- MultiProcessEnabled API to check if WebView is running in multi process mode.
تغییرات API
- All dark strategy constants are now prefixed with
DARK_STRATEGY.
نسخه ۱.۳.۰-آلفا۰۱
۱۵ آوریل ۲۰۲۰
androidx.webkit:webkit:1.3.0-alpha01 is released. Version 1.3.0-alpha01 contains these commits.
ویژگیهای جدید
-
ForceDarkStrategyAPI to controlWebViewdarkening (CSS/web content darkening versus auto darkening). -
WebMessageListenerAPIs provide a simple and secure mechanism to establish communication between web contents and the WebView embedder app.
نسخه ۱.۲.۰
نسخه ۱.۲.۰
۴ مارس ۲۰۲۰
androidx.webkit:webkit:1.2.0 is released. Version 1.2.0 contains these commits.
Major changes since 1.1.0
- Added the ForceDark API to control if WebViews should be rendered in dark mode.
نسخه ۱.۲.۰-rc01
۱۹ فوریه ۲۰۲۰
androidx.webkit:webkit:1.2.0-rc01 is released with no changes since 1.2.0-beta01 . Version 1.2.0-rc01 contains these commits.
نسخه ۱.۲.۰-بتا۰۱
۵ فوریه ۲۰۲۰
androidx.webkit:webkit:1.2.0-beta01 is released with no changes since 1.2.0-alpha01 . Version 1.2.0-beta01 contains these commits .
نسخه ۱.۲.۰-آلفا۰۱
۱۸ دسامبر ۲۰۱۹
androidx.webkit:webkit:1.2.0-alpha01 is released. Version 1.2.0-alpha01 contains these commits .
ویژگیهای جدید
- ForceDark API to control if WebViews should be rendered in dark mode.
نسخه ۱.۱.۰
نسخه ۱.۱.۰
۷ نوامبر ۲۰۱۹
androidx.webkit:webkit:1.1.0 is released. Version 1.1.0 contains these commits .
Important changes since 1.0.0
- Getter APIs to complement setWebViewClient() and setWebChromeClient() .
- ProxyController API to set a network request proxy for an app's WebViews.
- WebViewAssetLoader API to simplify loading APK assets, resources, and files from the app data directory via request interception. This allows access to web and local resources without disabling CORS.
- TracingController API to collect WebView tracing information for debugging purposes.
- RenderProcess APIs to manage WebView renderer services, and to detect when poorly behaved content causes WebView renderers to become unresponsive.
- Updated existing APIs to include nullability (
@NonNull,@Nullable) and thread (@UiThread,@WorkerThread) annotations.
نسخه ۱.۱.۰-rc01
۹ اکتبر ۲۰۱۹
androidx.webkit:webkit:1.1.0-rc01 is released. Version 1.1.0-rc01 contains these commits .
رفع اشکالات
- Fixed an issue where
setWebViewRenderProcessClient()could crash if passed a null client.
نسخه ۱.۱.۰-بتا۰۱
۵ سپتامبر ۲۰۱۹
androidx.webkit:webkit:1.1.0-beta01 is released. The commits included in this version can be found here .
ویژگیهای جدید
- New
InternalStoragePathHandlerinWebViewAssetLoaderto load files from the app's data directory.
تغییرات API
-
ProxyConfig#getProxyRules()now returns an unmodifiable list ofProxyRuleinstances, which is a new class to hold a scheme filter and its corresponding proxy URL.
رفع اشکالات
-
WebViewAssetLoaderdefaults to a "text/plain" MIME type (rather than null) when it can't guess the MIME type from the file path. -
WebViewAssetLoaderno longer throws aNullPointerExceptionwhen loading files with special characters in their path names.
نسخه ۱.۱.۰-آلفا۰۲
۷ آگوست ۲۰۱۹
androidx.webkit:webkit:1.1.0-alpha02 is released. The commits included in this version can be found here .
ویژگیهای جدید
-
WebViewAssetLoaderexposes thePathHandlerinterface to allow apps to create custom path-handling functionality.
تغییرات API
-
WebViewAssetLoaderis now a final class, since it's not meant to be subclassed. -
WebViewAssetLoader#PathHandlerimplementations are now public and final. - Minor changes to ProxyConfig method names.
-
ProxyController: added new methodsaddDirect()andaddDirect(String)to connect directly to servers; removed DIRECT String. - Updated existing APIs to include nullability (
@NonNull,@Nullable) and thread (@UiThread,@WorkerThread) annotations.
نسخه ۱.۱.۰-آلفا۰۱
۷ مه ۲۰۱۹
androidx.webkit:webkit:1.1.0-alpha01 is released. The commits included in this version can be found here .
ویژگیهای جدید
- Getter APIs to complement
setWebViewClient()andsetWebChromeClient() - ProxyController API to set a network request proxy for an app's WebViews.
- AssetLoader API to simplify loading APK assets and resources via request interception, allowing access to web resources without disabling CORS.
- TracingController API to collect WebView tracing information for debugging purposes.
- RenderProcess APIs to manage WebView renderer services, and to detect when poorly behaved content causes WebView renderers to become unresponsive.
رفع اشکالات
- Minor fixes to documentation formatting for existing APIs.