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. Cihazlar arasında veri senkronizasyonu ve aktarımı yapmanın bir yoludur.
Not: Bu API yalnızca Wear OS kol saatlerinde ve eşlenmiş Android cihazlarda kullanılabilir. iOS telefonlarla eşlenen Wear OS kol saatlerinde uygulamalar, internet bağlantısı varsa diğer bulut tabanlı API'leri sorgulayabilir. Bu diğer API'ler hakkında daha fazla bilgi için Wear OS'te ağ erişimi ve senkronizasyon sayfasını ziyaret edin.
Dikkat: Veri katmanı API'leri, avuç içi cihazlar ve giyilebilir cihazlar arasında iletişim kurmak için tasarlandığından bu cihazlar arasında iletişim kurmak için kullanabileceğiniz tek API'lerdir. Örneğin, iletişim kanalı oluşturmak için alt düzey soketler açmaya çalışmayın.
Yaygın kullanım alanları
Etkileşim yalnızca kol saati ile telefon arasında olduğunda Data Layer API'yi kullanın. Örneğin:
- Uzaktan Kumanda: Saat, telefon için uzaktan kumanda görevi görür (ör. telefonda çalışan bir müzik çaları kontrol etme, sunu slaytlarını değiştirme, kamera deklanşörü olarak çalışma).
- Elde Taşınır Cihazda Uygulama Başlatma: "Telefonda Aç" düğmesi özelliği.
- Kimlik Doğrulama Köprüsü: İlk kurulum sırasında telefondan saate oturum jetonu gönderme.
Birçok yaygın senaryoda mevcut bulut altyapınızı kullanmanız gerekir. Örneğin:
- Verileri kaydetme: Antrenmanlar, notlar.
- İçerik getiriliyor: Geçmiş antrenmanların listesi yükleniyor, müzik indiriliyor, hava durumu bilgileri getiriliyor.
- Senkronizasyon durumu: Kullanıcı profil fotoğrafını web'de değiştirirse saat, telefonu sorgulayarak değil, bulutu kullanarak güncellenir.
Bu senaryolarda, Data Layer API yerine kendi mevcut uç noktalarınızı ve altyapınızı 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ünü aracı olarak kullanarak LTE veya kablosuz gibi kullanılabilir bir ağ üzerinden.
Tüm Veri Katmanı istemcileri, cihazların kullanabileceği bağlantılara bağlı olarak Bluetooth veya bulut üzerinden veri alışverişi yapabilir. 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 şifrelemesini kullanan tek bir şifrelenmiş kanal vardır.
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 el cihazında yüklü aynı uygulama arasında daha güvenli iletişim sağlamak için aşağıdaki kısıtlamaları uygular:
- Paket adı tüm cihazlarda aynı olmalıdır.
- Paketin imzası cihazlar arasında eşleşmelidir.
Bağlantı türü ne olursa olsun 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 yeni 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:20.0.1")
}
İ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şlatma
- Tamamlayıcı uygulamayı başlatın.
Veri katmanına erişme
Data Layer API'yi ç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
İstemci oluşturmak için aşağıdaki örnek koda bakın:
val dataClient = Wearable.getDataClient(this)
val available = try { GoogleApiAvailability.getInstance() .checkApiAvailability(client) .await() true } catch (e: AvailabilityException) { // API is not available in this device. false }
Bağlam, geçerli herhangi 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österilir.
Varsayılan olarak, dinleyicilere yapılan geri çağırmalar uygulamanın ana kullanıcı arayüzü iş parçacığında yapılır. Geri çağırmaların farklı bir ileti dizisinde yapılmasını sağlamak için özel bir Looper belirtmek üzere WearableOptions nesnesi kullanın.
Daha fazla bilgi için WearableOptions.Builder referansına bakın.
İstemci örneklerini gerektiği gibi yeniden oluşturma
DataClient ve MessageClient gibi Wearable API istemcilerini oluşturmak çok kolaydır. Bu nedenle, istemcileri tutmak yerine uygulamanıza uygun stili kullanarak gerektiğinde 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.