إعداد تنسيق خلفية شاشة الساعة

ملاحظة: تعرض لك هذه الصفحة خطوة من عملية إدارة إعدادات خلفية شاشة الساعة يدويًا. إذا كنت تريد تصميم خلفية شاشة الساعة باستخدام أداة WYSIWYG (ما تراه هو ما تحصل عليه) بدلاً من ذلك، اطّلِع على أدلة Watch Face Studio أولاً.

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

المتطلّبات الأساسية

لإعداد بيئة التطوير لاستخدام تنسيق خلفية شاشة الساعة، عليك إكمال خطوات الإعداد التالية:

  1. ثبِّت حزمة تطوير البرامج (SDK) لنظام التشغيل Android 14 (المستوى 34 لواجهة برمجة التطبيقات) أو إصدار أحدث. إذا كانت خلفية شاشة الساعة لا تعتمد على ميزات أو سلوكيات خاصة بالإصدار 2، يمكنك تثبيت حزمة SDK لنظام التشغيل Android 13 (المستوى 33 لواجهة برمجة التطبيقات) بدلاً من ذلك.

    تحتوي حزمة SDK على أدوات مطلوبة أخرى، بما في ذلك aapt2 وandroid.jar.

  2. كبديل، يمكنك تثبيت استوديو Android الذي يمكنه أيضًا توفير هذه الأدوات.

بنية المشروع

عند إنشاء خلفية شاشة ساعة مخصّصة تستخدِم تنسيق خلفية شاشة الساعة، يجب أن تكون مجموعة حزمات تطبيق Android التي تتضمّن ملف خلفية شاشة الساعة المخصّصة منفصلة تمامًا عن مجموعة حزمات تطبيق Android التي تتضمّن منطق تطبيق Wear OS. تمنع بعض متاجر التطبيقات، بما في ذلك Google Play، من تحميل مجموعة حزمات تطبيق Android التي تتضمّن منطق Wear OS وخلفية شاشة ساعة مخصّصة.

إنشاء حِزمة خلفية شاشة الساعة

لإنشاء حِزمة تطبيق Android تتضمّن ملف خلفية شاشة ساعة، أكمِل الخطوات المعروضة في الأقسام التالية.

الإفصاح عن استخدام تنسيق خلفية شاشة الساعة

في ملف بيان تطبيقك الجديد (AndroidManifest.xml)، أضِف سمة تطبيق تشير إلى استخدامك لتنسيق خلفية شاشة الساعة. إذا لم تكن تريد حظر الوصول إلى خلفية شاشة الساعة على الأجهزة التي تعمل بنظام التشغيل Wear OS 5 أو الإصدارات الأحدث، أنشئ حِزمتَي APK مختلفتَين لخلفية شاشة الساعة، إحداهما متوافقة مع الإصدار 2 والأخرى متوافقة مع الإصدار 1. اطّلِع على مزيد من المعلومات حول كيفية ضبط إصدارات تطبيقك.

<manifest ...>
    <!--
        Use SDK version 34 for version 2 of WFF, and SDK version 33 for version
        1 of WFF
    -->
    <uses-sdk
        android:minSdkVersion="34"
        android:targetSdkVersion="34" />

    <!--
        WFF is a resource-only format, so the hasCode attribute should be set to
        false to reflect this.
    -->
    <application
        android:label="@string/watch_face_name"
        android:hasCode="false"
        ...>
        <meta-data android:name="com.google.android.wearable.standalone"
            android:value="true" />
        <property
            android:name="com.google.wear.watchface.format.version"
            android:value="2" />
    </application>
</manifest>

الإفصاح عن البيانات الوصفية لخلفية شاشة الساعة

في دليل res/xml resources (موارد) تطبيقك، أنشئ ملفًا جديدًا باسم watch_face_info.xml. يمكنك تحديد البيانات الوصفية لخلفية شاشة الساعة من خلال اتّباع الخطوات التالية:

<?xml version="1.0" encoding="utf-8"?>
<WatchFaceInfo>

    <Preview value="@drawable/watch_face_preview" />
    <Category value="CATEGORY_EMPTY" />
    <AvailableInRetail value="true" />
    <MultipleInstancesAllowed value="true" />
    <Editable value="true" />
</WatchFaceInfo>

تمثّل الحقول في هذا الملف التفاصيل التالية:

Preview
يشير إلى العنصر القابل للرسم الذي يحتوي على صورة معاينة لخلفية شاشة الساعة.
Category

تُحدِّد فئة خلفية شاشة الساعة. يجب أن تكون سلسلة أو إشارة إلى سلسلة، مثل @string/ref_name. يمكن لكل شركة مصنّعة للأجهزة تحديد مجموعة فئات خلفيات شاشة الساعة الخاصة بها.

القيمة التلقائية: empty_category_meta، وهي تجمع خلفية شاشة الساعة هذه مع خلفيات شاشة الساعة الأخرى من "الفئة الفارغة" في أسفل عرض أداة اختيار خلفية شاشة الساعة.

AvailableInRetail

ما إذا كانت خلفية شاشة الساعة متاحة في وضع البيع بالتجزئة للجهاز يجب أن تكون قيمة منطقية أو مرجعًا لقيمة منطقية مثل @bool/watch_face_available_in_retail.

القيمة التلقائية: false

MultipleInstancesAllowed

ما إذا كان يمكن أن تتضمّن خلفية شاشة الساعة عناصر مفضّلة متعددة يجب أن تكون قيمة منطقية، أو مرجعًا لقيمة منطقية مثل @bool/watch_face_multiple_instances_allowed.

القيمة التلقائية: false

Editable

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

القيمة التلقائية: خطأ

تحديد اسم خلفية شاشة الساعة

في ملف بيان تطبيقك (AndroidManifest.xml)، اضبط السمة android:label على اسم خلفية شاشة الساعة:

<application android:label="@string/watch_face_name" >

الإفصاح عن تفاصيل خلفية شاشة الساعة

في ما يلي بنية مستند شاشة ساعة أساسي بتنسيق WFF:

<WatchFace width="450" height="450">
  <Scene>
    <!-- Content to be rendered -->
  </Scene>
</WatchFace>

أنشئ ملف XML هذا باسم res/raw/watchface.xml عند إنشاء خلفية شاشة الساعة، إذا كنت تعمل على خلفية شاشة ساعة واحدة. لتتوافق مع أشكال وأحجام الشاشة المختلفة، يجب الإفصاح عن توافق التطبيق مع أشكال وأحجام متعددة.

العنصر الجذر هو دائمًا WatchFace. تحدِّد القيمة height وwidth مساحة الإحداثيات لاستخدامها في خلفية شاشة الساعة، ويتم توسيع خلفية شاشة الساعة لتلائم الجهاز الذي يتم استخدامه عليه. ولا تمثل القيمة height وwidth الوحدات البكسلية الفعلية.

ينظِّم تنسيق خلفية شاشة الساعة عدة تفاصيل عن خلفية شاشة ساعتك:

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

تكون السمات من النوع الثابت وتتضمّن إرشادات حول معدّل التكرار والقيم الصالحة لتجنُّب معظم مصادر الأخطاء عند إنشاء خلفية شاشة ساعة.

الإفصاح عن توافق التطبيق مع أشكال خلفيات شاشة الساعة (اختياري)

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

في دليل موارد res/xml الخاص بتطبيقك، حدِّد مجموعة أشكال خلفيات شاشة الساعة التي تتيحها في watch_face_shapes.xml:

<WatchFaces>

    <WatchFace shape="CIRCLE" width="300" height="300"
               file="@raw/watchface"/>
    <WatchFace shape="CIRCLE" width="450" height="450"
               file="@raw/watchface_large_circle"/>

    <!-- Remove any references to rectangular watch faces -->
    <WatchFace shape="RECTANGLE" width="380" height="400"
               file="@raw/watchface_rectangle"/>
</WatchFaces>

بعد ذلك، حدِّد مظهر خلفية شاشة الساعة وسلوكها لكل شكل من أشكال خلفية شاشة الساعة. إذا لم تحدِّد ملف أشكال، ما عليك سوى إنشاء ملف واحد، وهو watchface.xml.

باستخدام المثال من هذا القسم، ستكون ملفات XML الأوّلية على النحو التالي:

  • res/raw/watchface.xml
  • res/raw/watchface_large_circle.xml
  • res/raw/watchface_rectangle.xml

تحديد ناشر خلفية شاشة الساعة (اختياري)

يمكنك اختياريًا في ملف بيان تطبيقك إدراج سلسلة عشوائية يمكنك استخدامها لتحديد ناشر خلفية شاشة الساعة أو اسم الأداة وإصدارها اللذَين تستخدمهما:

<application ...>
    ...
    <property
        android:name="com.google.wear.watchface.format.publisher"
        android:value="<var>{toolName}-{toolVersion}</var>" />
</application>

التحقّق من صحة خلفية شاشة الساعة وأدائها

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

إنشاء حِزمة تطبيق خلفية شاشة الساعة

لإنشاء مجموعة حزمات تطبيق Android التي تحتوي على خلفية شاشة الساعة، استخدِم نظام الإنشاء Gradle. اطّلِع على مزيد من المعلومات عن كيفية إنشاء تطبيق باستخدام Gradle.

ويتم توضيح ذلك في عيّنات GitHub.