تنظیم فرمت چهره ساعت

این راهنما شامل مراحل مربوط به ابزارهایی است که برای پیکربندی صفحه ساعت با استفاده از فرمت Watch Face نیاز دارید، چند پیشنهاد در مورد ساختار پروژه، و راهنمای گام به گام برای استفاده از ابزارها برای ایجاد آن ساختار.

پیش نیازها

برای آماده سازی محیط توسعه خود برای استفاده از فرمت Watch Face، مراحل راه اندازی زیر را انجام دهید:

  1. SDK را برای Android 14 (سطح API 34) یا بالاتر نصب کنید. اگر صفحه ساعت شما به ویژگی‌ها یا رفتار مخصوص نسخه 2 متکی نیست، می‌توانید به جای آن SDK را برای Android 13 (سطح API 33) نصب کنید.

    SDK شامل سایر ابزارهای مورد نیاز، از جمله aapt2 و android.jar است.

  2. از طرف دیگر ، Android Studio را نصب کنید، که می تواند این ابزارها را نیز ارائه دهد.

ساختار پروژه

وقتی یک صفحه ساعت سفارشی ایجاد می‌کنید که از فرمت Watch Face استفاده می‌کند، برنامه Android App Bundle که شامل فایل صفحه ساعت سفارشی می‌شود باید کاملاً جدا از Android App Bundle که حاوی منطق برنامه Wear OS شما است، باشد. برخی از فروشگاه‌های برنامه، از جمله Google Play، از آپلود یک Android App Bundle که شامل منطق Wear OS و صفحه ساعت سفارشی است، جلوگیری می‌کنند.

بسته صفحه ساعت ایجاد کنید

برای ایجاد یک Android App Bundle که دارای یک فایل صفحه ساعت است، مراحل نشان داده شده در بخش‌های زیر را کامل کنید.

استفاده از فرمت Watch Face را اعلام کنید

در فایل مانیفست برنامه جدید خود ( AndroidManifest.xml )، یک ویژگی برنامه اضافه کنید که نشان دهنده استفاده شما از قالب Watch Face است. اگر نمی‌خواهید دسترسی به صفحه ساعت خود را برای دستگاه‌های دارای سیستم‌عامل Wear OS 5 یا بالاتر محدود کنید، 2 APK صفحه ساعت مختلف ایجاد کنید، یکی که از نسخه 2 و دیگری از نسخه 1 پشتیبانی می‌کند. درباره نحوه پیکربندی نسخه‌های برنامه خود بیشتر بدانید.

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<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"
        ...>
        <property
            android:name="com.google.wear.watchface.format.version"
            android:value="2" />
    </application>
</manifest>

فراداده چهره ساعت را اعلام کنید

در فهرست منابع res/xml برنامه خود، یک فایل جدید به نام watch_face_info.xml ایجاد کنید. این جایی است که شما متادیتای صفحه ساعت خود را تعریف می کنید:

<?xml version="1.0" encoding="utf-8"?>
<WatchFaceInfo>
    <!-- Only "Preview" is required. -->
    <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

اینکه آیا صفحه ساعت قابل ویرایش است یا خیر، به این معنی که صفحه ساعت دارای تنظیمات یا حداقل یک عارضه غیر ثابت است. این برای نمایش یا پنهان کردن دکمه ویرایش برای صفحه ساعت در لیست علاقه مندی ها استفاده می شود.

مقدار پیش فرض: false

نام چهره ساعت را اعلام کنید

در فایل مانیفست برنامه خود ( AndroidManifest.xml )، ویژگی android:label روی نام صفحه ساعت خود تنظیم کنید:

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

اعلام پشتیبانی از شکل‌های صورت ساعت (اختیاری)

این مرحله فقط در صورتی ضروری است که بخواهید از رفتارهای مختلف برای اندازه های مختلف صفحه ساعت پشتیبانی کنید. اگر از صفحه نمایش ساعت خود با اندازه ساعت راضی هستید، می توانید از این مرحله صرف نظر کنید.

در فهرست منابع res/xml برنامه‌تان، مجموعه‌ای از اشکال چهره ساعتی را که در watch_face_shapes.xml پشتیبانی می‌کنید، اعلام کنید:

<WatchFaces>
    <!-- The default shape is "CIRCLE". -->
    <WatchFace shape="CIRCLE" width="300" height="300"
               file="@raw/watchface"/>
    <WatchFace shape="CIRCLE" width="450" height="450"
               file="@raw/watchface_large_circle"/>
    <WatchFace shape="RECTANGLE" width="380" height="400"
               file="@raw/watchface_rectangle"/>
</WatchFaces>

جزئیات صفحه ساعت را اعلام کنید

در دایرکتوری منابع res/raw برنامه‌تان، فایل‌هایی مطابق با مقادیر ویژگی file مورد استفاده در هنگام اعلام پشتیبانی از اشکال چهره ساعت ایجاد کنید.

این جایی است که شما ظاهر و رفتار صفحه ساعت خود را برای هر شکل صفحه ساعت تعریف می کنید. اگر فایل shapes را تعریف نکرده‌اید، فقط باید یک فایل به watchface.xml ایجاد کنید.

با استفاده از مثال این صفحه، فایل های XML خام به صورت زیر خواهند بود:

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

عنصر اصلی همیشه WatchFace است:

<WatchFace width="450" height="450" clipShape="CIRCLE">
    <!-- Remainder of your Watch Face Format definition here. -->
    <!-- If this file defines a watch face for a circular device shape, place
         resources used in this file in the "/res/drawable-nodpi" directory. -->
    <!-- If this file defines a watch face for a rectangular or other
         non-circular shape, place resources ued in this file in the
         "/res/drawable-notround-nodpi" directory. -->
</WatchFace>

شناسایی ناشر چهره ساعت (اختیاری)

در صورت تمایل، در فایل مانیفست برنامه خود، یک رشته دلخواه را اعلام کنید که می توانید از آن برای شناسایی ناشر صفحه ساعت یا نام ابزار و نسخه ای که استفاده می کنید استفاده کنید:

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

صحت و عملکرد صفحه ساعت خود را بررسی کنید

در طول توسعه، و قبل از آپلود در Google Play، از ابزار اعتبارسنجی استفاده کنید تا بررسی کنید که صفحه ساعت شما خطا ندارد و با توصیه‌های استفاده از حافظه مطابقت دارد.

بسته برنامه ساعت خود را بسازید

برای ساختن Android App Bundle که حاوی صفحه ساعت شماست، از سیستم ساخت Gradle استفاده کنید. درباره نحوه ساخت برنامه با استفاده از Gradle بیشتر بیاموزید.

این در نمونه های GitHub نشان داده شده است.

{% کلمه به کلمه %} {% آخر کلمه %} {% کلمه به کلمه %} {% آخر کلمه %}