آنچه برای تغییر آیکون ها، میانبرها، رنگ ها و سایر ابرداده ها برای PWA نیاز است
وقتی یک PWA نصب میشود، مرورگر از اطلاعات مانیفست برنامه وب برای نام برنامه، نمادهایی که برنامه باید استفاده کند و نشانی اینترنتی که باید هنگام راهاندازی برنامه باز شود، استفاده میکند. اما اگر بخواهید میانبرهای برنامه را به روز کنید یا رنگ تم جدیدی را امتحان کنید، چه؟ چه زمانی و چگونه آن تغییرات در مرورگر منعکس می شود؟
در بیشتر موارد، تغییرات باید ظرف یک یا دو روز پس از راهاندازی PWA، پس از بهروزرسانی مانیفست منعکس شوند.
به روز رسانی در کروم دسکتاپ
وقتی PWA راهاندازی میشود یا در یک برگه مرورگر باز میشود، Chrome آخرین باری را تعیین میکند که مانیفست محلی برای تغییرات بررسی شده است. اگر مانیفست از آخرین راهاندازی مرورگر بررسی نشده باشد، یا در 24 ساعت گذشته بررسی نشده باشد، Chrome یک درخواست شبکه برای مانیفست ارسال میکند، سپس آن را با نسخه محلی مقایسه میکند.
اگر ویژگیهای انتخابی در مانیفست تغییر کرده باشد (لیست زیر را ببینید)، Chrome مانیفست جدید را در صف قرار میدهد و پس از بسته شدن همه پنجرهها، آن را نصب میکند. پس از نصب، تمام فیلدهای مانیفست جدید (به جز name
، short_name
و icons
) به روز می شوند.
کدام ویژگی ها باعث بروز رسانی می شوند؟
-
display
(به زیر مراجعه کنید) -
scope
-
shortcuts
-
start_url
-
theme_color
-
file_handlers
وقتی فیلد display
به روز می شود چه اتفاقی می افتد؟
اگر حالت نمایش برنامه خود را از browser
به standalone
بهروزرسانی کنید، کاربران فعلی شما پس از بهروزرسانی، برنامههای خود را در پنجره باز نخواهند کرد. دو تنظیمات نمایش برای یک برنامه وب وجود دارد، یکی از مانیفست (که شما کنترل می کنید) و یک تنظیمات برگه پنجره/مرورگر که توسط کاربر کنترل می شود. اولویت کاربر همیشه رعایت می شود.
آزمایش بهروزرسانیهای مانیفست
صفحه chrome://web-app-internals
(موجود در کروم 85 یا جدیدتر)، شامل اطلاعات دقیقی درباره همه PWA های نصب شده در دستگاه است و می تواند به شما کمک کند بفهمید مانیفست آخرین بار چه زمانی به روز شده است، چند وقت یکبار به روز می شود، و بیشتر.
برای وادار کردن Chrome به بررسی دستی مانیفست بهروزرسانیشده، میتوانید Chrome را با پرچم خط فرمان --disable-manifest-update-throttle
راهاندازی کنید یا Chrome را مجدداً راهاندازی کنید ( about://restart
استفاده کنید)، این کار تایمر را بازنشانی میکند تا Chrome هنگامی که PWA راه اندازی می شود، یک مانیفست به روز شده را بررسی کنید. سپس PWA را راه اندازی کنید. پس از بستن PWA، باید با ویژگی های جدید مانیفست به روز شود.
منابع
بهروزرسانیها در Chrome for Android
وقتی PWA راهاندازی میشود، Chrome آخرین باری را تعیین میکند که مانیفست محلی برای تغییرات بررسی شده است. اگر مانیفست در 24 ساعت گذشته بررسی نشده باشد، Chrome یک درخواست شبکه برای مانیفست زمانبندی میکند، سپس آن را با نسخه محلی مقایسه میکند.
اگر ویژگیهای انتخابی در مانیفست تغییر کرده باشد (لیست زیر را ببینید)، Chrome مانیفست جدید را در صف قرار میدهد، و پس از بسته شدن همه پنجرههای PWA، دستگاه وصل میشود و به WiFi متصل میشود، Chrome یک WebAPK بهروزرسانی شده از سرور درخواست میکند. . پس از بهروزرسانی، همه فیلدهای مانیفست جدید استفاده میشوند.
کدام ویژگی ها باعث بروز رسانی می شوند؟
-
background_color
-
display
-
orientation
-
scope
-
shortcuts
-
start_url
-
theme_color
-
web_share_target
اگر Chrome نتواند مانیفست بهروزرسانیشده را از سرور دریافت کند، ممکن است زمان بین بررسیها را به 30 روز افزایش دهد.
آزمایش بهروزرسانیهای مانیفست
صفحه about://webapks
شامل اطلاعات دقیق درباره همه PWA های نصب شده در دستگاه است و می تواند به شما بگوید آخرین بار چه زمانی مانیفست به روز شده است، چند وقت یکبار به روز می شود و موارد دیگر.
برای برنامهریزی دستی بهروزرسانی مانیفست، لغو تایمر و مانیفست محلی موارد زیر را انجام دهید:
- دستگاه را به برق وصل کنید و مطمئن شوید که به وای فای متصل است.
- از مدیر وظیفه Android برای خاموش کردن PWA استفاده کنید، سپس از پنل برنامه در تنظیمات Android برای توقف اجباری PWA استفاده کنید.
- در کروم،
about://webapks
باز کنید و روی دکمه «بهروزرسانی» برای PWA کلیک کنید. "وضعیت به روز رسانی" باید به "در انتظار" تغییر کند. - PWA را راه اندازی کنید و بررسی کنید که به درستی بارگذاری شده است.
- از مدیر وظیفه Android برای خاموش کردن PWA استفاده کنید، سپس از پنل برنامه در تنظیمات Android برای توقف اجباری PWA استفاده کنید.
PWA معمولاً در عرض چند دقیقه بهروزرسانی میشود، پس از تکمیل بهروزرسانی، «وضعیت بهروزرسانی» باید به «موفقیتآمیز» تغییر کند.
منابع
-
UpdateReason
enum برای Chrome در Android