Sesje

Sesje pozwalają użytkownikom szybko i łatwo zobaczyć listę wszystkich głównych działań. Pojawiają się one na stronie dziennika aplikacji Google Fit. Na przykład: sesje oddechowe, spacer, bieg czy sen.

Sesje grupują zbiory danych z określonego okresu, które zostały zebrane podczas aktywności. Jeśli na przykład użytkownik śledził moment rozpoczęcia i zakończenia 3 km, może zostać utworzona sesja, z którą powiązane będą wszystkie dane dotyczące aktywności (takie jak kroki, prędkość czy dystans).

Sesje nie zawierają informacji o aktywności. Znajduje się on w zbiorze danych. Sesje mają te właściwości:

  • opisowa, przyjazna nazwa (np. „&dzień”);
  • tekst reklamy,
  • unikalny identyfikator,
  • Typ wykonywanej aktywności (np. bieg)

Zalety korzystania z sesji

  • Przydatne dla użytkowników: sesje ułatwiają porządkowanie danych o aktywności i treningów w zrozumiały sposób dla użytkowników. Na stronie Dziennik w aplikacji Google Fit możesz zobaczyć wszystkie swoje aktywności z tego dnia.
  • Spójny interfejs użytkownika: jeśli aplikacja lub urządzenie towarzyszące umożliwiają śledzenie aktywności (gdzie użytkownicy mogą rozpoczynać i wstrzymywać aktywność), sesja tych treningów umożliwia użytkownikom sprawdzanie ich aktywności w obu aplikacjach.
  • Bardziej kompletne dane: Google Fit łączy też dane z wielu źródeł, aby uzupełniać i wzbogacać informacje o sesji. Dzięki temu użytkownicy mają pełniejszy obraz aktywności.
  • Korzystanie z platformy Google Fit: jeśli użytkownicy nie śledzą swojej aktywności lub aplikacja nie obsługuje śledzenia, nadal może odczytywać sesje w Google Fit. Możesz wysyłać zapytania dotyczące szczegółowych lub zbiorczych danych ze sklepu fitness i znajdować dostępne sesje bez konieczności implementacji własnego schematu i miejsca na dane.
  • Większe zaangażowanie użytkowników: możesz wyświetlać użytkownikom dostępne sesje i aplikacje, które je utworzyły. W ten sposób możesz zwiększyć zaangażowanie użytkowników.

Zgoda użytkowników na sesje

Jeśli chcesz odczytywać lub zapisywać sesje, aplikacja musi mieć uprawnienia użytkownika. Dostęp do sesji ma te same zakresy autoryzacji co typy danych, o które prosisz:

Android

Za pomocą odpowiednich metod z FitnessOptions określ typ sesji, do której aplikacja musi uzyskiwać dostęp. Na przykład, aby przeczytać sesje związane z bieganiem, możesz wybrać:

    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()

Ten przykład określa, że aplikacja chce uzyskać dostęp do metadanych sesji aktywności, a także określa typy danych, które chce odczytywać w tych sesjach. W tym przykładzie używane są dane o tętnie, szybkości i lokalizacji.

REST

Zakresy żądania:

  • Sesje z typami aktywności snu:
    • https://www.googleapis.com/auth/fitness.sleep.read
    • https://www.googleapis.com/auth/fitness.sleep.write
  • Wszystkie pozostałe sesje:
    • https://www.googleapis.com/auth/fitness.activity.read
    • https://www.googleapis.com/auth/fitness.activity.write

Korzystanie z sesji

Android

Za pomocą interfejsu Sessions API możesz:

  • Tworzenie sesji w czasie rzeczywistym
  • Wstaw sesje w sklepie fitness
  • Wstaw segmenty aktywności, aby zwiększyć przerwy na trening
  • Odczytuj powiązane z sesją i zbiory danych
  • Uruchamianie innej aplikacji w celu wyświetlania informacji o utworzonej sesji
  • Otrzymuje intencję, gdy inna aplikacja rozpocznie sesję

REST

Za pomocą interfejsu Sessions API możesz:

  • Tworzenie sesji w czasie rzeczywistym
  • Wstaw sesje w sklepie fitness
  • Wstaw segmenty aktywności, aby zwiększyć przerwy na trening
  • Odczytuj powiązane z sesją i zbiory danych

Jak zbiory danych i segmenty wchodzą w interakcję z sesjami

W Google Fit:

  • Zbiór danych reprezentuje zestaw punktów danych z określonego źródła danych w określonym przedziale czasu. Zbiory danych mogą być umieszczane samodzielnie. Jeśli jednak tworzysz sesję, łatwiej jest utworzyć sesję i jej zbiory danych.
  • Segment grupuje zbiory danych w sesji według dokładnej aktywności użytkownika. Jeśli np. użytkownik śledzi 30-minutowy bieg (sesję), ale spacerował przez ten czas nieco, może on zostać podzielony na segmenty. Może to być część biegu, potem marsz, a potem bieg.
Ilustracja 1. Różne aplikacje dodają sesje i zbiory danych do [sklepu fitness]

Rysunek 1 przedstawia przedział czasu w sklepie fitness, w którym aplikacje A, B i C wstawiły zbiór danych i sesje:

  • W każdej aplikacji mogą pojawiać się zbiory danych A1 i A2 razem z sesją 1 i A3.
  • Aplikacja B wstawiła zbiory danych B1 i B2 wraz z sesją 2.
  • Aplikacja C wstawiono zbiór danych C1 niezależnie od sesji.

Gdy czytasz dane sesji z sklepu fitness, wszystkie dane o aktywności fizycznej, które przypadają w przedziale czasu sesji, są automatycznie wiązane z tą sesją, nawet jeśli wstawisz je po utworzeniu sesji lub utworzysz sesję po biernym monitorowaniu. Na przykład zapytanie o dane dotyczące aktywności z sesji 1 zwróci

  • Zbiór danych A1
  • Zbiór danych A2
  • Część zbioru danych A3 między t1 a t2
  • Część zbioru danych C1 między t1 a t2

Możesz sprawdzić, która aplikacja wstawiła każdą sesję i zbiór danych.

Tworzenie sesji

Sesje można tworzyć na kilka sposobów:

  • Aplikacja może aktywnie tworzyć sesje w:
    • w czasie rzeczywistym, gdy użytkownik aktywnie śledzi aktywność na urządzeniu (tylko na Androidzie).
    • ręcznie wstawiając te dane.
  • Kiedy użytkownik ręcznie doda trening lub aktywność w aplikacji Google Fit.

Kiedy warto utworzyć sesję

Dodajesz dane dotyczące snu?

  • Tak – utwórz sesję i wstaw ją ręcznie do sklepu fitness. Możesz na przykład wstawić sesję snu. Wynika to z faktu, że użytkownicy aplikacji do śledzenia snu lub urządzeń do monitorowania snu nie będą mogli wchodzić w interakcje z urządzeniami, aby uruchamiać lub zatrzymywać ich sen (są to pasywne).
  • Nie – czy aplikacja umożliwia użytkownikom uruchamianie i zatrzymywanie aktywności?
    • Nie – nie twórz sesji. Dodaj tylko zbiory danych z aplikacji.
    • Tak – za pomocą interfejsu API Androida utwórz sesję w czasie rzeczywistym, jeśli użytkownicy śledzą swoją aktywność lub ręcznie. Za pomocą interfejsu API REST utwórz sesję i włóż ją ręcznie do sklepu fitness.
    • Czy aplikacja może wykrywać, kiedy użytkownik wykonuje inne czynności na bardziej szczegółowym poziomie (np. spacer lub bieg)?
      • Tak – dodaj segmenty,
      • Nie – tylko dodaj zbiory danych. Ignoruj na razie segmenty i pozwól Google Fit pasywnie je tworzyć.

Sesje czytania

Aplikacja może odczytywać sesje na kilka sposobów:

  • Wyszukaj konkretną sesję utworzoną lub wpisaną przez:
    • Nazwa lub
    • Identyfikator
  • Wyszukiwanie wszystkich sesji utworzonych lub wstawionych według przedziału czasu
  • Wyszukaj wszystkie dostępne sesje utworzone przez wszystkie aplikacje (w tym Google Fit) w danym okresie

Sprawdzanie, które źródła doprowadziły do sesji

Możesz poinformować użytkowników, które aplikacje lub urządzenia utworzyły poszczególne sesje. Każda sesja ma powiązane źródło danych, które zawiera informacje o aplikacji lub urządzeniu, które zbierały lub przekształcały te dane.

Android

Obecnie możesz uzyskać tylko nazwę pakietu sesji napisanego przez klienta Androida. Aby uzyskać nazwę pakietu aplikacji, która utworzyła sesję, użyj metody getAppPackageName. Na podstawie tych informacji możesz pokazać użytkownikom, które inne aplikacje wprowadziły sesje fitness. Możesz wyświetlić ikonę każdej z tych aplikacji, aby pomóc użytkownikom je zidentyfikować.

Możesz też uruchomić zamiar, aby uruchomić inne aplikacje dotyczące szczegółów utworzonych przez nich sesji. Inne aplikacje mogą też umożliwić uruchomienie aplikacji.

Dowiedz się więcej o znajdowaniu źródła, które utworzyło sesję.

REST

Aby uzyskać nazwę pakietu aplikacji na Androida, w której utworzono sesje, użyj właściwości session.application. W przypadku sesji utworzonych przy użyciu interfejsu API REST użyj właściwości session.name. Na podstawie tych informacji możesz pokazać użytkownikom, które inne aplikacje wprowadziły sesje fitness. Możesz wyświetlić ikonę każdej z tych aplikacji, aby ułatwić użytkownikom ich identyfikację.

Dowiedz się więcej o znajdowaniu źródła, które utworzyło sesję.