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

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

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

לקוח נתונים

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

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

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

לקוח שליחת הודעות

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

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

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

לקוח ערוץ

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

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

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

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

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

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

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