Meta veri gereksinimleri

Bu kılavuz, Health Connect 1.1.0-alpha12 sürümüyle uyumludur.

1.1.0-alpha12 sürümüne yükseltmeyi seçen geliştiriciler için Health Connect'teki meta verilerde değişiklikler yapıldı.

Kitaplık bilgileri

Google Maven Android Gradle eklentisi yapı kimliği, yükseltmeniz gereken Health Connect kitaplığını tanımlar. Modül düzeyindeki build.gradle dosyanıza şu Health Connect SDK bağımlılığını ekleyin:

dependencies {
  implementation "androidx.health.connect:connect-client:1.1.0-alpha12"
}

Meta veri değişiklikleri

Ekosistemde ek yararlı meta verilerin bulunduğundan emin olmak için 1.1.0-alpha12 sürümü itibarıyla Health Connect Jetpack SDK'da iki meta veri değişikliği yapıldı.

Record() türündeki bir nesne oluşturulduğunda meta veri ayrıntılarını belirtmeniz gerekir.

Health Connect'e veri yazarken dört kayıt yönteminden birini belirtmeniz gerekir:

Kayıt yöntemi Açıklama
RECORDING_METHOD_UNKNOWN Kayıt yöntemi doğrulanamıyor.
RECORDING_METHOD_MANUAL_ENTRY Kullanıcı verileri girdi.
RECORDING_METHOD_AUTOMATICALLY_RECORDED Veriler bir cihaz veya sensör tarafından kaydedildi.
RECORDING_METHOD_ACTIVELY_RECORDED Kullanıcı, bir cihazda kayıt oturumunun başlangıcını veya sonunu başlattı.

Örnek:

StepsRecord(
    startTime \= Instant.ofEpochMilli(1234L),
    startZoneOffset \= null,
    endTime \= Instant.ofEpochMilli(1236L),
    endZoneOffset \= null,
    metadata \= Metadata.manualEntry(),
    Count \= 10,
)

Otomatik olarak ve etkin olarak kaydedilen tüm veriler için bir cihaz türü belirtmeniz gerekir. Mevcut cihaz türleri şunlardır:

Cihaz türü Açıklama
TYPE_UNKNOWN Cihazın türü bilinmiyor.
TYPE_WATCH Cihaz türü kol saatidir.
TYPE_PHONE Cihaz türü telefon.
TYPE_SCALE Cihaz türü bir ölçektir.
TYPE_RING Cihaz türü bir yüzük.
TYPE_HEAD_MOUNTED Cihaz türü, kafaya takılan bir cihazdır.
TYPE_FITNESS_BAND Cihaz türü bir fitness bandı.
TYPE_CHEST_STRAP Cihaz türü göğüs kemeridir.
TYPE_SMART_DISPLAY Cihaz türü akıllı ekrandır.

Örnek:

private val TEST_DEVICE = Device(type = Device.TYPE_PHONE)

Snippet'ler güncellendi

Health Connect kılavuzları, yeni meta veri şartlarına uymak için yeni snippet'lerin gerekli olduğu yerlerde güncellendi. Bazı örnekler için Veri Yazma sayfasına bakın.

Yeni meta veri yöntemleri

Meta veriler artık doğrudan örneklenemez. Bu nedenle, yeni bir meta veri örneği almak için fabrika yöntemlerinden birini kullanın. Her işlevin üç imza varyantı vardır:

  • activelyRecorded

    • fun activelyRecorded(device: Device): Metadata.
    • fun activelyRecorded(clientRecordId: String, clientRecordVersion: Long = 0, device: Device): Metadata
    • fun activelyRecordedWithId(id: String, device: Device): Metadata
  • autoRecorded

    • fun autoRecorded(device: Device): Metadata
    • fun autoRecorded(clientRecordId: String, clientRecordVersion: Long = 0, device: Device): Metadata
    • fun autoRecordedWithId(id: String, device: Device): Metadata
  • manualEntry

    • fun manualEntry(device: Device? = null): Metadata
    • fun manualEntry(clientRecordId: String, clientRecordVersion: Long = 0, device: Device? = null): Metadata
    • fun manualEntryWithId(id: String, device: Device? = null): Metadata
  • unknownRecordingMethod

    • fun unknownRecordingMethod(device: Device? = null): Metadata
    • fun unknownRecordingMethod(clientRecordId: String, clientRecordVersion: Long = 0, device: Device? = null): Metadata
    • fun unknownRecordingMethodWithId(id: String, device: Device? = null): Metadata

Daha fazla bilgi için Android Açık Kaynak Projesi'ne bakın.

Test verileri

Beklenen meta veri değerlerini taklit etmek için Test Kitaplığı'nı kullanın:

private val TEST_METADATA =
    Metadata.unknownRecordingMethod(
        clientRecordId = "clientId",
        clientRecordVersion = 1L,
        device = Device(type = Device.TYPE_UNKNOWN),
    ).populatedWithTestValues(id = "test")

Bu, Health Connect uygulamasının davranışını simüle eder. Bu uygulama, kayıt ekleme sırasında bu değerleri otomatik olarak doldurur.

Test kitaplığı için modül düzeyindeki build.gradle dosyanıza şu Health Connect SDK bağımlılığını eklemeniz gerekir:

dependencies {
  testImplementation "androidx.health.connect:connect-testing:1.0.0-alpha02"
}

Kitaplığı yükseltme

Uygulamanız gereken ana adımlar şunlardır:

  1. Kitaplığınızı 1.1.0-alpha12 sürümüne yükseltin.

  2. Kitaplık oluşturulurken yeni meta verilerin gerekli olduğu durumlarda derleme hataları oluşur. Bu nedenle, Record() türü bir nesne oluşturulduğunda gerekli meta veri değişikliklerini uyguladığınızdan emin olun. Bu işlemle taşıma işlemi tamamlanır.