Sesje

Sesje umożliwiają użytkownikom szybkie i łatwe wyświetlenie listy wszystkich głównych czynności, jakie wykonali. Będą one widoczne na stronie dziennika w aplikacji Google Fit. Przykładem sesji są np. sesja oddechowa, spacer, bieg czy sen.

Sesje grupują zbiory danych z określonego przedziału czasu, które zostały zebrane podczas działania. Jeśli na przykład użytkownik śledzi czas rozpoczęcia i zakończenia biegu na 3 km, można utworzyć sesję i wszystkie dane fitness z tego okresu (takie jak kroki, prędkość czy dystans) zostaną powiązane z tą sesją.

Sesje nie zawierają żadnych informacji o danym działaniu. To znajduje się w zbiorze danych. Sesje mają te właściwości:

  • opisowa, przyjazna nazwa (np. „poranny bieg”).
  • tekst reklamy,
  • Unikalny identyfikator
  • Typ przechwytywanej aktywności (np. bieg)

Zalety korzystania z sesji

  • Przydatne dla użytkowników: sesje pomagają porządkować dane o aktywności i treningi w sposób zrozumiały dla użytkowników. Mogą też zobaczyć całą swoją aktywność w danym dniu na stronie Dziennik w aplikacji Google Fit.
  • Spójność wrażeń użytkowników: jeśli aplikacja lub urządzenie towarzyszące umożliwia śledzenie aktywności (gdzie użytkownicy mogą ją rozpocząć i zakończyć), sesje tych treningów pozwolą im śledzić aktywność w obu aplikacjach.
  • Bardziej szczegółowe dane: Google Fit scala też dane z wielu źródeł, aby uzupełniać i wzbogacać informacje o sesjach. Dzięki temu użytkownicy zyskują pełniejszy obraz swojej aktywności.
  • Korzystanie z platformy Google Fit: jeśli użytkownicy nie śledzą swojej aktywności lub Twoja aplikacja nie obsługuje śledzenia, możesz odczytywać sesje w Google Fit. Możesz wysyłać zapytania o dane szczegółowe lub zbiorcze z sklepu fitness i wyszukiwać dostępne sesje bez konieczności wdrażania własnego schematu i miejsca na dane.
  • Większe zaangażowanie użytkowników: możesz wyświetlać dostępne sesje użytkowników oraz aplikacje, które je utworzyły. Taki sposób interakcji z innymi aplikacjami do fitnessu może zwiększyć ich zaangażowanie.

Uzyskiwanie autoryzacji użytkowników w sesjach

Jeśli chcesz odczytywać lub zapisywać sesje, Twoja aplikacja musi uzyskać uprawnienia użytkownika. Dostęp do sesji korzysta z tych samych zakresów autoryzacji co typy danych, o które możesz prosić w ten sposób:

Android

Określ typ sesji, do którego ma mieć dostęp aplikacja, używając odpowiednich metod z FitnessOptions. Aby na przykład odczytać 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 wskazuje, że aplikacja chce uzyskać dostęp do metadanych sesji aktywności, a także typy danych, które chce odczytywać w trakcie tych sesji. W tym przykładzie używane są dane o tętnie, szybkości i lokalizacji.

REST

Zakresy żądań:

  • Sesje z typami aktywności związanej ze snem:
    • 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

Korzystając z interfejsu Sessions API, możesz:

  • Twórz sesje w czasie rzeczywistym
  • Wstawiaj sesje w sklepie fitness
  • Wstaw segmenty aktywności, aby uwzględnić przerwy podczas treningu
  • Odczyt sesji i powiązanych z nimi zbiorów danych
  • Uruchom inną aplikację, aby wyświetlić informacje o utworzonej przez nią sesji
  • Odbieranie intencji, gdy inna aplikacja rozpoczyna sesję

REST

Korzystając z interfejsu Sessions API, możesz:

  • Twórz sesje w czasie rzeczywistym
  • Wstawiaj sesje w sklepie fitness
  • Wstaw segmenty aktywności, aby uwzględnić przerwy podczas treningu
  • Odczyt sesji i powiązanych z nimi zbiorów danych

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

W Google Fit:

  • Zbiór danych to zbiór punktów danych z konkretnego źródła danych w określonym przedziale czasu. Zbiory danych można wstawiać samodzielnie. Jeśli jednak tworzysz sesję, być może łatwiej będzie Ci zrobić to razem z zbiorami danych.
  • Segment grupuje zbiory danych w sesji według dokładnie tej czynności, jaką w tej sesji wykonał użytkownik. Jeśli np. użytkownik śledzi 30-minutowy bieg (sesję), ale przez chwilę spaceruje w trakcie tej sesji, można podzielić ten wynik na segmenty. Pierwszy etap to bieg, potem przerwa na spacer i kolejny bieg.
Rysunek 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 wstawiały zbiory danych i sesje:

  • Aplikacja A wstawiła zbiory danych A1 i A2 razem z sesją 1 i A3 niezależnie od sesji.
  • Aplikacja B wstawiła zbiory danych B1 i B2 razem z sesją 2.
  • Aplikacja C wstawiła zbiór danych C1 niezależnie od sesji.

Przy odczytywaniu danych o sesji ze sklepu fitness wszystkie dane o kondycji fizycznej przypadające w przedziale czasu danej sesji są automatycznie powiązane z tą sesją, nawet jeśli wstawisz dane po jej utworzeniu lub utworzysz sesję po ich pasywnym śledzeniu. Na przykład zapytanie o dane o aktywności fizycznej z sesji 1 zwróci takie wyniki:

  • 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 poszczególne sesje i zbiory danych.

Tworzenie sesji

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

  • Aplikacja może aktywnie tworzyć sesję w:
    • w czasie rzeczywistym, gdy użytkownik aktywnie śledzi aktywność na urządzeniu (tylko w przypadku Androida);
    • przez wstawienie go ręcznie.
  • Gdy użytkownik ręcznie doda trening lub aktywność w aplikacji Google Fit.

Kiedy warto utworzyć sesję

Czy dodajesz dane dotyczące snu?

  • Tak – utwórz sesję i ręcznie wstaw ją w sklepie fitness. Na przykład wstawienie sesji snu. Jest to spowodowane tym, że użytkownicy korzystający z aplikacji lub urządzeń do monitorowania snu nie wchodzą w interakcje z urządzeniami, aby uruchamiać i zatrzymywać aktywność związaną ze snem (śledzona jest pasywnie).
  • Nie – czy Twoja aplikacja umożliwia użytkownikom rozpoczynanie i zatrzymywanie aktywności?
    • Nie – nie twórz sesji. Dodawaj zbiory danych tylko z aplikacji.
    • Tak – za pomocą interfejsu Android API 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 ręcznie umieść ją w sklepie fitness.
    • Czy aplikacja może wykryć, że użytkownik wykonuje inne działania na bardziej szczegółowym poziomie (np. spacer lub bieganie)?
      • Tak – dodaj segmenty.
      • Nie – tylko dodaj zbiory danych. Na razie zignoruj segmenty i pozwól Google Fit utworzyć je pasywnie.

Sesje czytania

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

  • Wyszukaj konkretną sesję, która została utworzona lub wstawione przez użytkownika
    • Nazwa lub
    • Identyfikator
  • wyszukać wszystkie utworzone lub wstawione sesje według przedziału czasu;
  • wyszukać wszystkie dostępne sesje utworzone przez wszystkie aplikacje (w tym przez Google Fit) według przedziału czasowego;

Dowiedz się, które źródła utworzyły sesję

Możesz pokazać użytkownikom, które aplikacje lub urządzenia utworzyły poszczególne sesje. Każda sesja ma powiązane źródło danych zawierające informacje o aplikacji lub urządzeniu, które zebrało lub przekształciło dane.

Android

Obecnie możesz uzyskać tylko nazwę pakietu sesji zapisanej przez klienta na Androida. Aby uzyskać nazwę pakietu aplikacji, która utworzyła sesję, użyj metody getAppPackageName. Na podstawie tych informacji w swojej aplikacji możesz pokazać użytkownikom, z których innych aplikacji korzystali użytkownicy. Możesz wyświetlać ikony każdej z tych aplikacji, aby ułatwić użytkownikom ich rozpoznawanie.

Możesz też uruchomić inten, aby uruchomić inne aplikacje i pokazać szczegóły utworzonych przez nie sesji. Inne aplikacje też mogą uruchamiać intencję uruchomienia aplikacji.

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

REST

Aby uzyskać nazwę pakietu aplikacji na Androida, która utworzyła sesje, użyj właściwości session.application. W przypadku sesji utworzonych za pomocą interfejsu API REST zamiast tego używaj właściwości session.name. Możesz wykorzystać te informacje w swojej aplikacji, by pokazać użytkownikom, jakie inne aplikacje wstawiały sesje fitness. Możesz wyświetlać ikonę każdej z tych aplikacji, aby ułatwić użytkownikom ich rozpoznawanie.

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