אנשי הקשר מאפשרים ל-Glassware לקבל פריטים בציר הזמן שלא נוצרו. המשתמשים חייבים לשתף פריט בציר הזמן באופן מפורש עם איש הקשר על ידי הקשה על כרטיס האפשרות שיתוף בתפריט.
איך זה עובד
אחרי שיוצרים איש קשר לשיתוף, השיתוף של כרטיסי ציר הזמן מתבצע לפי התהליך הכללי הבא:
- צריך ליצור איש קשר ולהגדיר סוגי MIME שאיש הקשר תומך בהם.
- מוסיפים את איש הקשר לציר הזמן של המשתמש.
- המשתמש מקבל פריט בציר הזמן שכולל את האפשרות Share בתפריט (שיתוף). כלי זכוכית חייבים לאפשר למשתמשים לשתף את הפריטים שלהם באופן מפורש עם האפשרות הזו בתפריט.
- המשתמש מקיש על הפריט בציר הזמן, בוחר באפשרות שיתוף בתפריט ואז בוחר את איש הקשר.
- Mirror API יוצר עותק של כרטיס ציר הזמן המשותף, מעניק לאיש הקשר גישה לעותק ומוסיף את העותק לציר הזמן של המשתמש. ל-Glassware אין גישה לפריט ציר הזמן המקורי.
- אם נרשמתם לשיתוף התראות, מקבלים מטען ייעודי (payload) שמכיל את הפרטים המזהים של כרטיס ציר הזמן. לאחר מכן אפשר לאחזר את פריט ציר הזמן עם Timeline.get.
- אתם משנים את כרטיס ציר הזמן המשותף ומעדכנים את כרטיס ציר הזמן הקיים עם Timeline.update.
מתי כדאי להשתמש בנכסים לחיפוש מפיצים
כברירת מחדל, ל-Glassware אין גישה לפריטים בציר הזמן שלא נוצרו, כדי שאנשי הקשר יאפשרו ל-Glassware לשתף נתונים מ-Glassware בהסכמת המשתמש.
יש שתי דרכים עיקריות להשתמש ב-Glassware באנשי הקשר:
מתן הרשאה למשתמשים לשתף את הפריטים בציר הזמן שלך עם אנשי קשר אחרים: מוסיפים את אפשרות מובנית
SHARE
בתפריט לכרטיס ציר זמן. כשמשתמשים מקישים על האפשרות בתפריט השיתוף, תוצג ב-Glass רשימה של אנשי קשר שאפשר לשתף איתם.מתן הרשאה למשתמשים לשתף פריטים בציר הזמן עם Glassware: יצירת איש קשר שמייצג את ה-Glassware. כשמשתמשים רוצים לשתף כרטיס ציר זמן, איש הקשר מופיע כאפשרות. אפשר גם להצהיר על רשימה של סוגי MIME קבילים כך שאנשי הקשר שלכם יופיעו רק בכרטיסים שמעניינים אתכם. כדי לקבל התראה על כך שמשתמשים משתפים כרטיס ציר זמן עם איש הקשר: להירשם לקבלת התראות על ציר הזמן.
יצירת איש קשר
כדי לאפשר למשתמשים לשתף פריטים בציר הזמן עם כלי ה-Glassware, מזינים איש קשר, באמצעות פרסום ייצוג של איש קשר ב-JSON כדי נקודת הקצה (endpoint) של REST.
כל אנשי הקשר חייבים לציין id
, שמזהה את איש הקשר עם ה-Glassware
קבלת ההתראות. צריך גם לציין
displayName
ולפחות imageUrls
אחד, שמשמש את Glass להצגה
את הפרטים ליצירת קשר עם המשתמש.
HTTP גולמי
POST /mirror/v1/contacts HTTP/1.1
Authorization: Bearer {auth token}
Content-Type: application/json
Content-Length: {length}
{
"id": "harold"
"displayName": "Harold Penguin",
"iconUrl": "https://developers.google.com/glass/images/harold.jpg"
"priority": 7
}
הרשמה להתראות לשיתוף
Mirror API מאפשר הרשמה לקבלת התראות שנשלחות כשהמשתמש מבצע פעולות ספציפיות הפריט בציר הזמן או מתי מיקום המשתמש עודכן. אם נרשמתם להתראות, לספק כתובת URL לקריאה חוזרת שמעבדת את ההתראה.
התראה מ-Mirror API נשלחת כבקשת POST
אל
נקודת קצה (endpoint) מנויים שמכילה גוף בקשה של JSON
.
HTTP גולמי
{
"collection": "timeline",
"itemId": "3hidvm0xez6r8_dacdb3103b8b604_h8rpllg",
"operation": "INSERT",
"userToken": "harold_penguin",
"verifyToken": "random_hash_to_verify_referer",
"userActions": [
{
"type": "SHARE"
}
]
}
המאפיין itemId
הוא ה-ID
של פריט ציר הזמן המשותף, שבו אפשר להשתמש
עם Timeline.get כדי לקבל את הפריט בציר הזמן.
בדוגמה הבאה מוצג פריט אופייני בציר הזמן עם קובץ מצורף של תמונה:
{
"id": "3hidvm0xez6r8_dacdb3103b8b604_h8rpllg",
"attachments": [
{
"contentType": "image/jpeg",
"id": "<ATTACHMENT_ID>"
}
],
"recipients": [
{
"kind": "glass#contact",
"source": "api:<SERVICE_ID>",
"id": "<CONTACT_ID>",
"displayName": "<CONTACT_DISPLAY_NAME>",
"imageUrls": [
"<CONTACT_ICON_URL>"
]
}
]
}
השירות חייב להגיב ל-API עם סטטוס HTTP 200 OK
אם לא אירעה שגיאה.
אם השירות משיב עם קוד שגיאה, יכול להיות ש-Mirror API
אפשר לנסות לשלוח שוב את ההתראה לשירות.
מתקבל תמלול הדיבור
המשתמשים יכולים לשתף דיבור מתומלל עם איש הקשר באמצעות תפריט הקול הראשי. כרגע יש שתי פקודות קוליות שבהן איש הקשר שלך יכול להשתמש:
- "Take a note" (רשום הערה)
- "פרסום עדכון"
לדוגמה, משתמש יכול לספר לנו על יום הולדת מתקרב עם הביטוי: "Ok Glass... post an update to... זרם חתולים... יום ההולדת של צ'יפוטל יחול מחר!"
כדי להשתמש בפקודות קוליות:
יש לציין את
acceptCommands
עם ההגדרות המתאימותtype
:{ ... "displayName": "Cat Stream", "id": "CAT_STREAM", "acceptCommands": [ {"type": "POST_AN_UPDATE"} ] }
הרשמה לקבלת התראות לגבי ציר הזמן כדי לקבל התראה על כך שדיבור מתומלל זמין. המשקפיים מקבלים תוצג לך התראה במקרה כזה:
{ "collection": "timeline", "operation": "UPDATE", "userToken": "<USER_TOKEN>", "verifyToken": "<VERIFY_TOKEN>", "itemId": "<ITEM_ID>", "userActions": [ {"type": "LAUNCH"} ] }
משתמשים ב-
itemId
כדי לאחזר את הפריט בציר הזמן:{ "id": "<ITEM_ID>", "text": "Chipotle's birthday is tomorrow", "recipients": [ {"id": "CAT_STREAM"} ] }
אם יותר מ-Glassware אחד רושם איש קשר עם אותה פקודה קולית, ב-Glass מוצג תפריט ברמה השנייה שמציג את
displayName
מכל איש קשר. לאחר מכן המשתמשים יכולים לומר את איש הקשר הרצוי. אם איש הקשרdisplayName
מכיל תווים שאינם ניתנים להגייה או שאינם פונטיים, השתמשו נכסspeakableName
להצהיר על ההגייה הצפויה של איש הקשר ששיתפתם איתו את הספרייה.
כתוביות לתמונות ששותפו
המשתמשים יכולים לשתף תמונות עם כלי הזכוכית שלך שהם מזינים באמצעות דיבור. התהליך הכללי שהמשתמשים עוברים הוא:
- המשתמש מקיש על פריט בציר הזמן שמכיל תמונה ובוחר באפשרות שיתוף האפשרות בתפריט ובוחר את איש הקשר.
- המשתמש מקיש שוב תוך זמן קצר כדי להוסיף כיתוב תמונה.
- המשתמש אומר בקול כיתוב.
- פריט ציר הזמן משותף עם ה-Glassware כפי שמתואר קודם לכן
איך זה עובד. בנוסף,
המאפיין
text
של פריט ציר הזמן הוא מוגדר עם הכיתוב המתומלל של המשתמש.