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). Fitur ini adalah cara untuk menyinkronkan dan mentransfer data antar-perangkat.
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 API lapisan data didesain untuk komunikasi antara perangkat genggam dan wearable, API ini adalah satu-satunya API yang dapat Anda gunakan untuk memulai komunikasi antara perangkat tersebut. Misalnya, jangan mencoba membuka soket level rendah untuk membuat saluran komunikasi.
Kasus penggunaan umum
Gunakan Data Layer API saat interaksi hanya terjadi antara smartwatch dan ponsel. Contoh:
- Remote Control: Smartwatch berfungsi sebagai remote untuk ponsel (misalnya, mengontrol pemutar musik yang berjalan di ponsel, menggeser presentasi, berfungsi sebagai tombol rana kamera).
- Peluncuran Aplikasi Perangkat Genggam: Fitur tombol "Buka di Ponsel".
- Penjembatan Autentikasi: Mengirim token sesi dari ponsel ke smartwatch selama penyiapan awal.
Banyak skenario umum sebaiknya menggunakan infrastruktur cloud yang sudah ada, misalnya:
- Menyimpan Data: Latihan, catatan.
- Mengambil Konten: Memuat daftar latihan fisik sebelumnya, mendownload musik, mengambil data cuaca.
- Menyinkronkan Status: Jika pengguna mengubah foto profilnya di web, smartwatch akan memperbarui menggunakan cloud, bukan dengan mengkueri ponsel.
Untuk skenario ini, gunakan endpoint dan infrastruktur Anda sendiri yang sudah ada, bukan Data Layer API.
Opsi untuk komunikasi
Data ditransfer dengan salah satu cara berikut:
- Secara langsung, saat 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 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 otomatis dirutekan melalui Google Cloud saat Bluetooth tidak tersedia. Semua data yang ditransfer melalui Google Cloud dienkripsi end-to-end.
Keamanan komunikasi
Layanan Google Play menerapkan batasan berikut untuk menyediakan komunikasi yang lebih aman antara aplikasi yang diinstal di perangkat Wear OS dan aplikasi yang sama yang diinstal di perangkat genggam di sekitar:
- 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
Data Layer API Wearable memiliki dependensi berikut:
- Versi terbaru layanan Google Play.
- Perangkat Wear OS atau emulator Wear OS.
Sertakan dependensi berikut dalam file build.gradle modul Wear Anda:
dependencies {
...
implementation("com.google.android.gms:play-services-wearable:19.0.0")
}
Memfasilitasi proses penyambungan awal
Horologist menyediakan beberapa library pembantu di atas API platform. Library ini mencakup library lapisan data yang membantu membuat koneksi antara perangkat seluler dan perangkat Wear OS. Selain itu, library ini menyediakan API yang mudah digunakan untuk melakukan hal berikut:
- Instal aplikasi di perangkat lain.
- Luncurkan aplikasi di perangkat lain.
- Luncurkan aktivitas tertentu di perangkat lain.
- Luncurkan 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 informasi selengkapnya, lihat referensi WearableOptions.Builder.
Buat ulang instance klien sesuai kebutuhan
Klien Wearable API, seperti DataClient dan MessageClient, tidak mahal untuk dibuat. Jadi, alih-alih mempertahankan klien, buat ulang klien sesuai kebutuhan Anda, menggunakan gaya yang sesuai dengan aplikasi Anda.
Status klien, seperti sekumpulan pemroses terdaftar, dibagikan ke seluruh klien dan dipertahankan jika layanan Google Play diupdate saat aplikasi sedang berjalan.