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:
- Wear OS cihaz ile başka bir cihaz arasında Bluetooth bağlantısı kurulduğunda doğrudan.
- 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:
- Google Play Hizmetleri'nin en son sürümü.
- Wear OS cihaz veya Wear OS emülatö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.