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

توفير تطبيق Androidify على Wear OS من خلال ميزة "إرسال خلفية شاشة الساعة"

قراءة لمدة 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 الذي يتيح لك إنشاء خلفيات شاشة ساعة بتنسيق Watch Face Format مباشرةً في Figma.

image.png

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

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

التغليف والتحقّق من الصحة

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

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

كخطوة أخيرة قبل الإرسال، يتحقّق مدقّق إرسال خلفيات شاشة الساعة من حزمة 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 إلى ضمان أن تكون خلفية شاشة الساعة هي أيضًا خلفية شاشة الساعة النشطة. 

تقدّم ميزة "إرسال خلفية شاشة الساعة" إذن التشغيل الجديد الذي يجب منحه لكي تتمكّن التطبيقات من تحقيق ذلك:

com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE

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

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

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

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

بدء استخدام ميزة "إرسال خلفية شاشة الساعة" على Wear OS

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

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

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

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

يمكنك أيضًا مشاهدة الفيديو المصاحب للتعرّف بشكل أكبر على كيفية توفير تطبيق Androidify على Wear OS.

نتطلّع إلى رؤية ما ستبتكره باستخدام ميزة "إرسال خلفية شاشة الساعة".

تأليف:

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