סשנים

הסשנים מאפשרים למשתמשים לראות במהירות ובקלות רשימה של כל הפעילויות העיקריות שהם ביצעו. הם מופיעים בדף היומן באפליקציית 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 כדי:

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

REST

אפשר להשתמש ב-Sessions API כדי:

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

איך מערכי נתונים ופלחים פועלים עם סשנים

ב-Google Fit:

  • מערך נתונים מייצג קבוצה של נקודות נתונים ממקור נתונים מסוים במהלך תקופה ספציפית. אפשר להוסיף קבוצות נתונים בנפרד. אבל אם אתם יוצרים סשן, יכול להיות שיהיה לכם יותר קל ליצור את הסשן ואת מערכי הנתונים שלו ביחד.
  • פלח מקבץ את מערכי הנתונים בסשן לפי הפעילות המדויקת שהמשתמש ביצע בסשן. לדוגמה, אם המשתמש עוקב אחרי ריצה של 30 דקות (הסשן), אבל הוא הלך קצת במהלך הריצה, יכול להיות שהריצה תחולק לפלחים. יהיה פלח לריצה, אחר כך להפסקת ההליכה ואז לריצה שוב.
איור 1: אפליקציות שונות מוסיפות סשנים וערכות נתונים ל[מאגר נתוני הכושר].

איור 1 מציג מרווח זמן במאגר נתוני הכושר שבמהלכו אפליקציות A,‏ B ו-C הוסיפו כמה מערכי נתונים וסשנים:

  • אפליקציה א' הוסיפה את קבוצות הנתונים א1 וא2 יחד עם סשן 1, ואת קבוצת הנתונים א3 בנפרד מכל הסשנים.
  • אפליקציה ב' הכניסה את קבוצות הנתונים ב1 וב2 יחד עם סשן 2.
  • אפליקציה ג' הכניסה את מערך הנתונים ג'1 באופן עצמאי, ללא קשר לסשנים.

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

  • קבוצת נתונים A1
  • מערך נתונים A2
  • החלק של קבוצת הנתונים A3 בין t1 ל-t2
  • החלק של קבוצת הנתונים C1 בין t1 ל-t2

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

יצירת סשנים

יש כמה דרכים ליצור סשנים:

  • האפליקציה יכולה ליצור באופן פעיל סשן באחד מהמקרים הבאים:
    • בזמן אמת כשמשתמש עוקב באופן פעיל אחרי פעילות במכשיר (Android בלבד), או
    • הוספה ידנית של הקוד.
  • כשמשתמש מוסיף אימון או פעילות באופן ידני באפליקציית Google Fit.

מתי כדאי ליצור סשן

האם אתם מוסיפים נתוני שינה?

  • כן – יצירת סשן והוספה ידנית שלו לחנות הכושר. לדוגמה, הוספה של סשן שינה. הסיבה לכך היא שמשתמשים עם אפליקציות או מכשירים למעקב אחר שינה לא מבצעים אינטראקציה עם מכשירים כדי להתחיל ולהפסיק את פעילות השינה שלהם (הפעילות הזו מתועדת באופן פסיבי).
  • לא – האם האפליקציה מאפשרת למשתמשים להתחיל ולהפסיק פעילויות?
    • לא – לא ייווצר סשן. מוסיפים רק קבוצות נתונים מהאפליקציה.
    • כן – באמצעות Android API, אפשר ליצור סשן בזמן אמת אם המשתמשים עוקבים אחרי הפעילות שלהם, או באופן ידני. באמצעות API בארכיטקטורת REST, יוצרים סשן ומוסיפים אותו באופן ידני לחנות הכושר.
    • האם האפליקציה יכולה לזהות מתי משתמש מבצע פעילויות שונות ברמה מפורטת יותר (לדוגמה, הליכה לעומת ריצה)?
      • כן – הוספת פלחים.
      • לא – רק מוסיפים מערכי נתונים. אפשר להתעלם בינתיים מהפלחים ולתת ל-Google Fit ליצור אותם באופן פסיבי.

סשנים של קריאה

יש כמה דרכים שבהן האפליקציה יכולה לקרוא סשנים:

  • כדי לחפש סשן ספציפי שהכלי יצר או הוסיף:
    • שם או
    • מזהה
  • חיפוש כל הסשנים שהכלי יצר או הוסיף, לפי תקופת זמן
  • חיפוש כל הסשנים שנוצרו על ידי כל האפליקציות (כולל Google Fit) לפי תקופת זמן

איך יודעים אילו מקורות יצרו סשן

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

Android

בשלב הזה, אפשר לקבל רק את שם החבילה של סשן שנכתב על ידי לקוח Android. כדי לקבל את שם החבילה של האפליקציה שיצרה סשן, משתמשים ב-method‏ getAppPackageName. אתם יכולים להשתמש במידע הזה באפליקציה שלכם כדי להראות למשתמשים אילו אפליקציות אחרות הוסיפו אימונים. כדי לעזור למשתמשים לזהות את האפליקציות האלה, אפשר להציג את הסמל של כל אחת מהן.

אפשר גם להפעיל intent כדי להפעיל אפליקציות אחרות ולהציג את פרטי הסשנים שהן יצרו. אפליקציות אחרות יכולות גם לשלוח intent להפעלת האפליקציה שלכם.

מידע נוסף על איתור המקור שיצר סשן

REST

כדי לקבל את שם החבילה של אפליקציית Android שיצרה סשנים, משתמשים במאפיין session.application. במקום זאת, אפשר להשתמש במאפיין session.name בסשנים שנוצרו באמצעות API בארכיטקטורת REST. אתם יכולים להשתמש במידע הזה באפליקציה שלכם כדי להראות למשתמשים אילו אפליקציות אחרות הוסיפו סשנים של פעילות גופנית. כדי לעזור למשתמשים לזהות את האפליקציות האלה, אתם יכולים להציג את הסמל של כל אחת מהן.

מידע נוסף על איתור המקור שיצר סשן