Data Katmanlar API'sine genel bakış

Bulut tabanlı düğüm, Google'a ait bir sunucu tarafından kontrol edilir.
Şekil 1. Elde taşınan ve Wear OS cihazların bulunduğu bir düğüm ağı örneği.

Google Play Hizmetleri'nin bir parçası olan Wearable Data Layer API, giyilebilir cihazlar (ör. akıllı saatler) ile bağlı elde taşınabilir cihazlar (genellikle akıllı telefonlar) arasında bir iletişim kanalı sağlar. Bu özellik, cihazlar arasında veri senkronize etme ve aktarma yöntemidir.

Not: Bu API yalnızca Wear OS saatlerde ve eşlenmiş Android cihazlarda kullanılabilir. iOS telefonlarla eşlenen Wear OS saatlerde, internet bağlantısı varsa uygulamalar diğer bulut tabanlı API'leri sorgulayabilir. Bu diğer API'ler hakkında daha fazla bilgi edinmek için Wear OS'te ağ erişimi ve senkronizasyon başlıklı makaleyi inceleyin.

Dikkat: Veri katmanı API'leri, elde taşınan cihazlar ile giyilebilir cihazlar arasındaki iletişim için tasarlandığından bu cihazlar arasında iletişim kurmak için kullanabileceğiniz tek API'ler bunlardır. Örneğin, iletişim kanalı oluşturmak için düşük düzeyli soketler açmaya çalışmayın.

Yaygın kullanım alanları

Veri Katmanı API'si özellikle fitness ve medya kullanım alanlarında yararlıdır.

Fitness uygulamaları

Egzersiz verilerini Wear OS uygulamasından mobil uygulamaya gönderme Fitness uygulamalarının genellikle bir kol saati tarafından kaydedilen egzersiz verilerini mobil uygulamaya veya Health Connect'e yazması gerekir. Verileri aktarmak için Veri Katmanı API'si kullanılıyorsa Health Connect'e yazmak üzere Wear OS uygulamasından mobil uygulamaya egzersiz verileri göndermek için mesaj istemcisi kullanın.

Evde egzersiz yaparken mobil cihaza canlı veri aktarma

Yaygın bir evde egzersiz senaryosu, Wear OS cihazından mobil cihaza kalp atış hızı verilerinin aktarılması ve kullanıcının mobil cihazının ekranında güncel kalp atış hızı bilgilerinin gösterilmesidir. Bu verileri yayınlamak için kanal istemcisi kullanın.

Medya uygulamaları

Bir medya oynatıcıyı saatten telefona duraklatma/devam ettirme/başlatma/bitirme işlemiyle kontrol etmek için mesaj istemcisi kullanın.

İletişim seçenekleri

Veriler aşağıdaki yöntemlerden biriyle aktarılır:

  1. Wear OS cihaz ile başka bir cihaz arasında Bluetooth bağlantısı kurulduğunda doğrudan.
  2. Google'ın sunucularındaki bir ağ düğümü aracılığıyla kullanılabilir bir ağda (ör. LTE veya kablosuz ağ)

Tüm veri katmanı istemcileri, cihazlarda kullanılabilen bağlantılara bağlı olarak Bluetooth veya bulut kullanarak veri alışverişinde bulunabilir. Veri katmanı kullanılarak iletilen verilerin bir noktada Google'a ait sunucuları kullanabileceğini varsayın.

Bluetooth

Cihazlar Bluetooth kullanılarak bağlandığında Data Layer bu bağlantıyı kullanır. Cihazlar arasında, Google Play Hizmetleri tarafından yönetilen standart Bluetooth şifrelemesi kullanılarak tek bir şifrelenmiş kanal bulunur.

Bulut

Bluetooth kullanılamadığında veriler otomatik olarak Google Cloud üzerinden yönlendirilir. Google Cloud üzerinden aktarılan tüm veriler uçtan uca şifrelenir.

İletişim güvenliği

Google Play Hizmetleri, Wear OS cihazda yüklü uygulama ile yakındaki bir elde taşınabilir cihazda yüklü aynı uygulama arasında daha güvenli iletişim sağlamak için aşağıdaki kısıtlamaları uygular:

  • Paket adı, cihazlar arasında eşleşmelidir.
  • Paketin imzası, cihazlar arasında eşleşmelidir.

Bağlantı türü ne olursa olsun, diğer uygulamalar verilere erişemez.

Kurulum

Wearable Data Layer API'nin aşağıdaki bağımlılıkları vardır:

Wear modülünüzün build.gradle dosyasına aşağıdaki bağımlılığı ekleyin:

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:19.0.0")
}

İlk eşleme sürecini kolaylaştırma

Horologist, platform API'lerinin üzerinde çeşitli yardımcı kitaplıklar sağlar. Mobil cihaz ile Wear OS cihaz arasında bağlantı kurulmasına yardımcı olan bir veri katmanı kitaplığı içerir. Ayrıca, aşağıdakileri yapmak için kullanışlı API'ler sağlar:

  • Uygulamayı diğer cihaza yükleyin.
  • Uygulamayı diğer cihazda başlatın.
  • Diğer cihazda belirli bir etkinliği başlatın.
  • Tamamlayıcı uygulamayı başlatın.

Veri katmanına erişme

Veri Katmanı API'sini çağırmak için Wearable sınıfını kullanarak DataClient ve MessageClient gibi çeşitli istemci sınıflarının örneklerini alın.

Daha fazla bilgi için DataLayer örneğine bakın.

Minimal bir istemci kullanma

Müşteri oluşturmak için aşağıdaki örnek koda bakın:

Kotlin

val dataClient: DataClient = Wearable.getDataClient(context)

Java

DataClient dataClient = Wearable.getDataClient(context);

Bağlam, geçerli herhangi bir Android bağlamı olabilir. API'yi Activity kapsamında kullanıyorsanız Wearable sınıfının getDataClient() yöntemini kullanın. Bu sayede, kullanıcının Google Play Hizmetleri sürümünü güncellemesi istendiğinde olduğu gibi belirli etkileşimler bildirim olarak değil, iletişim kutusu olarak gösterilir.

Varsayılan olarak, dinleyicilere yapılan geri aramalar uygulamanın ana kullanıcı arayüzü iş parçacığında yapılır. Geri aramaların farklı bir iş parçacığında yapılmasını sağlamak için özel bir Looper belirtmek üzere WearableOptions nesnesini kullanın:

Kotlin

runBlocking {
    Wearable.getDataClient(context, options)
}

Java

WearableOptions options = new WearableOptions.Builder().setLooper(myLooper).build();
DataClient dataClient = Wearable.getDataClient(context, options);

Daha fazla bilgi için WearableOptions.Builder referansına bakın.

Gerekirse istemci örneklerini yeniden oluşturun.

DataClient ve MessageClient gibi giyilebilir cihaz API istemcilerinin oluşturulması ucuzdur. Bu nedenle, istemcileri tutmak yerine uygulamanıza uygun stili kullanarak ihtiyacınız olduğunda yeniden oluşturun.

Kayıtlı dinleyicilerin kümesi gibi istemci durumu, tüm istemciler arasında paylaşılır ve bir uygulama çalışırken Google Play Hizmetleri güncellenirse korunur.