نظرة عامة على Data Layer API

يتم التحكّم في العُقدة المستنِدة إلى السحابة الإلكترونية من خلال خادم تملكه Google
الشكل 1 مثال على شبكة من العُقد تتضمّن أجهزة محمولة وأجهزة Wear OS

توفّر واجهة برمجة التطبيقات Wearable Data Layer، وهي جزء من "خدمات Google Play"، قناة اتصال بين الأجهزة القابلة للارتداء (مثل الساعات الذكية) والأجهزة المحمولة المتصلة (الهواتف الذكية عادةً). وهي طريقة لمزامنة البيانات ونقلها بين الأجهزة.

ملاحظة: لا تتوفّر واجهة برمجة التطبيقات هذه إلا على ساعات Wear OS وأجهزة Android المقترنة. بالنسبة إلى ساعات Wear OS المقترنة بهواتف iOS، يمكن للتطبيقات طلب بيانات من واجهات برمجة التطبيقات الأخرى المستندة إلى السحابة الإلكترونية إذا كان الاتصال بالإنترنت متاحًا. لمزيد من المعلومات حول واجهات برمجة التطبيقات الأخرى هذه، يُرجى الانتقال إلى مقالة الوصول إلى الشبكة والمزامنة على Wear OS.

تنبيه: تم تصميم واجهات برمجة التطبيقات لطبقة البيانات للاتصال بين الأجهزة المحمولة والأجهزة القابلة للارتداء، لذا فهي واجهات برمجة التطبيقات الوحيدة التي يمكنك استخدامها لإعداد الاتصال بين هذه الأجهزة. على سبيل المثال، لا تحاول فتح مآخذ منخفضة المستوى لإنشاء قناة اتصال.

حالات الاستخدام الشائعة

استخدِم واجهة برمجة التطبيقات Data Layer عندما يكون التفاعل بين الساعة والهاتف فقط. على سبيل المثال:

  • جهاز تحكّم عن بُعد: تعمل الساعة كجهاز تحكّم عن بُعد للهاتف (على سبيل المثال، التحكّم في مشغّل موسيقى يعمل على الهاتف أو عرض شرائح عرض تقديمي أو العمل كزر غالق للكاميرا).
  • تشغيل التطبيق على الجهاز المحمول: ميزة الزر "فتح على الهاتف"
  • ربط عملية المصادقة: إرسال رمز مميّز للجلسة من الهاتف إلى الساعة أثناء الإعداد الأولي

في العديد من السيناريوهات الشائعة، يجب بدلاً من ذلك استخدام البنية الأساسية الحالية المستندة إلى السحابة الإلكترونية، على سبيل المثال:

  • حفظ البيانات: التمارين الرياضية والملاحظات
  • جلب المحتوى: تحميل قائمة بالتمارين الرياضية السابقة أو تنزيل الموسيقى أو جلب حالة الطقس
  • مزامنة الحالة: إذا غيّر المستخدم صورة ملفه الشخصي على الويب، يتم تعديل الساعة باستخدام السحابة الإلكترونية، وليس من خلال طلب بيانات من الهاتف.

في هذه السيناريوهات، استخدِم نقاط النهاية والبنية الأساسية الحالية بدلاً من واجهة برمجة التطبيقات Data Layer.

خيارات الاتصال

يتم نقل البيانات بإحدى الطرق التالية:

  1. مباشرةً، عندما يكون هناك اتصال بلوتوث ثابت بين الـ جهاز Wear OS وجهاز آخر
  2. عبر شبكة متاحة، مثل LTE أو Wi-Fi، باستخدام عُقدة شبكة على خوادم Google كجهاز وسيط.

يمكن لجميع عملاء Data Layer تبادل البيانات إما باستخدام البلوتوث أو باستخدام السحابة الإلكترونية، وذلك حسب الاتصالات المتاحة للأجهزة. افترِض أنّ البيانات التي يتم إرسالها باستخدام Data Layer قد تستخدم في مرحلة ما خوادم مملوكة لشركة Google.

بلوتوث

عندما تكون الأجهزة متصلة باستخدام البلوتوث، تستخدم Data Layer هذا الاتصال. هناك قناة مشفّرة واحدة بين الأجهزة، باستخدام التشفير العادي للبلوتوث، وتديرها "خدمات Google Play".

سحابة

يتم تلقائيًا توجيه البيانات من خلال Google Cloud عندما لا يكون البلوتوث متاحًا. جميع البيانات التي يتم نقلها من خلال Google Cloud تكون مشفّرة من البداية إلى النهاية.

أمان الاتصالات

تفرض "خدمات Google Play" القيود التالية لتوفير اتصال أكثر أمانًا بين التطبيق المثبَّت على جهاز Wear OS والتطبيق نفسه المثبَّت على جهاز محمول قريب:

  • يجب أن يتطابق اسم الحزمة على جميع الأجهزة.
  • يجب أن يتطابق توقيع الحزمة على جميع الأجهزة.

لا يمكن لأي تطبيقات أخرى الوصول إلى البيانات بغض النظر عن نوع الاتصال.

الإعداد

تعتمد واجهة برمجة التطبيقات Wearable Data Layer على ما يلي:

أدرِج التبعية التالية في ملف build.gradle الخاص بوحدة Wear:

dependencies {
    ...
    implementation("com.google.android.gms:play-services-wearable:20.0.1")
}

تسهيل عملية الإقران الأولية

Horologist توفّر عدة مكتبات مساعِدة بالإضافة إلى واجهات برمجة التطبيقات الأساسية. وتتضمّن مكتبة لطبقة البيانات تساعد في إنشاء اتصال بين جهاز جوّال وجهاز Wear OS. بالإضافة إلى ذلك، توفّر واجهات برمجة تطبيقات ملائمة لإجراء ما يلي:

  • تثبيت التطبيق على الجهاز الآخر
  • تشغيل التطبيق على الجهاز الآخر
  • تشغيل نشاط معيّن على الجهاز الآخر
  • تشغيل التطبيق المصاحب

الوصول إلى طبقة البيانات

لاستدعاء واجهة برمجة التطبيقات Data Layer، استخدِم فئة 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.

إعادة إنشاء مثيلات العميل حسب الحاجة

إنشاء عملاء Wearable API، مثل DataClient وMessageClient، غير مكلف. لذا بدلاً من الاحتفاظ بالعملاء، أعِد إنشائهم حسب الحاجة، باستخدام النمط الذي يناسب تطبيقك.

تتم مشاركة حالة العميل، مثل مجموعة المستمعين المسجّلين، بين جميع العملاء ويتم الاحتفاظ بها إذا تم تعديل "خدمات Google Play" أثناء تشغيل أحد التطبيقات.