Antrenmanlar - JSON Dışa Aktarma Formatı
JSON dışa aktarmalarda antrenman yapısı hakkında dokümantasyon
Last updated: February 6, 2026
On this page
Antrenmanlar
Antrenman verileri, Apple Health'te kaydedilen koşu, bisiklet, yüzme, kuvvet antrenmanı ve daha fazlası gibi tüm egzersiz seanslarınızı içerir. JSON dışa aktarmalarda antrenmanlar workouts dizisinde saklanır.
Dışa Aktarma Sürümleri
Health Auto Export iki antrenman dışa aktarma sürümünü destekler:
- Sürüm 2 (Önerilen): Daha ayrıntılı metadata ve yapılandırılmış verilerle geliştirilmiş format
- Sürüm 1 (Legacy): Mevcut iş akışlarıyla uyumluluk için korunan eski format
Antrenmanlar Sürüm 2
Sürüm 2, yalnızca veriler mevcut olduğunda dahil edilen isteğe bağlı alanlarla kapsamlı bir yapı sağlar.
Temel Yapı
{
"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
}
Gerekli Alanlar
id(String): Antrenman için benzersiz tanımlayıcıname(String): Antrenman türü adı (örn: "Running", "Cycling", "Swimming")start(Date): Antrenmanın başlangıç saatiyyyy-MM-dd HH:mm:ss Zformatındaend(Date): Antrenmanın bitiş saatiyyyy-MM-dd HH:mm:ss Zformatındaduration(Number): Antrenman süresi saniye cinsinden
İsteğe Bağlı Alanlar
Aşağıdaki alanlar yalnızca veriler mevcut olduğunda dahil edilir:
Konum Bilgileri
{
"location": "Outdoor",
"isIndoor": false
}
location(String):"Indoor","Outdoor","Pool","Open Water"değerlerinden biriisIndoor(Boolean): Antrenmanın kapalı alanda yapılıp yapılmadığı
Enerji ve Yoğunluk
{
"activeEnergyBurned": {
"qty": 350,
"units": "kcal"
},
"totalEnergy": {
"qty": 450,
"units": "kcal"
},
"intensity": {
"qty": 8.5,
"units": "MET"
}
}
activeEnergyBurned(Object): Antrenman sırasında yakılan aktif kalorilertotalEnergy(Object): Yakılan toplam kaloriler (aktif + dinlenme)intensity(Object): Görevin metabolik eşdeğeri (MET) değeri
Mesafe ve Hız
{
"distance": {
"qty": 3.5,
"units": "mi"
},
"speed": {
"qty": 7.0,
"units": "mph"
},
"avgSpeed": {
"qty": 7.0,
"units": "mph"
},
"maxSpeed": {
"qty": 8.5,
"units": "mph"
}
}
distance(Object): Kat edilen toplam mesafespeed(Object): Mevcut veya ortalama hızavgSpeed(Object): Antrenman boyunca ortalama hızmaxSpeed(Object): Ulaşılan maksimum hız
Birimler:
- Mesafe:
"mi"(mil) veya"km"(kilometre) - Hız:
"mph"(saatte mil) veya"kmph"(saatte kilometre)
Yükseklik
{
"elevationUp": {
"qty": 500,
"units": "ft"
},
"elevationDown": {
"qty": 450,
"units": "ft"
}
}
elevationUp(Object): Toplam kazanılan yükseklikelevationDown(Object): Toplam kaybedilen yükseklik
Birimler: "ft" (fit) veya "m" (metre)
Çevresel Veriler
{
"temperature": {
"qty": 72,
"units": "degF"
},
"humidity": {
"qty": 65,
"units": "%"
}
}
temperature(Object): Antrenman sırasında ortam sıcaklığıhumidity(Object): Bağıl nem yüzdesi
Sıcaklık Birimleri: "degF" (Fahrenheit) veya "degC" (Celsius)
Yüzme Özel Alanlar
{
"lapLength": {
"qty": 0.025,
"units": "mi"
},
"strokeStyle": "Freestyle",
"swolfScore": 45,
"salinity": "Fresh Water",
"totalSwimmingStrokeCount": {
"qty": 1200,
"units": "count"
},
"swimCadence": {
"qty": 30,
"units": "spm"
}
}
lapLength(Object): Her kulvarın uzunluğustrokeStyle(String): Şunlardan biri:"Backstroke""Breaststroke""Butterfly""Freestyle""Mixed""Kickboard""Unknown"
swolfScore(Number): Yüzme verimlilik skorusalinity(String):"Fresh Water"veya"Salt Water"totalSwimmingStrokeCount(Object): Toplam kol çekişi sayısıswimCadence(Object): Dakikadaki kol çekişi
Adım ve Kadans Verileri
{
"stepCount": [
{
"date": "2024-02-06 07:00:00 -0800",
"qty": 5000,
"units": "count",
"source": "Apple Watch"
}
],
"stepCadence": {
"qty": 180,
"units": "spm"
},
"flightsClimbed": {
"qty": 10,
"units": "count"
}
}
stepCount(Array): Zaman içinde adım sayısı ölçümlerinin dizisistepCadence(Object): Dakikadaki adım sayısıflightsClimbed(Object): Çıkılan merdiven kat sayısı
Kalp Atış Hızı Verileri
{
"heartRate": {
"min": {
"qty": 120,
"units": "bpm"
},
"avg": {
"qty": 150,
"units": "bpm"
},
"max": {
"qty": 175,
"units": "bpm"
}
},
"maxHeartRate": {
"qty": 175,
"units": "bpm"
},
"avgHeartRate": {
"qty": 150,
"units": "bpm"
},
"heartRateData": [
{
"date": "2024-02-06 07:00:00 -0800",
"Min": 120,
"Avg": 150,
"Max": 175,
"units": "bpm",
"source": "Apple Watch"
}
],
"heartRateRecovery": [
{
"date": "2024-02-06 07:30:00 -0800",
"Min": 140,
"Avg": 145,
"Max": 150,
"units": "bpm",
"source": "Apple Watch"
}
]
}
heartRate(Object): Min, ortalama ve maksimum kalp atış hızı ile özetmaxHeartRate(Object): Antrenman sırasında maksimum kalp atış hızıavgHeartRate(Object): Antrenman sırasında ortalama kalp atış hızıheartRateData(Array): Antrenman boyunca detaylı kalp atış hızı ölçümleriheartRateRecovery(Array): Toparlanma dönemindeki kalp atış hızı ölçümleri
Zaman Serisi Veri Dizileri
"Antrenman Metriklerini Dahil Et" etkinleştirildiğinde birçok metrik zaman serisi dizileri olarak dahil edilebilir:
{
"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": "rpm",
"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": "mph",
"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 Yapısı:
date(Date): Ölçümün zaman damgasıqty(Number): Miktar değeriunits(String): Ölçü birimisource(String, isteğe bağlı): Veri kaynağı cihaz veya uygulama
HeartRateData Yapısı:
date(Date): Ölçümün zaman damgasıMin(Number): Minimum kalp atış hızıAvg(Number): Ortalama kalp atış hızıMax(Number): Maksimum kalp atış hızıunits(String): Birim (genellikle "bpm")source(String, isteğe bağlı): Veri kaynağı cihaz veya uygulama
Rota Verileri
"Rota Verilerini Dahil Et" etkinleştirildiğinde ve antrenmanın GPS verileri olduğunda:
{
"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
}
]
}
Konum Alanları:
latitude(Number): GPS enlem koordinatılongitude(Number): GPS boylam koordinatıaltitude(Number): Metre cinsinden yükseklikcourse(Number): Derece cinsinden seyahat yönü (0-360)courseAccuracy(Number): Kurs ölçümünün doğruluğu derece cinsindenhorizontalAccuracy(Number): Metre cinsinden yatay konum doğruluğuverticalAccuracy(Number): Metre cinsinden dikey konum doğruluğutimestamp(Date): Konumun kaydedildiği zamanspeed(Number): Saniyede metre cinsinden hızspeedAccuracy(Number): Hız ölçümünün doğruluğu m/s cinsinden
Metadata
{
"metadata": {
"customField": "value",
"anotherField": 123
}
}
metadata(Object): Antrenmanla ilişkili ek özel metadata
Antrenmanlar Sürüm 1 (Legacy)
Sürüm 1 daha basit bir yapı kullanır. Yeni dışa aktarmalar için Sürüm 2 önerilir.
Sürüm 1 Yapısı
{
"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": "count"
}
],
"route": [
{
"lat": 37.7749,
"lon": -122.4194,
"altitude": 50.5,
"timestamp": "2024-02-06 07:00:00 -0800"
}
]
}
Antrenman Metrikleri Zaman Gruplandırması
Dışa Aktarma Sürüm 2 kullanılırken ve "Antrenman Metriklerini Dahil Et" etkinleştirildiğinde, zaman serisi verilerinin ayrıntı düzeyini kontrol edebilirsiniz:
- Dakikalar: Antrenman metriklerini dakika aralıklarına göre gruplar
- Saniyeler: Antrenman metriklerini saniye aralıklarına göre gruplar (daha ayrıntılı, daha büyük dosya boyutu)
İpuçları
- Rota Verilerini Dahil Et: Açık hava antrenmanları için GPS rota bilgilerini almak için bu seçeneği etkinleştirin
- Antrenman Metriklerini Dahil Et: Kalp atış hızı, güç ve kadans gibi metrikler için ayrıntılı zaman serisi verilerini almak için bunu etkinleştirin
- Dışa Aktarma Sürümü: En kapsamlı veri yapısı için Sürüm 2'yi kullanın
- GPX Dışa Aktarma: Rota verileri haritalama uygulamalarında kullanılmak üzere ayrı GPX dosyaları olarak da dışa aktarılabilir