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

توفير تطبيق 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

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

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

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

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

لنستكشف التفاصيل:

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

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

image.png

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

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

التجميع والتحقق من الصحة

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

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

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

يتحقق برنامج التحقق من صحة ملف APK للتأكّد من أنّه مناسب للتثبيت. ويشمل ذلك التحقق من محتويات ملف 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.

المؤلّف:

متابعة القراءة