In che modo HealthKit risolve la registrazione della stessa attività da più fonti?

7

Che cosa accade quando più di una "fonte" registrata con HealthKit tiene traccia della stessa attività?

Ad esempio, se Human rileva la mia attività in generale, quindi utilizza Cyclemeter (che supporta HealthKit nella versione 10.3) per tracciare un particolare giro in bici, entrambi supporteranno la stessa attività a HealthKit. Presumibilmente dovrebbe essere possibile per HealthKit riconoscere che queste attività sono probabili duplicati e almeno chiedermi come risolvere la "duplicazione" (così come i conflitti di sincronizzazione sono risolti). In effetti, le attività contengono dati sufficienti che generalmente tale riconoscimento dovrebbe essere possibile eseguire automaticamente.

HealthKit fa questo? Risolve le registrazioni duplicate della stessa attività (automaticamente o semi-automaticamente)?

    
posta orome 29.09.2014 - 16:41
fonte

2 risposte

9

HealthKit è abbastanza intelligente con i tuoi dati. Per ogni sorgente nell'app Salute, è possibile impostare la priorità delle app di differenza. Tocca una delle metriche nell'app Salute tocca Condividi dati > Modifica per trascinare le fonti nell'ordine corretto.

Se altre app richiedono dati, HealthKit unirà automaticamente i set di dati, probabilmente in base a timestamp. Seleziona prima l'app ad alta priorità e riempie gli spazi nei dati con l'app numero 2, ecc.

Questo WWDC sarebbe un ottimo inizio per ottenere una panoramica completa .

    
risposta data 29.09.2014 - 16:58
fonte
2

Per quanto ho studiato, la risposta di Paul Veugen è solo parzialmente vera. HealthKit unisce questi dati se si utilizza HKStatisticsQuery o HKStatisticsCollectionQuery. Altrimenti spetterà a te fornire una logica per unire / deduplicare i risultati.

Una possibile soluzione potrebbe essere quella di utilizzare HKSourceQuery per identificare fonti diverse e ad es. selezionarne solo uno.

Un altro potrebbe essere quello di accedere al sorgente tramite HKSourceRevision nei risultati di un HKQuery e solo prendere i dati da una fonte o provare a confrontare i dati dalle diverse fonti. Da iOS 9.3 c'è anche la possibilità di accedere ai diversi dispositivi sorgente usando HKDevice.

Prendere un dispositivo ti lascerà sempre con la possibilità, che un utente non abbia parzialmente utilizzato il dispositivo durante il periodo di tempo richiesto, cosa che porterà a punti dati mancanti.

A causa di questa priorità i risultati rimarranno comunque dolorosi, come Apple non ha documentato, se i dati richiesti verranno ordinati in base alla priorità sorgente definita dall'utente in Salute.

Detto questo, potrebbe essere utile esaminare intervalli di date sovrapposti per identificare i duplicati.

    
risposta data 02.09.2016 - 16:13
fonte

Leggi altre domande sui tag