מדריך למתחילים בנושא Trusted Web Activities

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

בסיום המדריך הזה, תוכלו:

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

כדי לפעול לפי המדריך הזה, צריך:

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

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

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

התקנה והגדרה של Bubblewrap

Bubblewrap הוא קבוצה של ספריות וכלי שורת פקודה (CLI) ל-Node.js שעוזר למפתחים ליצור, לפתח ולהריץ אפליקציות אינטרנט מתקדמות (PWA) בתוך אפליקציות ל-Android, באמצעות Trusted Web Activity.

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

הגדרת הסביבה

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

אתחול ובניית פרויקט

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

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

הרצה

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

ב-Bubblewrap יש פקודה להתקנה ולבדיקה של האפליקציה במכשיר מקומי. מחברים את מכשיר הפיתוח למחשב ומריצים את הפקודה:

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

הערה: כלי שורת הפקודה **adb** נמצא בתוך כלי שורת הפקודה של Android ב-**android_sdk/platform-tools/**.

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

חלופות לממשק משתמש גרפי (GUI) ל-Bubblewrap

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

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

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

הגדרת קובץ הקישור לנכס

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

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

בדיקת הדפדפן

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

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

השלבים הבאים

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

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