توفّر واجهة برمجة التطبيقات 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:19.0.0")
}
تسهيل عملية الإقران الأولية
توفّر 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".
يتم تلقائيًا تنفيذ عمليات معاودة الاتصال بالمستمعين في سلسلة واجهة المستخدم الرئيسية للتطبيق. لإجراء عمليات ردّ الاتصال على سلسلة محادثات مختلفة، استخدِم عنصر WearableOptions لتحديد Looper مخصّص.
لمزيد من المعلومات، راجِع مرجع WearableOptions.Builder.
إعادة إنشاء مثيلات العميل حسب الضرورة
يمكن إنشاء برامج واجهة برمجة التطبيقات للأجهزة القابلة للارتداء، مثل DataClient وMessageClient، بتكلفة منخفضة. لذلك، بدلاً من الاحتفاظ بالعملاء، أعِد إنشاءهم حسب الحاجة، باستخدام النمط الذي يناسب تطبيقك.
تتم مشاركة حالة العميل، مثل مجموعة أدوات معالجة الأحداث المسجّلة، بين جميع العملاء ويتم الاحتفاظ بها في حال تعديل "خدمات Google Play" أثناء تشغيل أحد التطبيقات.