إرسال البيانات ومزامنتها على Wear OS

تتيح الساعة "Wear OS من Google" إمكانية إرسال البيانات ومزامنتها بعدة طرق. وننصحك بإرسال البيانات ومزامنتها مباشرةً من الشبكة، لأنّ ذلك يسمح بأن يتم اعتبار التطبيق تطبيقًا مستقلاً.

إرسال البيانات ومزامنتها مباشرةً من الشبكة

أنشئ تطبيقات Wear OS للتواصل مباشرةً مع الشبكة. يمكنك استخدام واجهات برمجة التطبيقات نفسها التي تستخدمها لتطوير الأجهزة الجوّالة، ولكن مع مراعاة بعض الاختلافات الخاصة بنظام التشغيل Wear OS.

إرسال البيانات ومزامنتها باستخدام واجهة برمجة التطبيقات Wearable Data Layer API

توفّر واجهة برمجة التطبيقات Wearable Data Layer API، وهي جزء من خدمات Google Play، قناة اتصال اختيارية للتطبيقات.

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

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

يجب تضمين المحتوى الاعتمادي التالي في ملف "build.gradle" في وحدة Wear OS:

  dependencies {
    ...
    implementation 'com.google.android.gms:play-services-wearable:18.1.0'
  }
  

ننصحك بأن ترسل التطبيقات القابلة للارتداء البيانات وتزامنها مباشرةً من شبكة أو هاتف متصل. مع ذلك، إذا أردت الاتصال مباشرةً بين الأجهزة بتنسيق من نوع RPC أو إذا لم تتمكن من الاتصال مباشرةً بشبكة خاصة بالبيانات، يمكنك استخدام Wearable Data Layer API بالطرق التالية.

الإعلان عن الإمكانات المتاحة عن بُعد وطلب البحث عنها
يوفّر CapabilityClient معلومات عن العُقد المتوفرة على شبكة Wear OS التي تتوافق مع إمكانات التطبيقات المخصّصة. تمثّل العُقد كلاً من الأجهزة الجوّالة والأجهزة القابلة للارتداء المتصلة بالشبكة. الإمكانية هي ميزة يحدّدها التطبيق في وقت الإصدار أو يضبطه بشكل ديناميكي في وقت التشغيل.
على سبيل المثال، يمكن لتطبيق Android متوافق مع الأجهزة الجوّالة الإعلان عن أنّه يتيح إمكانية التحكّم عن بُعد في تشغيل الفيديو. وعند تثبيت الإصدار القابل للارتداء من هذا التطبيق، يمكن لهذا التطبيق استخدام CapabilityClient للتحقّق مما إذا كان إصدار التطبيق المتوافق مع الأجهزة الجوّالة مثبّتًا ومتوافقًا مع هذه الميزة. وفي هذه الحالة، يمكن أن يعرض التطبيق القابل للارتداء زر التشغيل/الإيقاف المؤقت للتحكّم في الفيديو على الجهاز الآخر باستخدام رسالة.
يمكن أن تعمل هذه الميزة أيضًا في اتجاه معاكس، وذلك بفضل الإمكانات المتوافقة مع بطاقة بيانات التطبيقات القابلة للارتداء.
إرسال الرسائل
يمكن لـ MessageClient إرسال رسائل وهو ملائم لإجراء مكالمات الإجراءات عن بُعد (RPC)، مثل التحكّم في مشغّل الوسائط في جهاز محمول باليد من الجهاز القابل للارتداء أو بدء تشغيل هدف على الجهاز القابل للارتداء من الجهاز المحمول باليد. وتكون الرسائل مفيدة أيضًا في ما يتعلّق بالطلبات أحادية الاتجاه أو نموذج التواصل مع الطلبات أو الاستجابة.
في حال تم توصيل الجهاز المحمول باليد والأجهزة القابلة للارتداء، يدرج النظام الرسالة في قائمة انتظار للتسليم ويعرض رمز نتيجة ناجح. إذا لم تكن الأجهزة متصلة، سيتم عرض خطأ. ولا يشير رمز النتيجة الناجح إلى أنّه تم تسليم الرسالة بنجاح، لأنّه قد يتم فصل الأجهزة بعد تلقّي رمز النتيجة.
نقل البيانات
يمكن لـ ChannelClient نقل البيانات من جهاز محمول باليد إلى جهاز قابل للارتداء. باستخدام ChannelClient، يمكنك تنفيذ الإجراءات التالية:
  • يمكنك نقل ملفات البيانات بين جهازَين أو أكثر متصلَين عندما لا يتوفّر الاتصال بالإنترنت بدون المزامنة التلقائية المتوفّرة عند استخدام عناصر Asset المرفقة بكائنات DataItem. يوفّر ChannelClient مساحة القرص أكثر من DataClient، ما يؤدي إلى إنشاء نسخة من مواد العرض على الجهاز المحلي قبل المزامنة مع الأجهزة المتصلة.
  • يمكنك بشكل موثوق إرسال ملف كبير جدًا بحيث لا يمكن إرساله باستخدام MessageClient.
  • نقل البيانات التي يتم بثها، مثل البيانات الصوتية من الميكروفون
مزامنة البيانات
يعرض DataClient واجهة برمجة تطبيقات للمكوّنات للقراءة أو الكتابة في DataItem أو Asset.
تتم مزامنة DataItem على جميع الأجهزة في شبكة Wear OS. من الممكن ضبط عناصر البيانات بدون ربطها بأي عُقد. تتم مزامنة عناصر البيانات هذه عندما تكون العُقد متصلة بالإنترنت.
تكون عناصر البيانات خاصة بالتطبيق الذي أنشأه ولا يمكن الوصول إليها إلا من خلال هذا التطبيق في عُقد أخرى. وهي صغيرة الحجم بشكل عام. ويمكنك استخدام Assets لنقل عناصر بيانات أكبر حجمًا وأكثر ثباتًا، مثل الصور.
يتوافق نظام التشغيل Wear OS مع العديد من الأجهزة القابلة للارتداء المتصلة بجهاز محمول في اليد. لذلك، على سبيل المثال، عندما يحفظ المستخدم ملاحظة على جهاز محمول، تظهر هذه الملاحظة تلقائيًا على جميع أجهزة Wear OS الخاصة به. للمساعدة في مزامنة البيانات بين الأجهزة، تستضيف خوادم Google عقدة على السحابة الإلكترونية في شبكة الأجهزة. يعمل النظام على مزامنة البيانات مع الأجهزة المتصلة مباشرةً، والعقدة السحابية، والأجهزة القابلة للارتداء المتصلة بالعقدة السحابية باستخدام شبكة Wi-Fi.

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

الاستماع إلى أحداث طبقة البيانات المهمة (للخدمات)
يتيح لك توسيع نطاق WearableListenerService رصد أحداث طبقة البيانات المهمة في إحدى الخدمات. يدير النظام مراحل نشاط WearableListenerService، ويتم ربطه بالخدمة عندما يحتاج إلى إرسال عناصر بيانات أو رسائل وإلغاء ربط الخدمة عند عدم الحاجة إلى اتّخاذ أي إجراء.
الاستماع إلى أحداث طبقة البيانات المهمة (للأنشطة التي تعمل في المقدّمة)
يتيح لك تنفيذ OnDataChangedListener في نشاط الاستماع إلى أحداث طبقة البيانات المهمة عندما يكون النشاط في المقدّمة. ويتيح لك استخدام هذا بدلاً من WearableListenerService التنبّه إلى التغييرات فقط عندما يستخدم المستخدم تطبيقك بشكل نشط.

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

مقارنة العملاء

يعرض الجدول التالي المتطلبات وحالات الاستخدام المختلفة لكل عميل.

برنامج البيانات برنامج الرسائل عميل القناة
حجم البيانات أكبر من 100 كيلوبايت نعم لا نعم
يمكن إرسال رسائل إلى العُقد غير المرتبطة حاليًا نعم لا لا
نمط التواصل مورد مستند إلى الشبكة المشتركة تمرير رسالة بين شخصَين (مع ردّ) البث بين شخصين

إمكانية الاتصال

لطبقة البيانات خياران للاتصال:

  1. يتم تبادل البيانات مباشرةً عندما يكون هناك اتصال بلوتوث ثابت بين الساعة وجهاز آخر.
  2. تبادل البيانات عبر شبكة متاحة مثل LTE أو WiFi.
الشكل 1. نموذج شبكة من العُقد مع أجهزة محمولة باليد وأجهزة قابلة للارتداء.

يمكن لجميع برامج طبقة البيانات تبادل البيانات إما باستخدام البلوتوث أو مزامنة Google Cloud، بناءً على الاتصالات المتاحة للأجهزة. خدمة Cloud Sync هي الآلية التي تستخدمها Google للتواصل وتبادل البيانات بين الأجهزة القابلة للارتداء والهواتف عند عدم توفر البلوتوث.

الأمان

يتم تشفير خيارَي الاتصال، أي البلوتوث وخدمة Cloud Sync، بشكل تام بين الأطراف.

تفرض "خدمات Google Play" القيود التالية لضمان أن الاتصال بين الهاتف والساعة آمن ويتم نقله بين التطبيقات.

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

البلوتوث

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

سحابة

لنفترض أنّ البيانات المنقولة باستخدام طبقة البيانات قد تستخدم في مرحلة ما خوادم تملكها Google. على سبيل المثال، يتم توجيه DataClient أو MessageClient أو ChannelClient تلقائيًا عبر السحابة الإلكترونية من Google عندما لا يكون البلوتوث متوفرًا. تخضع كل البيانات التي يتم نقلها من خلال Google Cloud للتشفير التام بين الأطراف.

إنشاء المفتاح وتخزينه

ينشئ الهاتف المفاتيح التامّة بين الأطراف للاتصال المستنِد إلى السحابة الإلكترونية ويتم تبادلها مباشرةً مع الساعة عندما يكون الجهازان متصلَين باستخدام البلوتوث. ويحدث ذلك أثناء إعداد الجهاز. لا تتلقى الخوادم المملوكة لشركة Google هذه المفاتيح في أي وقت.

ولا يمكن أن يحدث الاتصال من خلال الخوادم التي تملكها Google حتى تكتمل عملية إنشاء مفتاح التشفير التام بين الأطراف. يتم تخزين المفاتيح في مساحة تخزين الملفات الخاصة في "خدمات Google Play" على جميع الأجهزة المقترنة.

الاحتفاظ بنسخة احتياطية من بيانات الجهاز

لا يتم الاحتفاظ بنسخة احتياطية من المفاتيح ولا يتم نقلها من الجهاز. وفي حال الحاجة إلى مفاتيح جديدة، مثل هاتف جديد، ينشئ النظام مفاتيح جديدة ويشاركها مع الأجهزة التي لا يزال لدى المستخدم.