بیست و یکم آگوست گوگل بعد از خورشید گرفتگی، نسخه ی نهایی آندورید 8 با عنوان آندروید اورئو را به بازار ارائه کرد. در این روز تنها خورشید نبود که برای مدتی از نظرها پنهان شد بلکه اپلیکیشن های وب درحال پیشرفت نیز با مشکلات جدیدی مواجه شدند.
با نصب آندروید 8 روی گوگل پیکسل و تست چندین مورد از وب سایت ها و PWA ها ،چند خبر بد داریم که در این پست به اشتراک گذاشته میشوند.
اما ابتدا به خبر خوب اشاره میکنیم: بسیاری از مشکلات با آپدیت های نرم افزار حل میشوند. مساله این است که پیش از آنکه نسخه ی جدیدی ارائه شود هیچ کس به آپدیت کردن نرم افزار اهمیت چندانی نمیدهد.
Add to Home Screen
ابتدا به بدترین مشکل اشاره میشود: فیچر "Add to the Home Screen" در Opera Mobile، Samsung Internet و فایرفاکس کارنمیکند. درحالیکه فایرفاکس Web App Manifest برای standalone display را پشتیبانی نمیکند این فیچر بوکمارک ها به هوم اسکرین را پشتیبانی میکند.
توصیه:
اطمینان از دیتا کانکشن، در سامسونگ اینترنت و اپرا هیچ آیکونی پس از اضافه شدن به هوم اسکرین ظاهر نمیشود.
در مرورگرهای نامبرده هنگامیکه یک وب سایت یا PWA را به هوم اسکرین اضافه میکنید هیچ اتفاقی رخ نمیدهد. بعبارت دیگر هیچ آیکونی ظاهر نمیشود و مرورگرها می پندارند همه چیز خوب پیش میرود. بعد از پذیرفتن آیکون نصب بنرهای اپلیکیشن وب بدرستی ظاهر میشوند.
اولین حدس این است که میانبر قدیمی API کار نکرده و این مرورگرها باید به Pinned Shortcuts API جدید آپدیت شوند.
درصورتیکه قبل از نصب آندروید 8 این آیکون ها را نصب کرده باشید بعد از upgrade همچنان کار خواهند کرد. بنظر میرسد مشکل از نصب آیکون باشد.
فیچر "Add to Home Screen" در گوگل کروم بدرستی کار میکند اما در سایر مرورگرها باید برای یک آپدیت در گوگل پلی منتظر بمانیم.
پروسه ی جدید نصب در کروم
در گوگل کروم قبل از نصب آیکون یک گام جدید باید انجام شود: گزینش محل هوم اسکرین. در اینجا می توانیم از "افزودن خودکار" استفاده کنیم که برای نصب آیکون فضای آزاد پیدا میکند یا اینکه می توانید انگشت خود را چند ثانیه روی آیکون نگه داشته و آنرا هرکجا که می خواهید ببرید. اما مشکل اینجاست که این گام جدید در پروسه ی نصب سرعت نصب را اندکی کاهش میدهد.
توصیه:
مراحل پروسه ی جدید:
باز کردن منو.
انتخاب Add to Home Screen.
ویرایش عنوان و فشردن گزینه "Add"".
فشردن گزینه ی "Add Automatically" یا نگهداشتن چند ثانیه ای آیکون برای جایگذاری آن بصورت دستی.
درصورت ظاهر شدن Web App Banner مراحل 1و2 با یک مرحله جایگزین میشوند: فشردن "Add to Screen" در بنر.
تفاوت ظاهری آیکون ها
تا آندروید 7.1 کروم و آندروید هردو آیکونی که شما در Web App Manifest می گذاردید را بدون هیچ تغییرشکلی محترم میداشتند.
با نصب آندروید اورئو هر میانبری که از کروم (یا هر مرورگر دیگری)اضافه شود مانند تصویر بالا نشان کروم را در گوشه ی پایین آیکون خواهد داشت.
وجود این نشان در آیکون ها برای PWA ها اصلا خوب نیست زیرا ما می خواهیم کاربران تجربه ای اپلیکیشن مانند داشته باشند و وجود آیکون کروم آنها را از این تجربه محروم میکند.
مساله ی دیگر درمورد آیکون ها این است که اگر آیکون کاملا دایره ای شکل و با پس زمینه ی شفاف نباشد با آن همانند مربع رفتار شده و درون دایره سفید گنجانده میشود. در تصویر زیر آیکون های PWA مشابه نصب شده در یک دستگاه با آندورید 7.1 و آندروید 8 را مشاهده کنید:
در تصویر بالا آیکون های Lyft و NASA همین مشکل را دارند درحالیکه آیکون های Garbarino، Flipkart و AliExpress آیکون های ارجینال خود را حفظ کرده اند.
بنظر میرسد آیکون ها PWA از دستورالعمل طراحی آیکون میانبر اپلیکیشن تبعیت میکنند البته این نظریه هنوز تایید نشده است.
هر آیکونی که پیش از ارتقا به آندورید 8 نصب شده باشد تغییر نکرده و شکل ارجینال خود را حفظ میکند. تغییر در ظاهر آیکون ها زمانی رخ میدهد که بعد از ارتقای آندروید نصب شوند.
آپدیت 8/23: واکنش کروم پس از چند روز
چند روز پس از انتشار این پست برخی از کاربران متوجه شدند رفتار کروم و آندروید اروئو آنگونه که در این پست توضیح داده شده نیست. بعد از پست چند توییت متوجه شدیم که گوگل WebAPK را برای تمام کاربران کروم آندروید فعال کرده است و دیگر رفتاری مانند آنچه که در این مقاله توضیح داده شده ندارد. بنابراین تمام کسانی که هنوز کروم را بروز رسانی نکرده اند این مسائل را تجربه خواهند کرد.
WebAPK قهرمان ما
با ثبات WebAPK در آینده امید میرود راهکاری برای مشکلات نامبرده یافت شود. این فیچر جدید در گوگل کروم محتوایی از Android Package بومی فراهم کرده و آنرا برای PWA ما server-side میکند.
آپدیت 8/23: تیم کروم در توییتر تایید کرده است که WebAPK تنها در دسترس کاربران ثابت کروم است نه همه ی کاربران.
با فعال کردن WebAPK آیکون ها به حالت نرمال (همانگونه که پیش از ارتقا آندروید به آندروید اورئو بودند) برمیگردند. هنوز از زمان در دسترس قرار گرفتن WebAPK خبری منشر نشده است اما امیدواریم با وجود این مشکلات هر چه سریعتر در دسترس همه ی کاربران قرار بگیرد.
ناگفته نماند که این فیچر تنها مشکلات کروم را حل میکند. سامسونگ اینترنت، اپرا، فایرفاکس و سایر مرورگرها مشکلات همچنان مرتبط با آیکون ها را خواهند داشت مگر آنکه گوگل این فیچر را در اختیار مرورگرهای شخص ثالث نیز قرار دهد.
وایفای هات اسپات های public open تحت تسلط وی پی ان
درحال حاضر آندروید فیچری را پشتیبانی میکند که بصورت اتوماتیک به نقاط دسترسی باز (نقاط بدون امنیت) کانکت شده و از گوگل وی پی ان بعنوان کانال امن برای افزایش امنیت استفاده میکند. آی پی آدرس ارجینال در هدرهای HTTP در دسترس نمی باشد بنابراین گوگل از هدر X-Forwarded-For با proxy ها استفاده نمیکند.
محروم ماندن PWA ها از مزایای آندروید 8
آندوید اورئو مزایایی دارد که برای PWA ها مفید هستند اما درحال حاضر از دسترس محتوا وب خارجند، از جمله ی این مزایا می توان به موارد زیر اشاره کرد:
نقطه های نوتیفیکشن: هرگاه یک اپلیکیشن نوتیفیکشنی در انتظار داشته باشد یک نقطه روی آیکون آن ظاهر میشود.
آیکون های قابل تطبیق: آیکون هایی هیستند که می توانند در مدل های مختلف دستگاههای مختلف انواع اشکال را نمایش دهند. بعنوان مثال، یک آیکون لانچر تطبیق پذیر می تواند در یک دستگاه OEM شکل دایره و در دستگاه دیگر شکل مربع را نمایش دهد.
کانال های نوتیفیکیشن: دسته بندی از نوتیفیکیشن ها هستند که ما به دریافت آنها از یک اپ یا وب سایت تمایل داریم.
میانبرها: آپشن هایی هستند که بهنگام تاچ و نگهداشتن یک آیکون ظاهر میشوند.
خبرهای خوب
پیش از به اتمام رساندن این مقاله خبرهای خوبی از توسعه ی وب در آندروید 8 داریم:
رقابت کروم و PWA
شما می توانید هرآنچه که در این مقاله به آن اشاره شد را تست کنید حتی اگر دستگاهی با آندروید 8 ندارید زیرا در حال حاضر مقلد آندروید گوگل کروم(ورژن 58) را شامل میشود.
عکس در عکس در برای پخش ویدئو
درصورت داشتن تگ <ویدئو>، PiP در کروم پشتیبانی میشود. البته هنوز اثبات نشده است که این ویژگی تجربه کاربری خوبی دارد یا خیر. شما باید ویدئو را بصورت فول اسکرین باز کرده و سپس هوم اسکرین رابزنید. به این ترتیب پخش ویدئو بصورت یک پنجره کوچک شناور PiP ادامه یافته و می توانید آنرا به طرفین حرکت داده یا آنرا ببندید.
گوگل باید درمورد PWA ها بیشتر کار کند
ما معمولا از اپل بدلیل پشتیبای زیاد برای پلتفرم وب انتقاد میکنیم اما PWA ها در سایر پلتفرم ها از جمله آندروید هنوز در مراحل ابتدایی قرار دارند.
نیازی به گفتن نیست که برخی از افراد در تیم کروم کارهای برجسته ای انجام میدهند اما برخی موارد از قبیل WebAPK تا آماده شدن زمان زیادی طول میکشند.
بنظر میرسد تیم آندروید اهمیت زیادی به PWA ها نمیدهد: پشتیبانی از اپلیکیشن های فوری و مشکلات نامبرده در این مقاله حاکی از آن است که اعتماد PWA ها اندکی خدشه دار شده است.