מדריך למתחילים

Peter Conn
Peter Conn

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

בסוף המדריך הזה:

  • השתמשתם ב-בועות כדי לפתח אפליקציה שמשתמשת בפעילות מהימנה באינטרנט ומעבירה אימות.
  • הסבר על השימוש במפתחות החתימה שלך.
  • להיות מסוגלת לזהות את החתימה שבה אפליקציית Android שלך בנויה.
  • אתם צריכים לדעת איך יוצרים קובץ Digital Asset Links (קישורים לנכס דיגיטלי).

כדי לעקוב אחר המדריך הזה, צריך:

  • Node.js מגרסה 10 ואילך במחשב הפיתוח.
  • אמולטור או טלפון Android שמחוברים למכשיר ומוגדרים לפיתוח (הפעלת ניפוי באגים ב-USB אם משתמשים בטלפון פיזי).
  • דפדפן שתומך בפעילות מהימנה באינטרנט בטלפון הפיתוח. Chrome מגרסה 72 ואילך יפעל. בקרוב תהיה תמיכה בדפדפנים אחרים.
  • אתר שברצונך להציג בדף 'פעילות אינטרנט מהימנה'.

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

כשמפעילים פעילות אינטרנט מהימנה, הדפדפן בודק שתהליך התשלום של קישורים לנכסים דיגיטליים (Digital Asset Links) נקרא אימות. אם האימות ייכשל, הדפדפן יחזור להציג את האתר ככרטיסייה 'בהתאמה אישית'.

התקנה והגדרה של בועות

בועה היא קבוצת ספריות וכלי שורת הפקודה (CLI) ל-Node.js, שעוזר למפתחים ליצור, לבנות ולהפעיל אפליקציות מסוג Progressive Web Apps בתוך אפליקציות ל-Android באמצעות 'פעילות אינטרנט מהימנה'.

ניתן להתקין את ה-CLI באמצעות הפקודה הבאה:

npm i -g @bubblewrap/cli

הגדרת הסביבה

בפעם הראשונה שמפעילים את בועת הבועה, תופיע הצעה להוריד ולהתקין באופן אוטומטי את יחסי התלות החיצוניים הנדרשים. מומלץ לאפשר לכלי לעשות זאת, כי זה מבטיח שיחסי התלות מוגדרים נכון. עיינו במשאבי העזרה בנושא בועות כדי להשתמש בהתקנה קיימת של Java Development Kit (JDK) או של כלי שורת הפקודה של Android.

הפעלה ובנייה של פרויקט

כדי לאתחל פרויקט Android שעוטף PWA, מריצים את פקודת ה-init:

bubblewrap init --manifest=https://my-twa.com/manifest.json

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

bubblewrap build

ריצה

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

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

bubblewrap install

לחלופין, אפשר להשתמש בכלי adb.

adb install app-release-signed.apk

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

חלופות לממשקי משתמש גרפי (GUI) עבור בועות

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

הערה לגבי חתימה על מפתחות

Digital Asset Links מביאים בחשבון את המפתח שבאמצעותו נחתם ה-APK. אחת הסיבות הנפוצות לכשל באימות היא שימוש בחתימה שגויה. (חשוב לזכור שאם האימות ייכשל, המשמעות היא שתפעילו את האתר ככרטיסייה מותאמת אישית, עם ממשק המשתמש של הדפדפן בחלק העליון של הדף). כשהאפליקציה בועות לבנייה, נוצרת APK עם הגדרת מפתח במהלך השלב init. עם זאת, כשמפרסמים את האפליקציה ב-Google Play, יכול להיות שניצור עבורך מפתח אחר, בהתאם לאופן שבו בחרת לטפל במפתחות חתימה. מידע נוסף על חתימת מפתחות ואיך הם קשורים ללוח בועות ול-Google Play

Digital Asset Links מכילה בעיקר קובץ באתר שלך שמפנה לאפליקציה שלך ומספר מטא-נתונים באפליקציה שמפנים לאתר שלך.

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

מתבצעת בדיקה של הדפדפן

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

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

> adb logcat -v brief | grep -e TWAProviderPicker
D/TWAProviderPicker(17168): Found TWA provider, finishing search: com.google.android.apps.chrome

השלבים הבאים

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

בשלבים הבאים מומלץ להתחיל ביצירת סמל לאפליקציה. לאחר מכן כדאי לפרוס את האפליקציה בחנות Play.