Sesje to sposób na szybkie i łatwe wyświetlenie listy wszystkich głównych działań wykonanych przez użytkowników. Pojawiają się one na stronie dziennika w aplikacji Google Fit. Na przykład sesja oddechowa, spacer, bieg lub sen to przykłady sesji.
Sesje grupują zbiory danych z określonego przedziału czasu, które zostały zebrane podczas aktywności. Jeśli np. użytkownik śledzi czas rozpoczęcia i zakończenia 3-kilometrowego biegu, można utworzyć sesję, a wszystkie dane o aktywności fizycznej z tego okresu (np. liczba kroków, prędkość, dystans) zostaną z nią powiązane.
Same sesje nie zawierają szczegółów aktywności. Jest to w zbiorze danych. Sesje mają te właściwości:
- Opisowa, przyjazna nazwa (np. „poranny bieg”)
- tekst reklamy,
- unikalny identyfikator,
- Rodzaj aktywności, którą rejestruje (np. bieg).
Zalety korzystania z sesji
- Przydatne dla użytkowników: sesje pomagają użytkownikom porządkować dane o aktywności i treningach w sensowny sposób. Wszystkie swoje aktywności z danego dnia mogą zobaczyć na stronie Dziennik w aplikacji Google Fit.
- Spójne wrażenia użytkownika: jeśli aplikacja lub urządzenie towarzyszące umożliwia śledzenie aktywności (użytkownicy mogą rozpoczynać i kończyć aktywność), sesje tych treningów pozwalają użytkownikom wyświetlać aktywność w obu aplikacjach.
- Pełniejsze dane: Google Fit łączy też dane z wielu źródeł, aby uzupełniać i wzbogacać informacje o sesji. Dzięki temu użytkownicy uzyskują pełniejszy obraz swojej aktywności.
- Korzystaj z platformy Google Fit: jeśli użytkownicy nie śledzą swojej aktywności lub Twoja aplikacja nie obsługuje śledzenia, nadal możesz odczytywać sesje w Google Fit. Możesz wysyłać zapytania o szczegółowe lub zagregowane dane z usługi fitness i wyszukiwać dostępne sesje bez konieczności wdrażania własnego schematu i pamięci.
- Większe zaangażowanie użytkowników: możesz wyświetlać użytkownikom dostępne sesje i aplikacje, które je utworzyły. Wchodzenie w interakcje z innymi aplikacjami do ćwiczeń w ten sposób może zwiększyć zaangażowanie użytkowników.
Uzyskiwanie autoryzacji użytkownika w przypadku sesji
Jeśli chcesz odczytywać lub zapisywać sesje, musisz uzyskać zgodę użytkownika. Dostęp do sesji wykorzystuje te same zakresy autoryzacji co typy danych. Musisz o nie poprosić w ten sposób:
Android
Określ, do jakiego typu sesji aplikacja potrzebuje dostępu, 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 pokazuje, że aplikacja chce mieć dostęp do metadanych sesji aktywności, a także określa typy danych, które chce odczytywać w ramach tych sesji. W tym przykładzie używane są typy danych tętna, prędkości i lokalizacji.
REST
Poproś o zakresy w ten sposób:
- Sesje z typami aktywności związanymi ze snem:
https://www.googleapis.com/auth/fitness.sleep.readhttps://www.googleapis.com/auth/fitness.sleep.write
- Wszystkie pozostałe sesje:
https://www.googleapis.com/auth/fitness.activity.readhttps://www.googleapis.com/auth/fitness.activity.write
Korzystanie z sesji
Android
Za pomocą interfejsu Sessions API możesz:
- Tworzenie sesji w czasie rzeczywistym
- Wstawianie sesji do magazynu informacji o aktywności fizycznej
- Wstawianie segmentów aktywności, aby uwzględniać przerwy podczas treningów
- Odczytywanie sesji i powiązanych z nimi zbiorów danych
- Uruchamianie innej aplikacji w celu wyświetlenia informacji o utworzonej przez nią sesji
- Otrzymywanie intencji, gdy inna aplikacja rozpoczyna sesję
REST
Za pomocą interfejsu Sessions API możesz:
- Tworzenie sesji w czasie rzeczywistym
- Wstawianie sesji do magazynu informacji o aktywności fizycznej
- Wstawianie segmentów aktywności, aby uwzględniać przerwy podczas treningów
- Odczytywanie sesji i powiązanych z nimi zbiorów danych
Jak zbiory danych i segmenty współdziałają z sesjami
W Google Fit:
- Zbiór danych to zestaw punktów danych z określonego źródła danych z określonego przedziału czasu. Zbiory danych można wstawiać osobno. Jeśli jednak tworzysz sesję, łatwiej będzie utworzyć ją razem ze zbiorami danych.
- Segment grupuje zbiory danych w sesji według dokładnej aktywności użytkownika w sesji. Jeśli na przykład użytkownik śledzi 30-minutowy bieg (sesję), ale w jego trakcie przez jakiś czas szedł, można to podzielić na segmenty. Będzie to segment biegu, potem przerwa na marsz, a następnie znowu bieg.
Rysunek 1 przedstawia przedział czasu w sklepie z aplikacjami fitness, w którym aplikacje A, B i C wstawiają niektóre zbiory danych i sesje:
- Aplikacja A wstawiła zbiory danych A1 i A2 razem z sesją 1, a zbiór A3 niezależnie od sesji.
- Aplikacja B wstawia zbiory danych B1 i B2 wraz z sesją 2.
- Aplikacja C wstawia zbiór danych C1 niezależnie od sesji.
Podczas odczytywania danych sesji z usługi fitness wszystkie dane fitness mieszczące się w przedziale czasu sesji są automatycznie powiązane z tą sesją, nawet jeśli wstawisz dane po utworzeniu sesji lub utworzysz sesję po pasywnym śledzeniu danych. Na przykład zapytanie o dane dotyczące aktywności fizycznej 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 wstawiała poszczególne sesje i zbiory danych.
Tworzenie sesji
Sesje można tworzyć na kilka sposobów:
- Aplikacja może aktywnie tworzyć sesję w
- w czasie rzeczywistym, gdy użytkownik aktywnie śledzi aktywność na urządzeniu (tylko Android);
- ręcznie wstawiając go.
- Gdy użytkownik ręcznie doda trening lub aktywność w aplikacji Google Fit.
Kiedy tworzyć sesję
Czy dodajesz dane o śnie?
- Tak – utwórz sesję i ręcznie wstaw ją do magazynu informacji o aktywności fizycznej. Na przykład wstawianie sesji snu. Dzieje się tak, ponieważ użytkownicy aplikacji lub urządzeń do monitorowania snu nie wchodzą w interakcję z urządzeniami, aby rozpocząć i zakończyć aktywność związaną ze snem (jest ona śledzona pasywnie).
- Nie – czy Twoja aplikacja umożliwia użytkownikom rozpoczynanie i zatrzymywanie aktywności?
- Nie – nie twórz sesji. Dodawaj tylko zbiory danych z Twojej aplikacji.
- Tak – za pomocą interfejsu Android API możesz tworzyć sesje w czasie rzeczywistym, jeśli użytkownicy śledzą swoją aktywność, lub ręcznie. Za pomocą interfejsu API REST utwórz sesję i ręcznie wstaw ją do magazynu informacji o aktywności fizycznej.
- Czy Twoja aplikacja może wykrywać, kiedy użytkownik wykonuje różne czynności na bardziej szczegółowym poziomie (np. chodzenie a bieganie)?
- Tak – dodaj segmenty.
- Nie – tylko dodawanie zbiorów danych. Na razie zignoruj segmenty i pozwól Google Fit na ich pasywne tworzenie.
Sesje czytania
Aplikacja może odczytywać sesje na kilka sposobów:
- Wyszukaj konkretną sesję utworzoną lub wstawioną przez:
- Nazwa lub
- Identyfikator
- Sprawdź wszystkie utworzone lub wstawione sesje według okresu.
- Wyszukiwanie wszystkich dostępnych sesji utworzonych przez wszystkie aplikacje (w tym Google Fit) według okresu
Dowiedz się, które źródła utworzyły sesję
Możesz pokazać użytkownikom, która aplikacja lub urządzenie utworzyło każdą z ich sesji. Każda sesja jest powiązana ze źródłem danych, które zawiera informacje o aplikacji lub urządzeniu, z którego pochodzą dane lub w którym zostały przekształcone.
Android
Obecnie możesz uzyskać nazwę pakietu sesji zapisanej przez klienta Androida. Aby uzyskać nazwę pakietu aplikacji, która utworzyła sesję, użyj metody getAppPackageName. Możesz użyć tych informacji w aplikacji, aby pokazywać użytkownikom, które inne aplikacje wstawiały sesje aktywności. Możesz wyświetlać ikonę każdej z tych aplikacji, aby ułatwić użytkownikom ich rozpoznawanie.
Możesz też wysłać intencję, aby uruchomić inne aplikacje i wyświetlić szczegóły utworzonych przez nie sesji. Inne aplikacje mogą też wysyłać intencję uruchomienia Twojej 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 użyj właściwości session.name. Te informacje możesz wykorzystać w aplikacji, aby pokazywać użytkownikom, które inne aplikacje wstawiały sesje fitness. Możesz wyświetlać ikony 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ę.