סשנים מאפשרים למשתמשים לראות במהירות ובקלות רשימה של כל הפעילויות העיקריות שהם ביצעו. הן מופיעות בדף היומן של אפליקציית Google Fit. לדוגמה, פעילות נשימה, הליכה, ריצה או שנת לילה היא דוגמה לסשן.
סשנים מקבצים מערכי נתונים מתקופת זמן ספציפית שנאספו במהלך פעילות. לדוגמה, אם משתמש עקב אחרי שהתחיל ריצה של 3 ק"מ וסיים אותה, יכול להיות שהמערכת תיצור סשן, וכל נתוני הכושר שנאספו בתקופה הזו (כמו צעדים, מהירות, מרחק) ישויכו לסשן הזה.
הסשנים עצמם לא מכילים פרטים על הפעילות. הוא נמצא במערך הנתונים. לסשנים יש את המאפיינים הבאים:
- שם תיאורי וידידותי (לדוגמה, 'הפעלת בוקר')
- תיאור
- מזהה ייחודי
- סוג הפעילות שנכללת בו (לדוגמה, ריצה)
יתרונות השימוש בסשנים
- מועיל למשתמשים: סשנים עוזרים לארגן את נתוני הפעילות ואימוני הכושר באופן מועיל למשתמשים. הם יכולים לראות את כל הפעילויות היומיות בדף 'יומן' באפליקציית Google Fit.
- חוויית משתמש עקבית: אם האפליקציה או המכשיר הנלווה שלכם מאפשרים מעקב אחר פעילות (שבהם המשתמשים יכולים להתחיל ולהפסיק פעילות), סשנים של אימונים אלה מאפשרים למשתמשים לראות את הפעילות שלהם בשתי האפליקציות.
- נתונים מלאים יותר: Google Fit גם ממזג נתונים ממקורות מרובים כדי להעשיר את פרטי הפעילות באתר. כך המשתמשים מקבלים תמונה מלאה יותר לגבי הפעילות שלהם.
- כדאי להשתמש בפלטפורמת Google Fit: אם המשתמשים לא עוקבים אחר הפעילות שלהם, או אם האפליקציה לא תומכת במעקב, עדיין תוכלו לקרוא על סשנים ב-Google Fit. אפשר להריץ שאילתות על נתונים מפורטים או נצברים מחנות הכושר ולמצוא סשנים זמינים, בלי שתצטרכו להטמיע סכימה ואחסון משלכם.
- הגברת מעורבות המשתמשים: אפשר להציג למשתמשים סשנים זמינים ואת האפליקציות שיצרו אותם. אינטראקציה כזו עם אפליקציות כושר אחרות יכולה להגביר את מעורבות המשתמשים.
קבלת הרשאת משתמש לסשנים
אם רוצים לקרוא או לכתוב סשנים, האפליקציה צריכה לקבל את הרשאת המשתמש. הגישה לסשנים משתמשת באותם היקפי הרשאות כמו סוגי נתונים, שצריך לבקש אותם באופן הבא:
Android
צריך לציין את סוג הסשן שהאפליקציה צריכה לגשת אליו, באמצעות השיטות המתאימות מ-FitnessOptions
.
לדוגמה, כדי לקרוא סשנים שקשורים לריצה, תוכלו לבחור באפשרויות הבאות:
val fitnessOptions = FitnessOptions.builder()
.accessActivitySessions(FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_HEART_RATE_BPM, FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_SPEED, FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_LOCATION_SAMPLE, FitnessOptions.ACCESS_READ)
.build()
בדוגמה הזו מצוין שהאפליקציה רוצה לגשת למטא-נתונים של סשנים של פעילות, והיא גם מציינת את סוגי הנתונים שרוצים לקרוא בסשנים האלה. בדוגמה הזו נעשה שימוש בסוגי הנתונים של קצב הלב, המהירות והמיקום.
REST
היקפי הבקשות:
- סשנים עם סוגים של פעילות שינה:
https://www.googleapis.com/auth/fitness.sleep.read
https://www.googleapis.com/auth/fitness.sleep.write
- כל שאר הסשנים:
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
שימוש בסשנים
Android
אתם יכולים להשתמש ב-Sessions API כדי:
- יצירת סשנים בזמן אמת
- הוספת פעילויות בחנות הכושר
- הוספת קטעי פעילות לתמיכה בהשהיות במהלך אימוני כושר
- קריאה של סשנים ומערכי נתונים שמשויכים אליהם
- הפעלת אפליקציה אחרת כדי להציג מידע על סשן שהיא יצרה
- קבלת Intent כשאפליקציה אחרת מתחילה סשן
REST
אתם יכולים להשתמש ב-Sessions API כדי:
- יצירת סשנים בזמן אמת
- הוספת פעילויות בחנות הכושר
- הוספת קטעי פעילות לתמיכה בהשהיות במהלך אימוני כושר
- קריאה של סשנים ומערכי נתונים שמשויכים אליהם
איך מערכי נתונים ופלחים מקיימים אינטראקציה עם סשנים
ב-Google Fit:
- מערך נתונים מייצג קבוצה של נקודות נתונים ממקור נתונים מסוים בתקופת זמן ספציפית. אפשר להוסיף מערכי נתונים בעצמם. אבל אם יוצרים סשן, יכול להיות שיהיה קל יותר ליצור את הסשן ואת מערכי הנתונים שלו יחד.
- פלח מקבץ את מערכי הנתונים בסשן לפי הפעילות המדויקת שהמשתמש ביצע בסשן. לדוגמה, אם משתמש עוקב אחרי ריצה של 30 דקות (הסשן) אבל הלך קצת זמן במהלכה, אפשר לפצל את הפעילות הזו לקטעים. יהיה קטע לריצה, לאחר מכן הפסקה ההליכה ואז שוב הריצה.
![](https://developers.google.cn/static/fit/images/timeline.png?authuser=5&hl=he)
באיור 1 מוצג פרק זמן בחנות הכושר, שבמהלכו האפליקציות A, B ו-C הכניסו כמה מערכי נתונים וסשנים:
- אפליקציה א' הוסיפה את מערכי הנתונים A1 ו-A2 יחד עם סשן 1 ו-A3 בנפרד מסשנים כלשהם.
- אפליקציה ב' הוסיפה את מערכי הנתונים B1 ו-B2 יחד עם סשן 2.
- אפליקציה ג' הכניסה את מערך הנתונים C1 בנפרד מהסשנים.
כשקוראים נתוני סשנים מחנות הכושר, כל נתוני הכושר שנכללים בפרק הזמן של הסשן משויכים באופן אוטומטי לאותו סשן, גם אם מזינים את הנתונים אחרי יצירת הסשן, או יוצרים סשן אחרי מעקב פסיבי אחרי הנתונים. לדוגמה, שאילתה של נתוני כושר גופני מפעילות 1 תחזיר:
- מערך נתונים A1
- מערך נתונים A2
- החלק במערך הנתונים A3 בין t1 ל-t2
- החלק של מערך הנתונים C1 בין t1 ל-t2
תוכלו לדעת איזו אפליקציה הכניסה כל סשן ומערך נתונים.
יצירת סשנים
ניתן ליצור ביקורים בכמה דרכים שונות:
- האפליקציה שלך יכולה ליצור סשן באופן פעיל ב-
- בזמן אמת, כאשר משתמש עוקב באופן פעיל אחר פעילות במכשיר (Android בלבד), או
- על ידי הוספה ידנית שלו.
- כשמשתמש מוסיף אימון או פעילות באופן ידני באפליקציית Google Fit.
מתי כדאי ליצור סשן?
האם ברצונך להוסיף נתוני שינה?
- כן – יש ליצור סשן ולהוסיף אותו באופן ידני לחנות הכושר. לדוגמה, הוספת סשן שינה. הסיבה לכך היא שמשתמשים עם אפליקציות או מכשירים למעקב אחר השינה לא יתקשרו עם מכשירים כדי להתחיל ולהפסיק את פעילות השינה שלהם (המעקב פסיבי אחר הפעילות הזו).
- לא – האם האפליקציה מאפשרת למשתמשים להתחיל ולהפסיק פעילויות?
- לא – אל תיצרו סשן. יש להוסיף מערכי נתונים רק מהאפליקציה שלך.
- כן – בעזרת Android API אפשר ליצור סשן בזמן אמת אם המשתמשים עוקבים אחרי הפעילות שלהם, או באופן ידני. ב-API ל-REST, יוצרים סשן ומוסיפים אותו באופן ידני לחנות הכושר.
- האם האפליקציה יכולה לזהות מקרים שבהם משתמש מבצע פעילויות שונות ברמה מפורטת יותר (לדוגמה, הליכה לעומת ריצה)?
- כן – הוספת פלחים.
- לא – צריך רק להוסיף מערכי נתונים. התעלמו מפלחים כרגע, ותנו ל-Google Fit ליצור אותם באופן פסיבי.
פעילויות קריאה
האפליקציה יכולה לקרוא סשנים בכמה דרכים:
- מחפשים סשן ספציפי שהוא יצר/הוכנס על ידי
- שם או
- ID
- חיפוש של כל הסשנים שהוא יצר/הכניס, לפי תקופת זמן
- חיפוש כל הסשנים הזמינים שנוצרו על ידי כל האפליקציות (כולל Google Fit) לפי תקופת זמן
אילו מקורות יצרו סשן?
אתם יכולים להראות למשתמשים איזו אפליקציה או מכשיר יצרו בכל אחד מהסשנים שלהם. לכל סשן משויך מקור נתונים, שכולל מידע על האפליקציה או המכשיר שאספו את הנתונים או שינו אותם.
Android
כרגע אפשר לקבל רק את שם החבילה של סשן שנכתב על ידי לקוח Android. כדי למצוא את שם החבילה של האפליקציה שיצרה את הסשן, משתמשים בשיטה getAppPackageName
. תוכל להשתמש במידע הזה באפליקציה כדי להראות למשתמשים אילו אפליקציות אחרות הוסיפו פעילויות כושר. אפשר להציג את הסמל של כל אחת מהאפליקציות כדי לעזור למשתמשים לזהות אותן.
אתם יכולים גם להפעיל כוונת להפעיל אפליקציות אחרות כדי להציג פרטים על הסשנים שהן יצרו. גם אפליקציות אחרות יכולות להפעיל כוונה להפעיל את האפליקציה שלכם.
למידע נוסף על חיפוש המקור שיצר סשן
REST
כדי למצוא את שם החבילה של האפליקציה ל-Android שיצרה סשנים, משתמשים בנכס session.application
. לסשנים שנוצרו באמצעות API ל-REST, צריך להשתמש במקום זאת בנכס session.name
. ניתן להשתמש במידע הזה באפליקציה כדי להראות למשתמשים אילו אפליקציות אחרות הוסיפו סשנים של כושר. אפשר להציג את הסמל של כל אחת מהאפליקציות האלה כדי לעזור למשתמשים לזהות אותן.
למידע נוסף על חיפוש המקור שיצר סשן