שימוש ב-PWA באפליקציה ל-Android

הפעלת אפליקציית PWA באפליקציה ל-Android

אפליקציות אינטרנט מתקדמות (PWA) הן אפליקציות אינטרנט שמשתמשות בתכונות שדומות לאפליקציות כדי ליצור חוויות איכותיות, מהירות, מהימנות ואינטראקטיביות.

לאינטרנט יש פוטנציאל הגעה עצום, והוא מציע למשתמשים דרכים יעילות לגלות חוויות חדשות. עם זאת, המשתמשים רגילים גם לחפש אפליקציות בחנות של מערכת ההפעלה שלהם. במקרים רבים, המשתמשים האלה כבר מכירים את המותג או השירות שהם מחפשים, ויש להם רמה גבוהה של כוונה רכישה, וכתוצאה מכך מדדי ההתעניינות שלהם גבוהים מהממוצע.

חנות Play היא חנות לאפליקציות ל-Android, ולעיתים קרובות מפתחים רוצים לפתוח את האפליקציות שלהם מסוג Progressive Web App מהאפליקציות שלהם ל-Android.

Trusted Web Activity הוא תקן פתוח שמאפשר לדפדפנים לספק מאגר תוכן תואם לחלוטין לפלטפורמת אינטרנט, שמרינדר אפליקציות PWA בתוך אפליקציה ל-Android. התכונה זמינה ב-Chrome, ובשלב הפיתוח ב-Firefox Nightly.

הפתרונות הקיימים היו מוגבלים

תמיד היה אפשר לכלול חוויות אינטרנט באפליקציות ל-Android באמצעות טכנולוגיות כמו Android WebView או מסגרות כמו Cordova.

המגבלה של Android WebView היא שהוא לא מיועד להחליף דפדפן. Android WebView הוא כלי למפתחים לשימוש בממשק משתמש אינטרנט באפליקציה ל-Android, והוא לא מספק גישה מלאה לתכונות מודרניות של פלטפורמת אינטרנט, כמו בורר אנשי קשר או מערכת קבצים, בין היתר.

‏Cordova תוכנן כדי למלא את החסרים של WebView, אבל ממשקי ה-API מוגבלים לסביבת Cordova. כלומר, צריך לנהל קוד בסיס נוסף לשימוש בממשקי API של Cordova לאפליקציה ל-Android, בנפרד מה-PWA באינטרנט הפתוח.

בנוסף, לעתים קרובות היכולת לגלות את התכונות לא פועלת כצפוי, וגם בעיות תאימות בין גרסאות Android לבין יצרני ציוד מקורי יכולות להוות בעיה. כשמשתמשים באחד מהפתרונות האלה, המפתחים צריכים תהליכי בקרת איכות נוספים ועולים להם עלויות פיתוח נוספות כדי לזהות פתרונות חלופיים וליצור אותם.

Trusted Web Activity הוא מאגר חדש לאפליקציות אינטרנט ב-Android

מפתחים יכולים להשתמש עכשיו בפעילות מהימנה באינטרנט בתור מאגר כדי לכלול אפליקציית PWA כפעילות הפעלה של אפליקציה ל-Android. הטכנולוגיה משתמשת בדפדפן כדי להציג את אפליקציית ה-PWA במסך מלא, וכך מבטיחה שלפעילות המהימנה באינטרנט תהיה אותה תאימות לתכונות ולממשקי ה-API של פלטפורמת האינטרנט כמו לדפדפן הבסיסי. יש גם כלי קוד פתוח שיעזרו לכם להטמיע אפליקציה ל-Android באמצעות Trusted Web Activity בקלות רבה יותר.

יתרון נוסף שלא זמין בפתרונות אחרים הוא שהקונטיינר משתף אחסון עם הדפדפן. מצבי הכניסה וההעדפות של המשתמשים משותפים בצורה חלקה בין חוויות השימוש השונות.

תאימות לדפדפנים

התכונה הזו זמינה ב-Chrome החל מגרסה 75, וב-Firefox היא הופעלה בגרסה הנייטלי של הדפדפן.

קריטריונים לאיכות

מפתחי אינטרנט צריכים להשתמש בפעילות Trusted Web כשהם רוצים לכלול תוכן אינטרנט באפליקציה ל-Android.

תוכן האינטרנט בפעילות מהימנה באינטרנט חייב לעמוד בקריטריונים להתקנה של אפליקציות PWA.

בנוסף, כדי להתאים את ההתנהגות לציפיות של המשתמשים מאפליקציות ל-Android, בגרסה 86 של Chrome הוחל שינוי, לפיו כשל בטיפול בתרחישים הבאים נחשב לקריסה:

  • אימות של קישורי נכסים דיגיטליים נכשל במהלך השקת האפליקציה.
  • נכשל החזרת HTTP 200 לבקשת משאב רשת אופליין.
  • בקשת ניווט שמחזירה שגיאת HTTP 404 או 5xx".

אם אחד מהתרחישים האלה מתרחש בפעילות באינטרנט מהימנה, הוא גורם לקריסה של אפליקציית Android שגלויה למשתמש. כדאי לעיין בהנחיות לטיפול בתרחישים האלה ב-service worker.

האפליקציה צריכה לעמוד גם בקריטריונים נוספים שספציפיים ל-Android, כמו תאימות למדיניות.

צילום מסך שבו מוצג הציון של Lighthouse לאפליקציית AirHorn, עם תג PWA וציון ביצועים של 100.
תג ה-PWA ב-Lighthouse מראה אם אפליקציית ה-PWA עומדת בקריטריונים להתקנה.

כלים

מפתחי אינטרנט שרוצים לנצל את היתרונות של Trusted Web Activity לא צריכים ללמוד טכנולוגיות או ממשקי API חדשים כדי להפוך את אפליקציית ה-PWA שלהם לאפליקציה ל-Android. יחד, Bubblewrap ו-PWABuilder מספקים כלים למפתחים בצורת ספרייה, ממשק שורת פקודה (CLI) וממשק משתמש גרפי (GUI).

ניילון בועות

הפרויקט Bubblewrap יוצר אפליקציות ל-Android בצורת ספריית NodeJS וממשק שורת פקודה (CLI).

כדי להפעיל פרויקט חדש, מריצים את הכלי ומעבירים את כתובת ה-URL של מניפסט האינטרנט:

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

אפשר גם להשתמש בכלי כדי ליצור את הפרויקט. הפעלת הפקודה הבאה תגרום להצגת אפליקציית Android מוכנה להעלאה לחנות Play:

npx @bubblewrap/cli build

אחרי הרצת הפקודה הזו, קובץ בשם app-release-signed.apk יהיה זמין בספריית הבסיס של הפרויקט. זהו הקובץ שיועלה לחנות Play.

PWABuilder

PWABuilder עוזר למפתחים להפוך אתרים קיימים לאפליקציות אינטרנט מתקדמות (PWA). הוא משתלב גם עם Bubblewrap כדי לספק ממשק משתמש גרפי (GUI) לאריזת ה-PWA לאפליקציית Android. צוות PWABuilder כתב פוסט מעולה בבלוג על יצירת אפליקציית Android באמצעות הכלי.

אימות הבעלות על אפליקציית ה-PWA ב-Android

מפתח שמפתח אפליקציית Progressive Web App נהדרת לא ירצה שמפתח אחר יבנה ממנה אפליקציה ל-Android בלי רשותו. כדי למנוע זאת, צריך להתאים את אפליקציית Android לאפליקציית Progressive Web App באמצעות כלי שנקרא Digital Asset Links.

Bubblewrap ו-PWABuilder מטפלים בהגדרות הנדרשות באפליקציית Android, אבל עדיין נשאר שלב אחרון: הוספת הקובץ assetlinks.json ל-PWA.

כדי ליצור את הקובץ הזה, המפתחים צריכים את החתימה של SHA-256 של המפתח שמשמש לחתימה על קובץ ה-APK שהמשתמשים מורידים.

אפשר ליצור את המפתח בכמה דרכים, והדרך הקלה ביותר למצוא איזה מפתח חתם על קובץ ה-APK שמוצג למשתמשי הקצה היא להוריד אותו מחנות Play עצמה.

כדי להימנע מהצגת אפליקציה שבורה למשתמשים, צריך לפרוס את האפליקציה בערוץ בדיקה סגור, להתקין אותה במכשיר בדיקה ואז להשתמש בכלי לקישור נכסים של Peter כדי ליצור את קובץ assetlinks.json הנכון לאפליקציה. צריך להפוך את קובץ assetlinks.json שנוצר לזמין בכתובת /.well-known/assetlinks.json, בדומיין שרוצים לאמת.

לאן ממשיכים

אפליקציה מסוג Progressive Web App היא חוויית שימוש באיכות גבוהה באינטרנט. Trusted Web Activity היא דרך חדשה לפתוח את חוויות השימוש האיכותיות האלה מאפליקציה ל-Android, אם הן עומדות בקריטריונים המינימליים של איכות.

אם אתם רק מתחילים לעבוד עם אפליקציות Progressive Web, כדאי לקרוא את ההנחיות שלנו ליצירת אפליקציית PWA מעולה. מפתחים שכבר יצרו אפליקציית PWA יכולים להשתמש ב-Lighthouse כדי לוודא שהיא עומדת בקריטריונים של האיכות.

לאחר מכן, משתמשים ב-Bubblewrap או ב-PWABuilder כדי ליצור את אפליקציית Android, מעלים את האפליקציה לערוץ בדיקה סגור בחנות Play ומתאימים אותה ל-PWA באמצעות הכלי לקישור נכסים של Peter.

ולבסוף, מעבירים את האפליקציה מערוץ הבדיקה בקבוצה המוגדרת לסביבת הייצור.