أخبار المنتجات

إتاحة Androidify على Wear OS من خلال Watch Face Push

مدّة القراءة: 3 دقائق
عرض الملف الشخصي لـ "غاران جينكين"
Garan Jenkin مهندسة علاقات المطوّرين

 

 

قبل بضعة أشهر، أعدنا إطلاق Androidify كتطبيق لإنشاء روبوتات Android مخصّصة. يحوّل Androidify صورتك السيلفي إلى روبوت Android مرح باستخدام Gemini وImagen.

ومع ذلك، نظرًا لأنّ Android يمتد ليشمل أشكال أجهزة متعددة، بما في ذلك أحدث إضافة لدينا، وهي XR، فكرنا في كيفية جلب متعة Androidify إلى Wear OS.

خلفية شاشة ساعة Androidify

بما أنّ روبوتات Androidify مخصّصة للغاية، فإنّ المكان الطبيعي لعرضها هو خلفية شاشة الساعة. فهي ليست المساحة الأكثر ظهورًا فحسب، بل هي أيضًا المساحة الأكثر شخصية، ما يتيح لك التعبير عن هويتك.

demonstration.gif

خلفية شاشة ساعة Androidify مخصّصة تم إنشاؤها من صورة سيلفي

يتيح لك تطبيق Androidify الآن إنشاء خلفية شاشة ساعة بشكل ديناميكي داخل تطبيق الهاتف ثم إرسالها إلى ساعتك، حيث سيتم ضبطها تلقائيًا كخلفية شاشة الساعة. ويحدث كل ذلك في غضون ثوانٍ.

تصميم عالي المستوى

image.png

المسار الكامل لإنشاء خلفية شاشة الساعة وتثبيتها

لتحقيق تجربة شاملة، يجب دمج عدد من التقنيات معًا، كما هو موضّح في هذا المخطّط البياني للتصميم العالي المستوى.

أولاً، يتم دمج صورة الأفاتار الخاصة بالمستخدم مع نموذج تنسيق خلفية شاشة الساعة الحالي، ثم يتم تجميعها في حزمة APK. وهذا صحيح، لأسباب سنشرحها. - وإرسالها إلى الساعة

عند استلام خلفية شاشة الساعة الجديدة، يتم استخدام واجهة برمجة التطبيقات Watch Face Push API، وهي جزء من Wear OS 6، لتثبيت خلفية شاشة الساعة وتفعيلها.

لنتعرّف على التفاصيل:

إنشاء نماذج خلفيات شاشة الساعة

يتم إنشاء خلفية شاشة الساعة من نموذج تم تصميمه في Watch Face Designer. هذا هو المكوّن الإضافي الجديد في Figma الذي يتيح لك إنشاء خلفيات شاشة الساعة بتنسيق خلفية شاشة الساعة مباشرةً داخل Figma.

image.png

نموذج خلفية شاشة ساعة Androidify في Watch Face Designer

يتيح المكوّن الإضافي تصدير خلفية شاشة الساعة بعدة طرق مختلفة، بما في ذلك كموارد بتنسيق Watch Face Format‏ (WFF). ويمكن بعد ذلك دمجها بسهولة كمواد عرض داخل تطبيق Androidify، لإنشاء خلفية شاشة الساعة النهائية بشكل ديناميكي.

التجميع والتحقّق

بعد دمج النموذج والأفاتار، يتم استخدام حزمة Portable Asset Compiler Kit (Pack) لتجميع حزمة APK.

في Androidify، يتم استخدام Pack كمكتبة مجمّعة من رموز برمجية أصلية على الهاتف. لمزيد من التفاصيل حول كيفية تفاعل Androidify مع مكتبة Pack، يُرجى الاطّلاع على مستودع GitHub.

كخطوة أخيرة قبل الإرسال، يتم فحص ملف APK من خلال أداة التحقّق من Watch Face Push.

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

تتطلّب الساعة هذا الرمز المميّز للتثبيت.

جارٍ إرسال خلفية شاشة الساعة

يستخدم تطبيق Androidify على نظام التشغيل Wear OS WearableListenerService للاستماع إلى الأحداث على طبقة البيانات القابلة للارتداء.

ينقل تطبيق الهاتف خلفية شاشة الساعة باستخدام مزيج من MessageClient لإعداد العملية، ثم ChannelClient لبث حزمة APK.

تثبيت خلفية شاشة الساعة على الساعة

بعد استلام خلفية شاشة الساعة على جهاز Wear OS، يستخدم تطبيق Androidify واجهة برمجة التطبيقات الجديدة Watch Face Push API لتثبيت خلفية شاشة الساعة:

val wfpManager = 

    WatchFacePushManagerFactory.createWatchFacePushManager(context)

val response = wfpManager.listWatchFaces()



try {

    if (response.remainingSlotCount > 0) {

        wfpManager.addWatchFace(apkFd, token)

    } else {

        val slotId = response.installedWatchFaceDetails.first().slotId

        wfpManager.updateWatchFace(slotId, apkFd, token)

    }

} catch (a: WatchFacePushManager.AddWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

} catch (u: WatchFacePushManager.UpdateWatchFaceException) {

    return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR

}

يستخدم Androidify إما طريقة addWatchFace أو updateWatchFace، حسب السيناريو: يحدّد Watch Face Push مفهوم "الخانات"، أي عدد خلفيات شاشة الساعة التي يمكن تثبيتها في تطبيق معيّن في أي وقت. بالنسبة إلى Wear OS 6، تكون هذه القيمة 1.

يتمثّل نهج Androidify في تثبيت خلفية شاشة الساعة إذا كانت هناك خانة فارغة، وإذا لم تكن هناك خانة فارغة، يتم استبدال أي خلفية شاشة ساعة حالية بالخلفية الجديدة.

ضبط خلفية شاشة الساعة النشطة

يُعدّ تثبيت خلفية شاشة الساعة آليًا خطوة رائعة، ولكن يسعى Androidify إلى ضمان أن تكون خلفية شاشة الساعة هي أيضًا الخلفية النشطة. 

توفّر واجهة Watch Face Push إذن تشغيل جديدًا يجب منحه لكي تتمكّن التطبيقات من تنفيذ ما يلي:

com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

بعد الحصول على هذا الإذن، يمكن استدعاء الإجراء wfpManager.setWatchFaceAsActive() لضبط خلفية شاشة ساعة مثبَّتة لتكون الخلفية النشطة.

ومع ذلك، هناك عدد من الاعتبارات التي يجب أن يتناولها Androidify:

  • يمكن استخدام setWatchFaceAsActive مرة واحدة فقط.
  • لا يمكن إعادة طلب الإذن "SET_PUSHED_WATCH_FACE_AS_ACTIVE" بعد أن رفضه المستخدم.
  • قد يكون تطبيق Androidify يتحكّم حاليًا في خلفية شاشة الساعة النشطة.

لمزيد من التفاصيل، يمكنك الاطّلاع على كيفية تنفيذ منطق الضبط النشط في Androidify.

بدء استخدام Watch Face Push لنظام التشغيل Wear OS

‫Watch Face Push هي واجهة برمجة تطبيقات متعددة الاستخدامات، وهي مناسبة لتحسين Androidify بقدر ما هي مناسبة لإنشاء متاجر خلفيات شاشة الساعة كاملة الميزات.

ربما لديك تطبيق حالي للهاتف وتبحث عن فرص لزيادة تفاعل المستخدمين وإرضائهم؟

أو ربما تكون مطوّرًا حاليًا لخلفيات شاشة الساعة وتريد إنشاء منتدى ومعرض خاصَّين بك من خلال إصدار تطبيق في السوق؟

يمكنك الاطّلاع على المراجع التالية:

ويمكنك أيضًا الاطّلاع على الفيديو المرفق لإلقاء نظرة أكثر تفصيلاً على كيفية نقل Androidify إلى Wear OS.

نتطلّع إلى رؤية ما ستبتكره باستخدام Watch Face Push.

من كتابة:
متابعة القراءة