استفاده از PWA در برنامه اندروید

برنامه های وب پیشرو (PWA) برنامه های کاربردی وب هستند که از ویژگی های برنامه مانند برای ایجاد تجربیات با کیفیت بالا که سریع، قابل اعتماد و جذاب هستند استفاده می کنند.

وب دارای دسترسی باورنکردنی است و راه های قدرتمندی برای کشف تجربیات جدید به کاربران ارائه می دهد. اما کاربران به جستجوی برنامه های کاربردی در فروشگاه سیستم عامل خود نیز عادت دارند. این کاربران، در بسیاری از موارد، قبلاً با نام تجاری یا خدماتی که به دنبال آن هستند آشنا هستند و سطح بالایی از هدفمندی دارند که منجر به معیارهای تعامل بالاتر از متوسط ​​می شود.

Play Store فروشگاهی برای برنامه های اندروید است و توسعه دهندگان اغلب می خواهند برنامه های وب پیشرو خود را از برنامه های اندروید خود باز کنند.

Trusted Web Activity یک استاندارد باز است که به مرورگرها اجازه می‌دهد یک محفظه کاملاً سازگار با پلتفرم وب ارائه کنند که PWA را در یک برنامه Android ارائه می‌کند. این ویژگی در Chrome و در حال توسعه در Firefox Nightly در دسترس است.

راه حل های موجود محدود بود

همیشه می‌توان با استفاده از فناوری‌هایی مانند Android WebView یا چارچوب‌هایی مانند Cordova ، تجربیات وب را در برنامه Android گنجاند.

محدودیت Android WebView این است که به عنوان جایگزین مرورگر در نظر گرفته نشده است. Android WebView یک ابزار توسعه‌دهنده برای استفاده از رابط کاربری وب در یک برنامه اندروید است و دسترسی کامل به ویژگی‌های پلتفرم وب مدرن مانند انتخابگر مخاطب یا سیستم فایل و سایر موارد را فراهم نمی‌کند.

Cordova برای تقویت کاستی های WebView طراحی شده است، اما API ها سپس به محیط Cordova محدود می شوند. این بدان معناست که شما باید یک پایگاه کد اضافی برای استفاده از Cordova API برای برنامه اندروید خود، جدا از PWA خود در وب باز داشته باشید.

علاوه بر این، قابلیت کشف ویژگی اغلب آنطور که انتظار می رود کار نمی کند و مشکلات سازگاری بین نسخه های اندروید و OEM ها نیز می تواند مشکل ساز باشد. هنگام استفاده از یکی از این راه حل ها، توسعه دهندگان به فرآیندهای تضمین کیفیت اضافی نیاز دارند و هزینه توسعه اضافی را برای شناسایی و ایجاد راه حل متحمل می شوند.

Trusted Web Activity یک محفظه جدید برای برنامه های وب در Android است

توسعه‌دهندگان اکنون می‌توانند از یک فعالیت وب معتمد به‌عنوان یک ظرف برای گنجاندن PWA به عنوان فعالیت راه‌اندازی برای یک برنامه Android استفاده کنند. این فناوری از مرورگر استفاده می کند تا PWA را به صورت تمام صفحه نمایش دهد و اطمینان حاصل کند که فعالیت وب معتمد با ویژگی های پلتفرم وب و APIهای مشابه سازگاری مرورگر اصلی دارد. همچنین ابزارهای منبع باز وجود دارد که اجرای یک برنامه Android با استفاده از یک فعالیت وب مورد اعتماد را آسان تر می کند.

مزیت دیگری که در راه حل های دیگر موجود نیست این است که کانتینر فضای ذخیره سازی را با مرورگر به اشتراک می گذارد. حالت های ورود و تنظیمات برگزیده کاربران به طور یکپارچه در بین تجربیات به اشتراک گذاشته می شوند.

سازگاری مرورگر

این ویژگی از نسخه ۷۵ در کروم در دسترس بوده و فایرفاکس آن را در نسخه شبانه خود پیاده سازی کرده است.

معیارهای کیفیت

توسعه دهندگان وب زمانی که می خواهند محتوای وب را در یک برنامه اندروید قرار دهند باید از یک فعالیت وب مورد اعتماد استفاده کنند.

محتوای وب در یک فعالیت وب مورد اعتماد باید معیارهای نصب PWA را داشته باشد.

علاوه بر این، برای مطابقت با رفتاری که کاربران از برنامه‌های اندروید انتظار دارند، Chrome 86 تغییری را ارائه کرد که در آن عدم رسیدگی به سناریوهای زیر یک خرابی در نظر گرفته می‌شود:

  • تأیید نشدن پیوندهای دارایی دیجیتال هنگام راه‌اندازی برنامه.
  • عدم بازگشت HTTP 200 برای درخواست منبع شبکه آفلاین.
  • یک درخواست ناوبری که خطای HTTP 404 یا 5xx را برمی‌گرداند.

هنگامی که یکی از آن سناریوها در فعالیت وب مورد اعتماد رخ می دهد، باعث خرابی قابل مشاهده کاربر در برنامه اندروید می شود. راهنمای رسیدگی به این سناریوها را در کارگر خدماتی خود بررسی کنید.

این برنامه همچنین باید معیارهای اضافی مخصوص Android مانند انطباق با خط مشی را داشته باشد.

تصویری که امتیاز Lighthouse را برای AirHorn با نشان PWA و امتیاز عملکرد 100 نشان می‌دهد.
نشان PWA در Lighthouse نشان می‌دهد که آیا PWA شما معیارهای نصب‌پذیری را دارد یا خیر.

ابزار سازی

توسعه دهندگان وب که می خواهند از فعالیت وب مورد اعتماد استفاده کنند، برای تبدیل PWA خود به یک برنامه اندروید، نیازی به یادگیری فناوری ها یا API های جدید ندارند. Bubblewrap و PWABuilder با هم ابزارهای توسعه دهنده را در قالب یک کتابخانه، رابط خط فرمان (CLI) و رابط کاربری گرافیکی (GUI) ارائه می کنند.

حباب بند

پروژه Bubblewrap برنامه های اندروید را در قالب یک کتابخانه NodeJS و یک رابط خط فرمان (CLI) تولید می کند.

بوت استرپ یک پروژه جدید با اجرای ابزار و ارسال URL مانیفست وب به دست می آید:

npx @bubblewrap/cli init --manifest=https://pwa-directory.appspot.com/manifest.json

این ابزار همچنین می‌تواند پروژه را بسازد و با اجرای دستور زیر یک برنامه اندروید آماده برای آپلود در فروشگاه Play خروجی می‌دهد:

npx @bubblewrap/cli build

پس از اجرای این دستور، فایلی به نام app-release-signed.apk در دایرکتوری اصلی پروژه در دسترس خواهد بود. این فایلی است که در فروشگاه Play آپلود خواهد شد.

PWABuilder

PWABuilder به توسعه دهندگان کمک می کند تا وب سایت های موجود را به برنامه های وب پیشرفته تبدیل کنند. همچنین با Bubblewrap ادغام می شود تا یک رابط رابط کاربری گرافیکی برای قرار دادن آن PWA ها در یک برنامه اندروید ارائه دهد. تیم PWABuilder یک پست وبلاگ عالی در مورد نحوه تولید یک برنامه اندروید با استفاده از این ابزار گردآوری کرده است.

تأیید مالکیت PWA در برنامه Android

توسعه‌دهنده‌ای که یک برنامه وب پیشرفته می‌سازد، نمی‌خواهد توسعه‌دهنده دیگری بدون اجازه او یک برنامه اندرویدی با آن بسازد. برای اطمینان از اینکه این اتفاق نمی افتد، برنامه Android باید با استفاده از ابزاری به نام پیوندهای دارایی دیجیتال با برنامه وب پیشرو جفت شود.

Bubblewrap و PWABuilder تنظیمات لازم را در برنامه Android انجام می دهند، اما آخرین مرحله باقی می ماند و آن افزودن فایل assetlinks.json به PWA است.

برای تولید این فایل، توسعه دهندگان به امضای SHA-256 کلید مورد استفاده برای امضای APK که توسط کاربران در حال دانلود است نیاز دارند.

کلید را می‌توان به روش‌های مختلفی تولید کرد و ساده‌ترین راه برای یافتن اینکه کدام کلید امضاکننده APK در حال ارائه به کاربران نهایی است، دانلود آن از خود فروشگاه Play است.

برای جلوگیری از نمایش یک برنامه خراب به کاربران، برنامه را در یک کانال آزمایشی بسته اجرا کنید، آن را در یک دستگاه آزمایشی نصب کنید و سپس از ابزار پیوند دارایی پیتر برای ایجاد فایل assetlinks.json صحیح برای برنامه استفاده کنید. فایل assetlinks.json ایجاد شده را در /.well-known/assetlinks.json در دامنه ای که در حال تایید است در دسترس قرار دهید.

بعد کجا بریم

یک برنامه وب پیشرفته یک تجربه وب با کیفیت بالا است. Trusted Web Activity راه جدیدی برای باز کردن تجربه‌های با کیفیت بالا از یک برنامه Android است که حداقل معیارهای کیفیت را برآورده می‌کنند.

اگر با برنامه‌های وب پیشرفته شروع می‌کنید، راهنمای ما در مورد نحوه ساخت یک PWA عالی را بخوانید. برای توسعه دهندگانی که قبلاً PWA دارند، از Lighthouse استفاده کنید تا بررسی کنید که آیا معیارهای کیفیت را برآورده می کند یا خیر.

سپس، از Bubblewrap یا PWABuilder برای تولید برنامه Android استفاده کنید، برنامه را در یک کانال آزمایشی بسته در فروشگاه Play آپلود کنید و با استفاده از ابزار Peter's Asset Link آن را با PWA جفت کنید.

در نهایت اپلیکیشن خود را از کانال تست بسته به مرحله تولید منتقل کنید!