Wear OS by Google ile saatin verileri göndermek ve senkronize etmek için birden fazla yolu vardır. Uygulamanın bağımsız bir uygulama olarak kabul edilebilmesine olanak tanıdığından verileri doğrudan ağ üzerinden gönderip senkronize etmenizi öneririz.
Doğrudan ağdan veri gönderin ve senkronize edin
Doğrudan ağla iletişim kurmak için Wear OS uygulamaları oluşturun. Mobil geliştirme için kullandığınız API'lerin aynısını kullanabilirsiniz ancak Wear-OS'a özgü bazı farkları aklınızda bulundurun.
Giyilebilir Veri Katmanı API'si ile veri gönderme ve senkronize etme
Google Play Hizmetleri'nin bir parçası olan Giyilebilir Veri Katmanı API'si, uygulamalar için isteğe bağlı bir iletişim kanalı sağlar.
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.
Giyilebilir Veri Katmanı API'sinin 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:18.1.0' }
Giyilebilir uygulamaların doğrudan bir ağdan veya bağlı telefondan veri gönderip senkronize etmesini öneririz. Ancak, cihazlar arasında RPC türü biçimde doğrudan iletişim kurmak istiyorsanız veya veriler için doğrudan bir ağa bağlanamıyorsanız Wearable Data layer API'yi aşağıdaki şekillerde kullanabilirsiniz.
- Uzaktan kumanda özelliklerini tanıtma ve sorgulama
-
CapabilityClient
, Wear OS ağındaki hangi düğümlerin hangi özel uygulama özelliklerini desteklediği hakkında bilgi verir. Düğümler, ağa bağlı olan hem mobil hem de giyilebilir cihazları temsil eder. Özellikler, bir uygulamanın derleme sırasında tanımladığı veya çalışma zamanında dinamik olarak yapılandırdığı bir özelliktir. - Örneğin, bir mobil Android uygulaması video oynatma işlevi için uzaktan kumandayı desteklediğini
duyurabilir. Söz konusu uygulamanın giyilebilir sürümü yüklendiğinde, uygulamanın mobil sürümünün yüklü olup olmadığını ve bu özelliği destekleyip desteklemediğini kontrol etmek için
CapabilityClient
öğesini kullanabilir. Çalışıyorsa giyilebilir uygulama, diğer cihazda bir mesaj kullanarak videoyu kontrol etmek için oynat/duraklat düğmesini gösterebilir. - Bu, desteklediği giyilebilir uygulama listeleme özellikleriyle birlikte tam tersi yönde de çalışabilir.
- Mesaj gönderme
-
MessageClient
mesaj gönderebilir ve uzaktan işlem çağrıları (RPC) için kullanışlıdır. Örneğin, avuç içi cihazda medya oynatıcıyı giyilebilir cihazdan kontrol etme veya giyilebilir cihazdan intent başlatma gibi işlemler için uygundur. Mesajlar, tek yönlü istekler veya istek ya da yanıt iletişim modeli için de idealdir. - El cihazı ve giyilebilir cihaz birbirine bağlıysa sistem, mesajı teslim edilmek üzere sıraya alır ve başarılı bir sonuç kodu döndürür. Cihazlar bağlı değilse bir hata döndürülür. Sonuç kodu alındıktan sonra cihazların bağlantısı kesilebileceği için başarılı bir sonuç kodu mesajın başarıyla teslim edildiğini göstermez.
- Verileri aktar
-
ChannelClient
, bir el kamerasından giyilebilir bir cihaza veri aktarabilir.ChannelClient
ile şunları yapabilirsiniz:DataItem
nesnelerine bağlıAsset
nesneleri kullanılırken otomatik senkronizasyon sağlanmadığında internet kullanılamadığında veri dosyalarını iki veya daha fazla bağlı cihaz arasında aktarın.ChannelClient
,DataClient
boyunca disk alanından tasarruf eder. Bu sayede, bağlı cihazlarla senkronizasyon gerçekleştirmeden önce öğelerin yerel cihazda bir kopyası oluşturulur.MessageClient
kullanarak, güvenle gönderilemeyecek kadar büyük bir dosya gönderin.- Mikrofondan gelen ses verileri gibi akışlı verileri aktarın.
- Verileri senkronize etme
DataClient
, bileşenlerinDataItem
veyaAsset
üzerinde okuması ya da yazması için bir API sunar.-
DataItem
, Wear OS ağındaki tüm cihazlarda senkronize edilir. Herhangi bir düğüme bağlı değilken veri öğelerini ayarlamak mümkündür. Bu veri öğeleri, düğümler online olduğunda senkronize edilir. - Veri öğeleri, onları oluşturan uygulamaya özeldir ve yalnızca bu uygulama tarafından diğer düğümlerdeki verilere erişilebilir. Bunların boyutu genellikle küçüktür. Görüntüler gibi daha büyük ve daha kalıcı veri nesnelerinin aktarımı için
Assets
kullanın. - Wear OS, bir avuç içi cihaza bağlı birden fazla giyilebilir cihazı destekler. Örneğin, kullanıcı avuç içi cihazına bir not kaydettiğinde bu not, kullanıcının tüm Wear OS cihazlarında otomatik olarak görünür. Google'ın sunucuları, verilerin cihazlar arasında senkronize edilmesine yardımcı olmak için cihaz ağında bir bulut düğümü barındırır. Sistem, verileri doğrudan bağlı cihazlara, bulut düğümüne ve kablosuz ağ aracılığıyla bulut düğümüne bağlı giyilebilir cihazlara senkronize eder.
- Önemli veri katmanı etkinliklerini dinleme (hizmetler için)
- Genişletme
WearableListenerService
, bir hizmetteki önemli veri katmanı etkinliklerini dinlemenize olanak tanır. Sistem,WearableListenerService
öğesinin yaşam döngüsünü yönetir. Veri öğeleri veya mesajlar göndermesi gerektiğinde hizmete bağlanır ve hiçbir işe gerek kalmadığında hizmetin bağlantısını kaldırır. - Önemli veri katmanı etkinliklerini dinleme (ön plan etkinlikleri için)
-
Bir etkinliğe
OnDataChangedListener
uygulamak, bir etkinlik ön plandayken önemli veri katmanı etkinliklerini dinlemenizi sağlar.WearableListenerService
yerine bunu kullanırsanız değişiklikleri yalnızca kullanıcı uygulamanızı etkin olarak kullanırken dinleyebilirsiniz.
Uyarı: Bu API'ler avuç içi cihazlar ve giyilebilir cihazlar arasında iletişim için tasarlandığından, bu cihazlar arasında iletişimi ayarlamak için yalnızca bu API'leri kullanabilirsiniz. Örneğin, bir iletişim kanalı oluşturmak için alt düzey prizler açmaya çalışmayın.
Müşteri karşılaştırması
Aşağıdaki tabloda her istemci için farklı gereksinimler ve kullanım alanları gösterilmektedir.
Veri İstemcisi | İleti İstemcisi | Kanal Müşterisi | |
100 KB'tan büyük veri boyutu | Evet | Hayır | Evet |
Bağlı olmayan düğümlere mesaj gönderebilir | Evet | Hayır | Hayır |
İletişim düzeni | Paylaşılan ağ tabanlı kaynak | 1:1 mesaj geçişi (yanıtla birlikte) | 1:1 akış |
Bağlantı
Veri Katmanı'nda iletişim için iki seçenek bulunur:
- Saat ile başka bir cihaz arasında Bluetooth bağlantısı kurulduğunda doğrudan veri alışverişi yapın.
- LTE veya kablosuz gibi kullanılabilir bir ağ üzerinden veri alışverişi.

Tüm Veri Katmanı istemcileri, cihazlara kullanılabilen bağlantılara bağlı olarak Bluetooth'u veya Google Cloud Sync'i kullanarak veri değiş tokuşu yapabilir. Cloud Sync Hizmeti, Bluetooth'un kullanılamadığı durumlarda giyilebilir cihazlar ve telefonlar arasında iletişim ve veri alışverişi için Google'ın kullandığı mekanizmadır.
Güvenlik
Hem Bluetooth hem de Cloud Sync Hizmeti gibi iletişim seçenekleri uçtan uca şifrelenir.
Google Play Hizmetleri, telefon ile saat arasındaki iletişimin güvenli ve uygulamadan uygulamaya güvenli olmasını sağlamak için aşağıdaki kısıtlamaları uygular.
- Paket adı tüm cihazlarda eşleşmelidir.
- Paketin imzası tüm cihazlarda eşleşmelidir.
Bluetooth
Cihazlar Bluetooth ile bağlandığında Veri Katmanı bu bağlantıyı kullanır. Bluetooth kullanılırken cihazlar arasında Google Play Hizmetleri tarafından yönetilen ve standart Bluetooth şifrelemesi kullanılan tek bir şifrelenmiş kanal olur.
Bulut
Veri Katmanı kullanılarak iletilen verilerin bir noktada Google'a ait sunucuları kullanabileceğini varsayın. Örneğin DataClient
, MessageClient
veya ChannelClient
, Bluetooth kullanılamadığında Google bulutu üzerinden otomatik olarak yönlendirilir.
Google Cloud üzerinden aktarılan tüm veriler uçtan uca şifrelenir.
Anahtar oluşturma ve depolama
Bulut tabanlı iletişim için uçtan uca anahtarlar telefon tarafından oluşturulur ve iki cihaz Bluetooth aracılığıyla bağlandığında doğrudan kol saatiyle değiştirilir. Bu işlem, cihazın kurulumu sırasında yapılır. Google'ın sahip olduğu sunucular bu anahtarları hiçbir zaman almaz.
Uçtan uca anahtar oluşturma işlemi tamamlanana kadar Google'a ait sunucular aracılığıyla iletişim kurulamaz. Anahtarlar, eşlenen tüm cihazlarda Google Play Hizmetleri'nin özel dosya depolama alanında saklanır.
Cihaz yedeği
Anahtarlar yedeklenmez ve cihazdan dışarı çıkmaz. Yeni bir telefon gibi yeni anahtarlar gerekiyorsa sistem yeni anahtarlar oluşturur ve bunları kullanıcının hâlâ sahip olduğu cihazlarla paylaşır.