בחירת סוג לקוח

ממשקי ה-API של שכבת הנתונים ב-Wear OS מורכבים מכמה סוגים שונים של לקוחות, שימושיים לסוגים שונים של נתונים ולתנאי קישוריות שונים.

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

לקוח נתונים

אובייקט DataClient מאפשר לכם לקרוא או לכתוב אל DataItem או אל Asset:

  • כל DataItem הוא יחידת מידע שמשודרת ומסונכרנת בכל המכשירים הסמוכים שבבעלות המשתמש. DataItem נשמר באופן קבוע, והמכשיר יכול לקרוא את התוכן שלו עד שמחיקת פריט הנתונים.

  • Asset מיועד למטען נתונים גדול יותר, כמו תמונות או קובצי מדיה.

תוכנת אימייל

אובייקט MessageClient יכול לשלוח הודעות והוא מתאים לקריאות לפרוצדורות מרוחקות (RPC), כמו שימוש במכשיר WearOS כדי לשלוט בגרסה של האפליקציה שמותקנת במכשיר נייד.

הודעות מצוינות לשליחת בקשות חד-כיווניות באמצעות sendMessage(), או למודל תקשורת של בקשה ותגובה באמצעות sendRequest(). בניגוד ללקוחות נתונים, לקוחות הודעות צריכים שהצמתים יהיו מחוברים לרשת כדי לשלוח הודעות.

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

לקוח הערוץ

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

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

אחרי שפותחים ערוץ, אפשר לשלוח ולקבל נתונים בזרם רציף של בייטים, ולא ביחידות DataItem נפרדות שנדרשות ללקוחות נתונים.

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

השוואה בין לקוחות

בטבלה הבאה מוצגת השוואה בין היכולות של הלקוחות השונים:

סוג לקוח התמדה של נתונים האם יש תמיכה בנתונים גדולים מ-100 KB? הרשת שבה רוצים להשתמש עובד באופן לא מקוון?
לקוח נתונים הנתונים נשמרים ללא הגבלת זמן כן (שימוש באובייקטים של Asset) עדיפות ל-Bluetooth. הנתונים מגובים בענן. אם Bluetooth זמין, הגיבוי הזה מתבצע באופן אסינכרוני כן, גם לקריאה וגם לכתיבה
לקוח הודעות אין התמדה ואין ניסיון חוזר לא עדיפות ל-Bluetooth, אבל אפשר להשתמש ב-Wi-Fi אם זה סוג החיבור היחיד שזמין לא
Channel client אין התמדה (מבוסס-חיבור) כן עדיפות ל-Bluetooth, אבל אפשר להשתמש ב-Wi-Fi אם זה סוג החיבור היחיד שזמין לא