توفّر واجهة Wearable Data Layer API، وهي جزء من "خدمات Google Play"، قناة اتصال بين الأجهزة القابلة للارتداء (مثل الساعات الذكية) والأجهزة المحمولة المتصلة (عادةً الهواتف الذكية). إنها طريقة لمزامنة البيانات ونقلها بين الأجهزة.
ملاحظة: لا تتوفّر واجهة برمجة التطبيقات هذه إلا على ساعات Wear OS وأجهزة Android المقترنة بها. بالنسبة إلى ساعات Wear OS المقترنة بهواتف iOS، يمكن للتطبيقات إرسال طلبات إلى واجهات برمجة تطبيقات أخرى مستندة إلى السحابة الإلكترونية في حال توفّر اتصال بالإنترنت. لمزيد من المعلومات حول واجهات برمجة التطبيقات الأخرى هذه، يُرجى الانتقال إلى الوصول إلى الشبكة والمزامنة على Wear OS.
تنبيه: بما أنّ واجهات برمجة التطبيقات لطبقة البيانات مصمَّمة للتواصل بين الأجهزة المحمولة والأجهزة القابلة للارتداء، فإنّها واجهات برمجة التطبيقات الوحيدة التي يمكنك استخدامها لإعداد التواصل بين هذه الأجهزة. على سبيل المثال، لا تحاول فتح مآخذ منخفضة المستوى لإنشاء قناة اتصال.
حالات الاستخدام الشائعة
استخدِم واجهة برمجة التطبيقات Data Layer API عندما يكون التفاعل بين الساعة والهاتف فقط. على سبيل المثال:
- التحكّم عن بُعد: تعمل الساعة كجهاز تحكّم عن بُعد للهاتف (مثل التحكّم في مشغّل موسيقى يعمل على الهاتف، أو تمرير عرض تقديمي، أو العمل كغالق للكاميرا).
- تشغيل التطبيق على الجهاز الجوّال: ميزة الزر "فتح على الهاتف".
- ربط المصادقة: إرسال رمز مميز للجلسة من الهاتف إلى الساعة أثناء عملية الإعداد الأولية
بدلاً من ذلك، يجب استخدام البنية الأساسية السحابية الحالية في العديد من السيناريوهات الشائعة، على سبيل المثال:
- حفظ البيانات: التمارين والملاحظات
- جلب المحتوى: تحميل قائمة بالتمارين السابقة وتنزيل الموسيقى وجلب معلومات الطقس
- حالة المزامنة: إذا غيّر المستخدم صورة ملفه الشخصي على الويب، يتم تعديلها على الساعة باستخدام السحابة الإلكترونية، وليس من خلال الاستعلام من الهاتف.
في هذه السيناريوهات، استخدِم نقاط النهاية والبنية الأساسية الحالية بدلاً من واجهة برمجة التطبيقات Data Layer API.
خيارات التواصل
يتم نقل البيانات بإحدى الطرق التالية:
- مباشرةً، عندما يكون هناك اتصال بلوتوث بين جهاز Wear OS وجهاز آخر.
- عبر شبكة متاحة، مثل LTE أو Wi-Fi، باستخدام عقدة شبكة على خوادم Google كوسيط
يمكن لجميع برامج "طبقة البيانات" تبادل البيانات إما باستخدام البلوتوث أو باستخدام السحابة الإلكترونية، وذلك حسب الاتصالات المتاحة للأجهزة. يُرجى العِلم أنّ البيانات التي يتم نقلها باستخدام طبقة البيانات قد تستخدم في مرحلة ما خوادم تملكها Google.
بلوتوث
عندما تكون الأجهزة متصلة باستخدام البلوتوث، تستخدم طبقة البيانات هذا الاتصال. تتوفّر قناة مشفّرة واحدة بين الأجهزة، وتستخدم تشفير البلوتوث العادي، وتديرها "خدمات Google Play".
سحابة
يتم توجيه البيانات تلقائيًا من خلال Google Cloud عندما لا تكون تقنية البلوتوث متاحة. يتم تشفير جميع البيانات المنقولة عبر Google Cloud تشفيرًا تامًا بين الأطراف.
أمان الاتصالات
تفرض "خدمات Google Play" القيود التالية لتوفير اتصال أكثر أمانًا بين التطبيق المثبَّت على جهاز Wear OS والتطبيق نفسه المثبَّت على جهاز محمول قريب:
- يجب أن يتطابق اسم الحزمة على جميع الأجهزة.
- يجب أن يتطابق توقيع الحزمة على جميع الأجهزة.
ولا يمكن لأي تطبيقات أخرى الوصول إلى البيانات بغض النظر عن نوع الاتصال.
الإعداد
تتضمّن واجهة Wearable Data Layer API التبعيات التالية:
- أحدث إصدار من خدمات Google Play
- جهاز Wear OS أو محاكي Wear OS
أدرِج التبعية التالية في ملف build.gradle الخاص بوحدة Wear:
dependencies {
...
implementation("com.google.android.gms:play-services-wearable:20.0.1")
}
تسهيل عملية الإقران الأولية
يوفّر Horologist العديد من المكتبات المساعدة بالإضافة إلى واجهات برمجة التطبيقات الخاصة بالمنصة. وتتضمّن مكتبة طبقة بيانات تساعد في إنشاء اتصال بين جهاز جوّال وجهاز Wear OS. بالإضافة إلى ذلك، توفر واجهات برمجة تطبيقات ملائمة للقيام بما يلي:
- ثبِّت التطبيق على الجهاز الآخر.
- افتح التطبيق على الجهاز الآخر.
- بدء نشاط معيّن على الجهاز الآخر
- افتح التطبيق المصاحب.
الوصول إلى طبقة البيانات
لاستدعاء واجهة برمجة التطبيقات Data Layer API، استخدِم فئة Wearable للحصول على نُسخ من فئات العملاء المختلفة، مثل DataClient وMessageClient.
لمزيد من المعلومات، يُرجى الرجوع إلى نموذج DataLayer.
استخدام برنامج عميل بسيط
لإنشاء عميل، اطّلِع على الرمز النموذجي التالي:
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 }
يمكن أن يكون السياق أي سياق Android صالح. إذا كنت تستخدم واجهة برمجة التطبيقات ضمن
نطاق Activity، استخدِم طريقة getDataClient() من فئة
Wearable. يتيح ذلك ظهور تفاعلات معيّنة كمربّعات حوار بدلاً من إشعارات، مثل عندما يُطلب من المستخدم تحديث إصداره من "خدمات Google Play".
يتم تلقائيًا إجراء عمليات الاستدعاء للمستمعين في سلسلة واجهة المستخدم الرئيسية للتطبيق. To have
callbacks made on a different thread, use a WearableOptions object to
specify a custom Looper.
لمزيد من المعلومات، يُرجى الاطّلاع على مرجع WearableOptions.Builder.
إعادة إنشاء مثيلات العميل حسب الضرورة
إنّ عملاء واجهة برمجة التطبيقات للأجهزة القابلة للارتداء، مثل DataClient وMessageClient،
غير مكلفين في الإنشاء. لذا، بدلاً من الاحتفاظ بالعملاء، يمكنك إعادة إنشائهم حسب
الحاجة، باستخدام النمط الذي يناسب تطبيقك.
تتم مشاركة حالة العميل، مثل مجموعة المستمعين المسجّلين، بين جميع العملاء ويتم الاحتفاظ بها في حال تحديث "خدمات Google Play" أثناء تشغيل أحد التطبيقات.