Súgóközpont HealthyApps
Magyar
Súgóközpont
Fő webhely ↗

Súgótémák keresése

Edzések - JSON exportformátum

Dokumentáció az edzések szerkezetéről JSON-exportokban

Utoljára frissítve: 2026. október 31.

Ezen az oldalon
Exportverziók
Edzések 2. verzió Edzések 2. verzió AlapszerkezetKötelező mezőkOpcionális mezőkEdzésmetrikák időcsoportosítása
Edzések 1. verzió (Legacy) Edzések 1. verzió (Legacy) 1. verzió szerkezete
Kapcsolódó dokumentáció

A JSON-exportok az edzéseket a workouts tömbben tárolják.

Exportverziók

A Health Auto Export két edzés-exportverziót támogat:

  • 2. verzió (Ajánlott): Bővített formátum részletesebb metaadatokkal és strukturált adatokkal
  • 1. verzió (Legacy): Régebbi formátum, a meglévő munkafolyamatokkal való kompatibilitás miatt fenntartva

Edzések 2. verzió

A 2. verzió a következő kötelező mezőket és opcionális adatokat tartalmazza. A példák a Mértékegységek lokalizálása kikapcsolt állapotát használják; bekapcsolása megváltoztathatja a mértékegységneveket a metrikasorozatokban.

Alapszerkezet

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Running",
  "start": "2024-02-06 07:00:00 -0800",
  "end": "2024-02-06 07:30:00 -0800",
  "duration": 1800
}

Kötelező mezők

  • id (String): Az edzés egyedi azonosítója
  • name (String): Az edzéstípus neve (pl. "Running", "Cycling", "Swimming")
  • start (Date): Az edzés kezdőideje yyyy-MM-dd HH:mm:ss Z formátumban
  • end (Date): Az edzés záróideje yyyy-MM-dd HH:mm:ss Z formátumban
  • duration (Number): Az edzés időtartama másodpercben

Opcionális mezők

Az opcionális mezők a rendelkezésre álló adatoktól és az exportválasztásaitól függnek:

Rögzítési forrás

{
  "source": {
    "name": "Workout App",
    "identifier": "com.example.workouts"
  }
}
  • source (Object): Az edzést rögzítő alkalmazás vagy eszköz, a nevével és alkalmazásazonosítójával. Az egyedi metrikaleolvasásoknak külön forrásstringjeik vannak, és másik alkalmazásból vagy eszközről származhatnak.

Helyszíninformáció

{
  "location": "Outdoor",
  "isIndoor": false
}
  • location (String): Az alábbiak egyike: "Indoor", "Outdoor", "Pool", "Open Water"
  • isIndoor (Boolean): Az edzés beltérben zajlott-e

Energia és intenzitás

{
  "activeEnergyBurned": {
    "qty": 350,
    "units": "kcal"
  },
  "totalEnergy": {
    "qty": 450,
    "units": "kcal"
  },
  "intensity": {
    "qty": 8.5,
    "units": "kcal/hr\u00b7kg"
  }
}
  • activeEnergyBurned (Object): Az edzés alatt elégetett aktív kalóriák
  • totalEnergy (Object): Összes elégetett kalória (aktív + pihenő)
  • intensity (Object): Metabolikus egyenérték (MET) érték

Távolság és sebesség

{
  "distance": {
    "qty": 3.5,
    "units": "mi"
  }
}
  • distance (Object): Teljes megtett távolság
  • speed (Object): Átlagsebesség a távolságból és időtartamból számítva
  • avgSpeed (Object): Átlagsebesség a teljes edzés alatt
  • maxSpeed (Object): Elért maximális sebesség

Minden objektum tartalmazza a qty és units mezőket.

Magasság

{
  "elevationUp": {
    "qty": 500,
    "units": "ft"
  },
  "elevationDown": {
    "qty": 450,
    "units": "ft"
  }
}
  • elevationUp (Object): Teljes emelkedés
  • elevationDown (Object): Teljes ereszkedés

Egységek: "ft" (láb) vagy "m" (méter)

Környezeti adatok

{
  "temperature": {
    "qty": 72,
    "units": "degF"
  },
  "humidity": {
    "qty": 65,
    "units": "%"
  }
}
  • temperature (Object): Környezeti hőmérséklet az edzés alatt
  • humidity (Object): Relatív páratartalom százalékban

Hőmérséklet-egységek: "degF" (Fahrenheit) vagy "degC" (Celsius)

Úszásspecifikus mezők

{
  "lapLength": {
    "qty": 0.025,
    "units": "mi"
  },
  "strokeStyle": "Freestyle",
  "swolfScore": 45,
  "salinity": "Fresh Water",
  "totalSwimmingStrokeCount": {
    "qty": 1200,
    "units": "count"
  },
  "swimCadence": {
    "qty": 30,
    "units": "count/min"
  }
}
  • lapLength (Object): Minden kör hossza
  • strokeStyle (String): Az alábbiak egyike:
    • "Backstroke"
    • "Breaststroke"
    • "Butterfly"
    • "Freestyle"
    • "Mixed"
    • "Kickboard"
    • "Unknown"
  • swolfScore (Number): Úszás-hatékonysági pontszám
  • salinity (String): "Fresh Water" vagy "Salt Water"
  • totalSwimmingStrokeCount (Object): Összes húzásszám
  • swimCadence (Object): Húzások percenként

Lépés- és kadenciaadatok

{
  "stepCount": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 5000,
      "units": "count",
      "source": "Apple Watch"
    }
  ],
  "stepCadence": {
    "qty": 180,
    "units": "count/min"
  },
  "flightsClimbed": {
    "qty": 10,
    "units": "count"
  }
}
  • stepCount (Array): Lépésszám-mérések időben
  • stepCadence (Object): Lépések percenként
  • flightsClimbed (Object): Megmászott lépcsőszintek száma

Pulzusadatok

{
  "heartRate": {
    "min": {
      "qty": 120,
      "units": "count/min"
    },
    "avg": {
      "qty": 150,
      "units": "count/min"
    },
    "max": {
      "qty": 175,
      "units": "count/min"
    }
  },
  "maxHeartRate": {
    "qty": 175,
    "units": "count/min"
  },
  "avgHeartRate": {
    "qty": 150,
    "units": "count/min"
  },
  "heartRateData": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "Min": 120,
      "Avg": 150,
      "Max": 175,
      "units": "count/min",
      "source": "Apple Watch"
    }
  ],
  "heartRateRecovery": [
    {
      "date": "2024-02-06 07:30:00 -0800",
      "Min": 140,
      "Avg": 145,
      "Max": 150,
      "units": "count/min",
      "source": "Apple Watch"
    }
  ]
}
  • heartRate (Object): Összefoglaló min-, avg- és max-pulzussal az edzés alatt
  • maxHeartRate (Object): Maximális pulzus az edzés alatt
  • avgHeartRate (Object): Átlagos pulzus az edzés alatt
  • heartRateData (Array): Részletes mérések az edzésből; az edzés végén érnek véget
  • heartRateRecovery (Array): Külön mérések az edzés végét követő két percből

Az összefoglaló pulzusok a rögzített edzésértékeket használják, ha elérhetők; egyébként az edzés pulzusleolvasásaira támaszkodnak. Az exportált leolvasások tartalmazzák a szünetek alatti méréseket, ezért a csúcsok és átlagok eltérhetnek az összefoglalótól.

Idősoros adattömbök

Sok metrika idősoros tömbként felvehető, ha az „Edzésmetrikák felvétele” engedélyezve van:

{
  "activeEnergy": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 50,
      "units": "kcal",
      "source": "Apple Watch"
    }
  ],
  "basalEnergy": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 20,
      "units": "kcal",
      "source": "Apple Watch"
    }
  ],
  "cyclingCadence": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 90,
      "units": "count/min",
      "source": "Apple Watch"
    }
  ],
  "cyclingDistance": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 0.5,
      "units": "mi",
      "source": "Apple Watch"
    }
  ],
  "cyclingPower": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 200,
      "units": "W",
      "source": "Power Meter"
    }
  ],
  "cyclingSpeed": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 18,
      "units": "mi/hr",
      "source": "Apple Watch"
    }
  ],
  "swimDistance": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 25,
      "units": "yd",
      "source": "Apple Watch"
    }
  ],
  "swimStroke": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 20,
      "units": "count",
      "source": "Apple Watch"
    }
  ],
  "walkingAndRunningDistance": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 0.25,
      "units": "mi",
      "source": "Apple Watch"
    }
  ]
}

QuantityData szerkezet:

  • date (Date): A mérés időbélyege
  • qty (Number): Mennyiségérték
  • units (String): Mértékegység
  • source (String, opcionális): Adatforrás, eszköz vagy alkalmazás

HeartRateData szerkezet:

  • date (Date): A mérés időbélyege
  • Min (Number): Minimális pulzus
  • Avg (Number): Átlagos pulzus
  • Max (Number): Maximális pulzus
  • units (String): Egység (count/min, ha a Mértékegységek lokalizálása ki van kapcsolva)
  • source (String, opcionális): Adatforrás, eszköz vagy alkalmazás

Útvonaladatok

Ha az „Útvonaladatok felvétele” engedélyezve van, és az edzésnek van GPS-adata:

{
  "route": [
    {
      "latitude": 37.7749,
      "longitude": -122.4194,
      "altitude": 50.5,
      "course": 45.0,
      "courseAccuracy": 5.0,
      "horizontalAccuracy": 10.0,
      "verticalAccuracy": 15.0,
      "timestamp": "2024-02-06 07:00:00 -0800",
      "speed": 7.0,
      "speedAccuracy": 0.5
    }
  ]
}

Helyszínmezők:

  • latitude (Number): GPS szélesség
  • longitude (Number): GPS hosszúság
  • altitude (Number): Magasság méterben
  • course (Number): Haladási irány fokokban (0–360)
  • courseAccuracy (Number): Irány mérés pontossága fokokban
  • horizontalAccuracy (Number): Vízszintes helyzetpontosság méterben
  • verticalAccuracy (Number): Függőleges helyzetpontosság méterben
  • timestamp (Date): Amikor a helyszín rögzült
  • speed (Number): Sebesség méter/másodpercben
  • speedAccuracy (Number): Sebességmérés pontossága m/s-ban

Metaadatok

{
  "metadata": {
    "customField": {
      "label": "value",
      "quantity": 123
    },
    "anotherField": [
      1,
      2,
      3
    ]
  }
}
  • metadata (Object): Az edzéshez kapcsolódó további egyéni metaadatok

Események, tevékenységek és szakaszok

A 2. verziójú JSON- és Markdown-exportok tartalmazhatnak az edzésalkalmazás által rögzített events, segments, laps és activities adatokat. Ezek akkor is elérhetők, ha az Edzésmetrikák felvétele ki van kapcsolva. A CSV és a GPX nem tartalmazza ezeket a rekordokat.

Ha az Edzésmetrikák felvétele be van kapcsolva, és a releváns metrikák ki vannak választva, az intervallumok távolságot, aktív energiát, pulzusösszefoglalókat, valamint aktív idejű tempót vagy sebességet is tartalmazhatnak. Az értékek megkülönböztetik a rögzített méréseket a becslésektől; a hiányzó értékek kimaradnak.

Ha a távolság ki van választva, a splits becsült kilométer- és mérföldszakaszokat tartalmazhat. Ezek eltérhetnek a rögzítő alkalmazás szakaszaitól, és az utolsó szakasz részlegesként jelölődik, ha rövidebb a céltávolságnál. Hiányzó távolságleolvasások vagy nem támogatott edzéstípusok megakadályozhatják a szakaszok kiszámítását.

Edzés erőfeszítés-pontszámok

A 2. verziójú JSON- és Markdown-exportok tartalmazhatnak kiválasztott Edzés erőfeszítés-pontszám (effortScore) és Becsült edzés erőfeszítés-pontszám (estimatedEffortScore) értékeket. Mindegyik objektum qty és units: "appleEffortScore" mezőkkel.

A pontszámokhoz iOS 18 vagy újabb, valamint a megfelelő adatokhoz való hozzáférés szükséges az Apple Healthben. A teljes edzés és a tevékenység pontszámai külön állnak. Függetlenek az Időcsoportosítástól és az Edzésmetrikák felvétele beállítástól; a CSV nem tartalmazza őket.

A Böngészés → Edzések menüpontban nyissa meg a lista exportlapját vagy egy edzés 2. verziójú exportbeállításait, majd használja az Exportmezők kiválasztása lehetőséget az erőfeszítés-pontszámok kiválasztásához az export előtt.

Edzésmetrikák időcsoportosítása

Ha a 2. exportverziót használja, és az „Edzésmetrikák felvétele” engedélyezve van, szabályozhatja az idősoros adatok részletességét:

  • Percek: Az edzésmetrikákat óraminutákra csoportosítja. Az első és utolsó perc tartalmazhat néhány másodpercet közvetlenül az edzés kezdete előtt vagy után.
  • Másodpercek: Az edzésmetrikákat óramásodpercekre csoportosítja; minden időbélyeg a másodperc kezdetét jelöli. Az első és utolsó másodperc tartalmazhatja az edzésen kívüli másodperc törtrészét. A fájlok nagyobbak, mint perces csoportosításnál.

Az aktív és pihenő kalóriák ugyanazokat a kombinált összegeket használják, mint más edzésmetrikák minden időcsoportban. Több eszköz vagy alkalmazás leolvasásai együtt szerepelnek.

Edzések 1. verzió (Legacy)

Az 1. verzió egyszerűbb szerkezetet használ. Új exportokhoz a 2. verzió ajánlott.

1. verzió szerkezete

{
  "name": "Running",
  "start": "2024-02-06 07:00:00 -0800",
  "end": "2024-02-06 07:30:00 -0800",
  "totalEnergy": {
    "qty": 450,
    "units": "kcal"
  },
  "activeEnergy": {
    "qty": 350,
    "units": "kcal"
  },
  "distance": {
    "qty": 3.5,
    "units": "mi"
  },
  "heartRateData": [
    {
      "date": "2024-02-06 07:00:00 -0800",
      "qty": 150,
      "units": "bpm"
    }
  ],
  "route": [
    {
      "lat": 37.7749,
      "lon": -122.4194,
      "altitude": 50.5,
      "timestamp": "2024-02-06 07:00:00 -0800"
    }
  ]
}

Kapcsolódó dokumentáció