HealthKit, aynı aktivitenin birden fazla kaynak tarafından kaydedilmesini nasıl çözer?


7

Birden fazla "kaynak" kayıtlı olduğunda ne olur? HealthKit aynı etkinliği izler?

Örneğin, varsa İnsan etkinliğimi genel olarak izliyor ve sonra Cyclemeter (10.3 versiyonunda HealthKit'i destekler) belirli bisiklet sürüsünü izlemek için her ikisi de aynı etkinliği HealthKit'e sunacağını (sanırım). Muhtemelen HealthKit'in bu aktivitelerin muhtemel kopyalar olduğunu fark etmesi ve en azından "çoğaltmanın" nasıl çözüleceğini sorması (senkronizasyon çatışmaları çözüldüğü sürece) sorması mümkün olmalı. Aslında, faaliyetler bu tanımanın genellikle otomatik olarak gerçekleştirilebilmesi için yeterli veri içermektedir.

HealthKit bunu yapar mı? Aynı etkinliğin yinelenen kayıtlarını (otomatik veya yarı otomatik olarak) çözüyor mu?


Bu, Cyclemeter 10.3 henüz uygulama mağazasına bırakılmadığından erken olabilir. Apple, 8.0.2 iOS sürümüyle sağlık seti kodunu açıkça değiştiriyor.
bmike

@bmike: Cyclemeter sadece bir örnek: soru iki veya daha fazla kaynak için geçerli.
orome

AFAIK var sıfır App Store'daki sağlık kitine veri enjekte eden uygulamalar, bu yüzden benim önerim erken. Geliştiricilerin Haziran’dan beri Apple’ın işlerin nasıl kodlandığını bildiğinden eminim, ancak kod caddelere isabet edene kadar Apple’ın gerçekte ne kodladığını ve yayınladığını bilemeyiz. Tahminim, verilerin etiketleneceği alan adını ters çevir ve birleşme olmadan iki farklı veri kümesi elde edersiniz - fakat bu sadece bu noktada işe yarar.
bmike

@bmike: Birkaç uygulama şimdi (8.0.2) HealthKit ile kaynak olarak çalışmaktadır. App mağazasını kontrol et.
orome

Neden daha sonra sorunuza göre çalışan belirli uygulamalarda düzenleme yapmıyorsunuz?
bmike

Yanıtlar:


9

HealthKit verilerinizle oldukça akıllı. Sağlık uygulamasındaki her kaynak için fark uygulamalarının önceliğini ayarlayabilirsiniz. Sağlık uygulamasındaki metriklerden birine dokunun Verileri paylaşın & gt; Düzenle Kaynakları doğru sırada sürüklemek için.

Diğer uygulamalar veri isterse, HealthKit muhtemelen zaman damgalarına göre veri kümelerini otomatik olarak birleştirir. Öncelikle yüksek öncelikli uygulamayı seçer ve verilerdeki boşlukları 2 numaralı uygulama vb. İle doldurur.

Bu WWDC almak için harika bir başlangıç ​​olurdu tam bir genel bakış .


2

Araştırdığım kadarıyla Paul Veugen'in cevabı sadece kısmen doğrudur. HKStatisticsQuery veya HKStatisticsCollectionQuery kullanıyorsanız, HealthKit bu Verileri birleştirir. Aksi takdirde, sonuçları birleştirmek / tekilleştirmek için bir mantık sağlamak size bağlı olacaktır.

Olası bir çözüm, farklı kaynakları tanımlamak için HKSourceQuery kullanmak ve örneğin; sadece birini seç.

Bir diğeri, HKQuery'nin sonuçlarında kaynağa HKSourceRevision aracılığıyla erişmek ve yalnızca bir kaynaktan verileri almak veya farklı kaynaklardan verileri karşılaştırmayı denemek olabilir. İOS 9.3'ten, HKDevice kullanarak farklı kaynak cihazlara erişme imkanı da vardır.

Bir cihazı almak her zaman sizi, bir kullanıcının cihazı istenen zaman diliminde kısmen kullanmaması, eksik veri noktalarına neden olacak şekilde bırakacaktır.

Bu priorising sonuçları nedeniyle, talep edilen veriler Sağlık'ta kullanıcı tarafından tanımlanan kaynak önceliğine göre sıralanacaksa Apple belgelenmediğinden, hala acı verici kalacaktır.

Bunu söyleyerek, kopyaları tanımlamak için çakışan tarih aralıklarına bakmaya değer olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.