ตั้งค่า Watch Face Format

คำแนะนำนี้ประกอบด้วยขั้นตอนเกี่ยวกับเครื่องมือที่จำเป็นในการกำหนดค่าหน้าปัด โดยใช้ Watch Face Format คำแนะนำบางส่วนเกี่ยวกับโครงสร้างของโครงการ คำแนะนำทีละขั้นตอนในการใช้เครื่องมือเพื่อสร้างโครงสร้างดังกล่าว

สิ่งที่ต้องมีก่อน

วิธีเตรียมสภาพแวดล้อมในการพัฒนาสำหรับการใช้ Watch Face Format ทำตามขั้นตอนการตั้งค่าต่อไปนี้ให้เสร็จสิ้น

  1. ติดตั้ง SDK สำหรับ Android 14 (API ระดับ 34) ขึ้นไป หากหน้าปัดของคุณ ไม่ได้อาศัยฟีเจอร์หรือลักษณะการทำงานเฉพาะของเวอร์ชัน 2 คุณสามารถ ให้ติดตั้ง SDK สำหรับ Android 13 (API ระดับ 33) แทน

    SDK มีเครื่องมืออื่นๆ ที่จำเป็น รวมถึง aapt2 และ android.jar

  2. หรือติดตั้ง Android Studio ซึ่งสามารถจัดเตรียมรายการเหล่านี้ และเครื่องมือการประมาณที่กำหนดได้เอง

โครงสร้างของโปรเจ็กต์

เมื่อคุณสร้างหน้าปัดที่กำหนดเองซึ่งใช้ Watch Face Format อุปกรณ์ Android App Bundle ที่มีไฟล์หน้าปัดที่กำหนดเองต้องแยกจากกันโดยสมบูรณ์ จาก Android App Bundle ที่มีตรรกะของแอป Wear OS บางแอป Store รวมถึง Google Play ป้องกันไม่ให้คุณอัปโหลด Android App Bundle ที่มีทั้งตรรกะของ Wear OS และหน้าปัดที่กำหนดเอง

สร้างแพ็กเกจหน้าปัด

หากต้องการสร้าง Android App Bundle ที่มีไฟล์หน้าปัด ให้ทำตามขั้นตอนต่อไปนี้ ขั้นตอนที่แสดงในส่วนต่อไปนี้

ประกาศการใช้ Watch Face Format

ในไฟล์ Manifest ของแอปใหม่ (AndroidManifest.xml) ให้เพิ่มแอปพลิเคชัน ที่ระบุการใช้งาน Watch Face Format ของคุณ ยกเว้นกรณีที่คุณต้องการ จำกัดการเข้าถึงหน้าปัดสำหรับอุปกรณ์ที่ใช้ Wear OS 5 ขึ้นไป สร้าง APK หน้าปัดแบบต่างๆ 2 รายการ โดยรายการหนึ่งรองรับเวอร์ชัน 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

หน้าปัดแก้ไขได้หรือไม่ ซึ่งหมายความว่าหน้าปัดมี หรือข้อมูลแทรกที่ไม่คงที่อย่างน้อย 1 รายการ ส่วนนี้ใช้เพื่อแสดงหรือ ซ่อนปุ่มแก้ไขสำหรับหน้าปัดในรายการโปรด

ค่าเริ่มต้น: false

ประกาศชื่อหน้าปัด

ในไฟล์ Manifest ของแอป (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 เมื่อคุณประกาศการรองรับหน้าปัด รูปร่าง

ซึ่งเป็นที่ที่คุณกำหนดลักษณะและการทำงานของหน้าปัดสำหรับ รูปร่างของหน้าปัดแต่ละแบบ ถ้าคุณไม่ได้กำหนดไฟล์รูปทรง คุณต้องใช้เพียง เพื่อสร้างไฟล์ 1 รายการ watchface.xml

หากใช้ตัวอย่างจากหน้านี้ ไฟล์ XML แบบ RAW จะมีรูปแบบดังนี้

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

องค์ประกอบรูทจะเป็น WatchFace เสมอ

<WatchFace width="450" height="450" shape="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>

ระบุผู้เผยแพร่หน้าปัด (ไม่บังคับ)

หรือในไฟล์ Manifest ของแอป ให้ประกาศสตริงที่กำหนดเองที่คุณ สามารถใช้เพื่อระบุผู้เผยแพร่ของหน้าปัด หรือชื่อเครื่องมือและ เวอร์ชันที่คุณใช้อยู่

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

ตรวจสอบความถูกต้องและประสิทธิภาพของหน้าปัด

ระหว่างการพัฒนาและก่อนการอัปโหลดไปยัง Google Play ให้ใช้โปรแกรมตรวจสอบ เครื่องมือเพื่อตรวจสอบว่าหน้าปัดไม่มีข้อผิดพลาด และ เป็นไปตามคำแนะนำในการใช้หน่วยความจำ

สร้าง App Bundle หน้าปัด

หากต้องการสร้าง Android App Bundle ที่มีหน้าปัด ให้ใช้ ระบบบิลด์ Gradle ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างแอปโดยใช้ Gradle

ซึ่งจะเห็นได้จากตัวอย่าง GitHub