Wearable Data Layer API, yang merupakan bagian dari layanan Google Play, menyediakan saluran komunikasi antara perangkat wearable (seperti smartwatch) dan perangkat genggam yang terhubung (biasanya smartphone). API ini adalah cara untuk menyinkronkan dan mentransfer data antarperangkat.
Catatan: API ini hanya tersedia di smartwatch Wear OS dan perangkat Android yang tersambung. Untuk smartwatch Wear OS yang disambungkan dengan ponsel iOS, aplikasi dapat mengkueri API berbasis cloud lainnya jika konektivitas internet tersedia. Untuk mengetahui informasi selengkapnya tentang API lainnya ini, buka Akses dan sinkronisasi jaringan di Wear OS.
Perhatian: Karena Data Layer API dirancang untuk komunikasi antara perangkat genggam dan perangkat wearable, API ini adalah satu-satunya API yang dapat Anda gunakan untuk menyiapkan komunikasi antarperangkat ini. Contohnya, jangan mencoba membuka soket level rendah untuk membuat saluran komunikasi.
Kasus penggunaan umum
Gunakan Data Layer API saat interaksi hanya antara smartwatch dan ponsel. Contoh:
- Kontrol Jarak Jauh: Smartwatch berfungsi sebagai remote untuk ponsel (misalnya, mengontrol pemutar musik yang berjalan di ponsel, menggeser presentasi, bertindak sebagai tombol rana kamera).
- Peluncuran Aplikasi Genggam: Fitur tombol "Buka di Ponsel".
- Penghubung Autentikasi: Mengirim token sesi dari ponsel ke smartwatch selama penyiapan awal.
Banyak skenario umum yang seharusnya menggunakan infrastruktur cloud yang ada, misalnya:
- Menyimpan Data: Olahraga, catatan.
- Mengambil Konten: Memuat daftar olahraga sebelumnya, mendownload musik, mengambil data cuaca.
- Menyinkronkan Status: Jika pengguna mengubah foto profilnya di web, smartwatch akan diupdate menggunakan cloud, bukan dengan mengkueri ponsel.
Untuk skenario ini, gunakan endpoint dan infrastruktur yang ada, bukan Data Layer API.
Opsi untuk komunikasi
Data ditransfer dengan salah satu cara berikut:
- Langsung, jika ada koneksi Bluetooth antara perangkat Wear OS dan perangkat lain.
- Melalui jaringan yang tersedia, seperti LTE atau Wi-Fi, menggunakan node jaringan di server Google sebagai perantara.
Semua klien Lapisan Data dapat bertukar data menggunakan Bluetooth atau menggunakan cloud, bergantung pada koneksi yang tersedia untuk perangkat. Asumsikan bahwa data yang dikirim menggunakan Lapisan Data suatu saat mungkin menggunakan server milik Google.
Bluetooth
Jika perangkat terhubung menggunakan Bluetooth, Lapisan Data akan menggunakan koneksi ini. Ada satu saluran terenkripsi di antara perangkat yang menggunakan enkripsi Bluetooth standar, yang dikelola oleh layanan Google Play.
Cloud
Data akan otomatis dirutekan melalui Google Cloud jika Bluetooth tidak tersedia. Semua data yang ditransfer melalui Google Cloud dienkripsi end-to-end.
Keamanan komunikasi
Layanan Google Play menerapkan batasan berikut untuk memberikan komunikasi yang lebih aman antara aplikasi yang diinstal di perangkat Wear OS dan aplikasi yang sama yang diinstal di perangkat genggam terdekat:
- Nama paket harus cocok di seluruh perangkat.
- Tanda tangan paket harus cocok di seluruh perangkat.
Tidak ada aplikasi lain yang memiliki akses ke data, terlepas dari jenis koneksi.
Penyiapan
Wearable Data Layer API memiliki dependensi berikut:
- Versi terbaru layanan Google Play.
- Perangkat Wear OS atau emulator Wear OS.
Sertakan dependensi berikut dalam file build.gradle di modul Wear Anda:
dependencies {
...
implementation("com.google.android.gms:play-services-wearable:20.0.1")
}
Memfasilitasi proses pairing awal
Horologist menyediakan beberapa library helper di atas platform API. Library ini mencakup library lapisan data yang membantu membuat koneksi antara perangkat seluler dan perangkat Wear OS. Selain itu, library ini menyediakan API praktis untuk melakukan hal berikut:
- Menginstal aplikasi di perangkat lain.
- Meluncurkan aplikasi di perangkat lain.
- Meluncurkan aktivitas tertentu di perangkat lain.
- Meluncurkan aplikasi pendamping.
Mengakses lapisan data
Untuk memanggil Data Layer API, gunakan class Wearable untuk mendapatkan instance dari
berbagai class klien, seperti DataClient dan MessageClient.
Untuk mengetahui informasi selengkapnya, lihat contoh DataLayer.
Menggunakan klien minimal
Untuk membuat klien, lihat contoh kode berikut:
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 }
Konteks dapat berupa konteks Android mana pun yang valid. Jika Anda menggunakan API dalam cakupan Activity, gunakan metode getDataClient() dari class Wearable. Hal ini memungkinkan interaksi tertentu muncul sebagai dialog, bukan sebagai notifikasi, seperti saat pengguna diminta mengupdate versi layanan Google Play.
Secara default, callback ke pemroses dibuat di UI thread utama aplikasi. Agar
callback dibuat pada thread lain, gunakan objek WearableOptions untuk
menentukan Looper kustom.
Untuk mengetahui informasi selengkapnya, lihat referensi WearableOptions.Builder.
Membuat ulang instance klien sesuai kebutuhan
Klien Wearable API, seperti DataClient dan MessageClient, tidak mahal untuk dibuat. Jadi, daripada menyimpan klien, buat ulang klien sesuai kebutuhan, menggunakan gaya yang sesuai dengan aplikasi Anda.
Status klien, misalnya sekumpulan pemroses terdaftar, dibagikan ke seluruh klien dan dipertahankan jika layanan Google Play diupdate ketika suatu aplikasi sedang berjalan.