בדיקה וניפוי באגים באפליקציה

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

  1. בסביבת האירוח שלכם, מציגים את דף ה-HTML שבו פועלת אפליקציית המילוי המקומית. קטע הקוד הבא מציג דוגמה לקובץ HTML סטטי שבו פועלת אפליקציית המילוי המקומית.

    <html>
      <head>
        <!-- Local Home SDK -->
        <script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script>
        <!-- Local app under development -->
        <script src="local_execution.js"></script>
      </head>
    
    </html>
  2. בדיקת אמצעי הבקרה במכשיר

  3. ניפוי באגים מ-Chrome. שימוש בנקודות עצירה וביומני אירועים כדי לפתור בעיות בשילוב.

  4. משנים ומאגדים את קוד TypeScript, ואז חוזרים על השלבים האלה.

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

בדיקת התכונה 'שליטה במכשיר'

בשדה Google Home Developer Console, צריך לציין את כתובת ה-URL של אפליקציית האינטרנט, שמציגה את ה-HTML שנטען במכשיר Google Home או Google Nest במהלך הביצוע המקומי.

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

Chrome

  1. בדף Setup and configuration של השילוב של Cloud-to-cloud ב-Google Home Developer Console, גוללים אל Local fulfillment ומפעילים את ההגדרה.
  2. בקטע Testing URLs (בדיקת כתובות URL) > Testing URL for Chrome (בדיקת כתובת URL ל-Chrome), מציינים את כתובת ה-URL של שרת הפיתוח שמציג את ה-HTML שמפעיל את אפליקציית המילוי המקומית.
  3. לוחצים על שמירה. יכול להיות שיחלפו עד 30 דקות עד ש-Google תפיץ את השינויים שבוצעו במסוף.
  4. מפעילים מחדש את מכשיר Google Home או Google Nest לבדיקה.
  5. נותנים פקודה למכשיר החכם. לדוגמה, אם המכשיר שלכם מטמיע את המאפיין OnOff, תוכלו לומר "Ok Google, turn on the lights".

Node.js

  1. בדף Setup and configuration (הגדרה והגדרות אישיות) של Google Home Developer Console, גוללים אל Local fulfillment (ביצוע הזמנות מקומי) ומפעילים את ההגדרה.
  2. בקטע Testing URLs (כתובות URL לבדיקה) > Testing URL for Node (כתובת URL לבדיקה של Node), מציינים את כתובת ה-URL של שרת הפיתוח שמציג את ה-JavaScript שמפעיל את אפליקציית המילוי המקומית.
  3. לוחצים על שמירה. יכול להיות שיחלפו עד 30 דקות עד ש-Google תפיץ את השינויים שבוצעו במסוף.
  4. מפעילים מחדש את מכשיר Google Home או Google Nest לבדיקה.
  5. נותנים פקודה למכשיר החכם. לדוגמה, אם המכשיר שלכם מטמיע את המאפיין OnOff, תוכלו לומר "Ok Google, turn on the lights".

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

.

ניפוי באגים מ-Chrome

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

כדי לחבר את אפליקציית המילוי המקומית למנטר הבאגים של Chrome DevTools:

Chrome

  1. במכונה המקומית לפיתוח, מתקינים ומפעילים את דפדפן Google Chrome.
  2. בשדה הכתובת בדפדפן Chrome, מזינים chrome://inspect#devices כדי להפעיל את הכלי לבדיקת הקוד של Chrome. בדף אמור להופיע רשימה של מכשירים, וקובץ ה-HTML אמור להופיע מתחת לשם של מכשיר Google Home או Google Nest לבדיקה.
  3. לוחצים על הקישור הכחול לבדיקת הקוד מתחת ל-HTML כדי להפעיל את כלי הפיתוח ל-Chrome. עוברים לכרטיסייה מסוף. פלטפורמת Local Home מפיקה את גרסת האפליקציה ואת גרסת ה-SDK של Local Home ביומן המסוף. אם היומן מופיע, סימן ש-Google הטעינה את האפליקציה בהצלחה ויכולה להתחבר אליה. אם לא, מפעילים מחדש את מכשיר Google Home או Google Nest.
  4. איור 1: אפליקציית מילוי מקומי בכתובת chrome://inspect.

Node.js

  1. במכונה המקומית לפיתוח, מתקינים ומפעילים את דפדפן Google Chrome.
  2. קובעים את כתובת ה-IP המקומית של מכשיר הבדיקה.
  3. בשדה הכתובת בדפדפן Chrome, מזינים chrome://inspect#devices כדי להפעיל את הכלי לבדיקת הקוד של Chrome.
  4. בוחרים באפשרות Configure… (הגדרה) כדי לפתוח את הגדרות זיהוי היעדים.
  5. איור 2: הגדרות זיהוי היעדים בכתובת chrome://inspect
  6. מזינים DEVICE_IP_ADDRESS:9222 ברשימה ולוחצים על סיום.
  7. לוחצים על הקישור הכחול לבדיקה מתחת לסקריפט כדי להפעיל את כלי הפיתוח ל-Chrome. עוברים לכרטיסייה מסוף. פלטפורמת Local Home מפיקה את גרסת האפליקציה ואת גרסת ה-SDK של Local Home ביומן המסוף. אם היומן מופיע, סימן ש-Google הטעינה את האפליקציה בהצלחה ויכולה להתחבר אליה. אם לא, מפעילים מחדש את מכשיר Google Home או Google Nest.

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

טיפים לניפוי באגים

כמה דברים נוספים שכדאי לזכור במהלך ניפוי הבאגים:

  • אל תקשרו כמה מכשירי Google Home או Google Nest לחשבון הבדיקה באותה רשת מקומית. לא תוכלו לקבוע איזה מכשיר Google Home או Google Nest יהיה היעד של פקודות ההשלמה המקומיות.
  • מרעננים את הדף בכלי הפיתוח של Chrome כדי לטעון מחדש את מאגר האפליקציות המקומי של מילוי ההזמנות עם הקוד העדכני ביותר מכתובת ה-URL של סביבת הפיתוח. הפעולה הזו לא מאפסת את פלטפורמת Home המקומית, וייתכן שתצטרכו לאפס אותה כדי להפעיל מחדש את כוונת הפלטפורמה (כמו IDENTIFY) באפליקציית הביצועים המקומית. כדי לאפס את פלטפורמת Home המקומית, צריך להפעיל מחדש את מכשיר Google Home או Google Nest.
  • מוודאים שאפליקציית JavaScript נטענת ללא שגיאות. כדי לעשות זאת, בודקים את הקטע של המסוף בדף כלי הפיתוח. אם יש בעיה, תוצג הודעה כמו: 'Uncaught TypeError: Cannot read property 'open' of null'.
  • הערך verificationId בתגובה IDENTIFY חייב להתאים לאחד מהערכים של otherDeviceIds בתגובה SYNC.
  • בטיפול של EXECUTE, צריך לוודא שהמכשיר יכול לקבל את פקודות ה-HTTP, ‏ TCP או UDP, ושהן פועלות כצפוי.
  • חשוב להחזיר Promise מהמטפלים.
  • הימנעו משמירת מצב גלובלי בזיכרון. מחזור החיים של אפליקציה
  • שגיאות שמופיעות באפליקציית המילוי המקומית יופיעו ביומני השגיאות של הפרויקט.

הכנה והשקה בסביבת הייצור

כשתהיו מוכנים להשיק את הפעולה לבית החכם, עליכם לפעול לפי השלבים הבאים:

  1. פותחים טרמינל. מריצים את הפקודה npm run build בספריית הפרויקט. הפקודה הזו יוצרת את חבילות ה-JavaScript הבאות לאפליקציה בספרייה dist:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. בדף Setup and configuration ב-Google Home Developer Console, גוללים אל Local fulfillment ומפעילים את ההגדרה.
  3. באמצעות הלחצנים Upload JavaScript, מעלים את קובצי החבילה שיצרתם קודם.
    איור 3: העלאת אפליקציית JavaScript.
    חשוב להעלות את שתי הגרסאות של קובצי האוסף (Node, ‏ Web) כדי שהפעולה תהיה מוגדרת לפעול בצורה תקינה בכל סביבות זמן הריצה ש-Fulfillment מקומי תומך בהן.
    1. העלאת JavaScript לטירגוט Node.js: מעלים את הקובץ bundle.js מהספרייה dist/node.
    2. מעלים את הקוד של JavaScript לטירגוט Chrome (דפדפן): מעלים את הקובץ bundle.js מהספרייה dist/web.
  4. בודקים את הפעולה במכשיר עם Assistant מובנית כדי לוודא שהיא פועלת כצפוי בסביבת הייצור. מידע נוסף זמין במאמר בדיקה ושיתוף של הפעולה לבית החכם.
  5. כשתהיו מרוצים מהפעולה, תוכלו לשלוח אותה ל-Google לפריסה בסביבת הייצור לפי ההוראות במאמר הפעלת הפעולה לבית החכם. זה כולל את השלבים של הבדיקה העצמית והבקשה להסמכה.