Google Play Hizmetleri'nin bir parçası olan Wearable Data Layer API, giyilebilir cihazlar (akıllı saatler gibi) ile bağlı el cihazları (genellikle akıllı telefonlar) arasında bir iletişim kanalı sağlar. Bu, cihazlar arasında veri senkronize etme ve aktarma yöntemidir.
Not: Bu API yalnızca Wear OS kol saatlerinde ve eşlenen Android cihazlarda kullanılabilir. iOS telefonlarla eşlenen Wear OS saatlerinde, 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, el cihazları ile giyilebilir cihazlar arasında 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 soket açmaya çalışmayın.
Yaygın kullanım alanları
Veri Katmanı API'si özellikle fitness ve medya kullanım alanları için kullanışlıdır.
Fitness uygulamaları
Wear OS uygulamasından mobil uygulamaya egzersiz verileri gönderme Fitness uygulamalarının, kol saati tarafından yakalanan egzersiz verilerini genellikle bir mobil uygulamaya veya Health Connect'e yazması gerekir. Veri aktarmak için Veri Katmanı API'yi kullanıyorsanız Health Connect'e yazmak amacıyla Wear OS uygulamasından mobil uygulamaya egzersiz verilerini göndermek için bir mesaj istemcisi kullanın.
Evde antrenman yaparken canlı verileri mobil cihaza aktarma
Evde antrenman yaparken sık karşılaşılan bir durum, Wear OS cihazdan mobil cihaza kalp atış hızı verilerinin aktarılması ve kullanıcıya mobil cihazının ekranında güncel kalp atış hızı bilgilerinin gösterilmesidir. Bu verileri aktarmak için bir kanal istemcisi kullanın.
Medya uygulamaları
Bir medya oynatıcıyı kol saatinden 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ı olduğunda doğrudan.
- Google sunucularındaki bir ağ düğümünü aracı olarak kullanarak LTE veya kablosuz ağ gibi kullanılabilir bir ağ üzerinden.
Tüm Veri Katmanı istemcileri, cihazların sahip olduğu bağlantılara bağlı olarak Bluetooth'u veya bulutu kullanarak veri alışverişinde bulunabilir. Veri Katmanı kullanılarak aktarılan verilerin bir noktada Google'a ait sunucuları kullanabileceğini varsayın.
Bluetooth
Cihazlar Bluetooth kullanılarak bağlandığında Veri Katmanı bu bağlantıyı kullanır. Cihazlar arasında, Google Play Hizmetleri tarafından yönetilen standart Bluetooth şifrelemesi kullanılan 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 cihaza yüklenen uygulama ile yakındaki bir el cihazına yüklenen 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ünden bağımsız olarak başka hiçbir uygulamanın verilere erişimi yoktur.
Kurulum
Wearable Data Layer API aşağıdaki bağımlılıklara sahiptir:
- 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 yanı sıra ç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
Data Layer API'yi çağırmak için DataClient
ve MessageClient
gibi çeşitli istemci sınıflarının örneklerini almak üzere Wearable
sınıfını kullanın.
Daha fazla bilgi için DataLayer örneğine bakın.
Minimum istemci kullanın
Müşteri oluşturmak için aşağıdaki örnek koda bakın:
val dataClient: DataClient = Wearable.getDataClient(context)
DataClient dataClient = Wearable.getDataClient(context);
Bağlam, geçerli bir Android bağlamı olabilir. API'yi bir Activity
kapsamında kullanıyorsanız Wearable
sınıfının getDataClient()
yöntemini kullanın. Bu sayede, kullanıcıdan Google Play Hizmetleri sürümünü güncellemesi istendiğinde olduğu gibi belirli etkileşimler bildirim yerine iletişim kutusu olarak gösterilebilir.
Varsayılan olarak, dinleyicilere geri çağrılar uygulamanın ana kullanıcı arayüzü iş parçacığında yapılır. Geri çağırmaların farklı bir mesaj dizisinde yapılmasını istiyorsanız özel bir Looper
belirtmek için bir WearableOptions
nesnesi kullanın:
runBlocking { Wearable.getDataClient(context, options) }
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 API istemcilerinin oluşturulması maliyetli değildir. Bu nedenle, istemcileri saklamak yerine, uygulamanıza uygun stili kullanarak ihtiyaç duyduğunuzda yeniden oluşturun.
Kayıtlı dinleyiciler grubu gibi istemci durumu tüm istemciler arasında paylaşılır ve bir uygulama çalışırken Google Play Hizmetleri güncellenirse korunur.