Data Katmanlar API'sine genel bakış

Bulut tabanlı düğüm, Google'a ait bir sunucu tarafından kontrol edilir.
Şekil 1. Elde taşınabilir 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ı

Etkileşim yalnızca kol saati ile telefon arasındaysa Data Layer API'yi kullanın. Örneğin:

  • Uzaktan Kumanda: Kol saati, telefon için uzaktan kumanda görevi görür (ör. telefonda çalışan bir müzik oynatıcıyı kontrol etme, sunuyu kaydırma, kamera deklanşörü olarak kullanma).
  • Elde taşınabilir cihazlarda uygulama başlatma: "Telefonda aç" düğmesi özelliği.
  • Kimlik Doğrulama Köprüleme: İlk kurulum sırasında telefondan kol saatine oturum jetonu gönderme.

Birçok yaygın senaryoda bunun yerine mevcut bulut altyapınızı kullanmanız gerekir. Örneğin:

  • Veri Kaydetme: Antrenmanlar, notlar.
  • İçerik getirme: Geçmiş antrenmanların listesini yükleme, müzik indirme, hava durumu getirme.
  • Senkronizasyon Durumu: Kullanıcı web'de profil fotoğrafını değiştirirse telefon sorgulanarak değil, bulut kullanılarak saat güncellenir.

Bu senaryolarda, veri katmanı API'si 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:

  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ğ (ör. LTE veya kablosuz) üzerinden

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 Veri Katmanı 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 cihazında 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ı, 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 uygulama 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.

Minimum istemci kullanma

Müşteri 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 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 nesnesi kullanın.

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.