ข่าวสารเกี่ยวกับผลิตภัณฑ์

มีอะไรใหม่ใน Wear OS 7

อ่าน 9 นาที
John Zoeller
วิศวกรนักพัฒนาซอฟต์แวร์สัมพันธ์ของ Wear OS

วันนี้เรายินดีที่จะเปิดตัว Wear OS 7 ซึ่งเป็นการอัปเดตครั้งสำคัญที่จะนำยุคใหม่ของประสิทธิภาพการใช้พลังงานและระบบอัจฉริยะมาสู่ผู้ใช้และนักพัฒนาแอป

เราทราบดีว่านาฬิกาเป็นอุปกรณ์ที่สำคัญและเป็นเพื่อนคู่ใจของผู้ใช้ตลอดทั้งวัน เราจึงลงทุนอย่างต่อเนื่องในการเพิ่มประสิทธิภาพการใช้พลังงานเพื่อให้ผู้ใช้ทำสิ่งต่างๆ ได้มากขึ้นด้วยแอปโปรด สำหรับนาฬิกาที่อัปเกรดจาก Wear OS 6 เป็น Wear OS 7 ผู้ใช้ทั่วไปจะได้รับแบตเตอรี่ที่ใช้งานได้นานขึ้นสูงสุด 10%

นอกจากนี้ นาฬิกาบางรุ่นที่จะเปิดตัวภายในปีนี้จะมาพร้อมกับ Gemini Intelligence ซึ่งเป็นส่วนหนึ่งของการเปิดตัวในวงกว้างไปยังระบบนิเวศของ Android โดยจะให้ความช่วยเหลือเชิงรุกและปรับเปลี่ยนตามโปรไฟล์แก่ผู้ใช้เพื่อให้ผู้ใช้มุ่งเน้นไปที่สิ่งที่สำคัญได้

Wear OS 7 มาพร้อมความสามารถใหม่ของระบบและเครื่องมือสำหรับนักพัฒนาแอปที่ได้รับการปรับปรุง ฟีเจอร์ใหม่ๆ ที่ผู้ใช้จะได้เห็น เช่น ข้อมูลอัปเดตแบบเรียลไทม์ และตัวควบคุมสื่อที่ได้รับการปรับปรุงจะมอบประสบการณ์การใช้งานที่ชาญฉลาดและใช้งานง่ายยิ่งขึ้นบนข้อมือ และด้วยการปรับปรุงชุดเครื่องมือสำหรับนักพัฒนาแอป เช่น Wear Compose 1.6 และ AppFunctions นักพัฒนาแอปจะสามารถปรับปรุงประสบการณ์การใช้งานแอปบนข้อมือได้  

มาเริ่มกันเลย

Wear OS 7 Canary

ตอนนี้คุณสามารถลองใช้แพลตฟอร์มสมาร์ทวอทช์เวอร์ชันถัดไปของ Google อย่าง Wear OS 7 Canary Emulator ซึ่งอิงตาม Android 17 ที่จะเปิดตัวภายในปีนี้  

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

ดู สิ่งที่เปลี่ยนแปลงและเริ่มทดสอบแอปได้เลยวันนี้

สำรวจฟีเจอร์ใหม่ของ Wear OS

วิดเจ็ต Wear OS

วิดเจ็ต (1).png

การ์ดแบบเต็มหน้าจอเป็นพื้นที่ที่ผู้ใช้ Wear OS เลือกใช้เพื่อเข้าถึงข้อมูลอัปเดตที่สำคัญได้อย่างรวดเร็ว เนื่องจากระบบนิเวศของ Android กำลังมุ่งไปสู่วิสัยทัศน์ที่รวมเป็นหนึ่งเดียวสำหรับวิดเจ็ต เราจึงนำนาฬิกาเข้าใกล้กับอุปกรณ์อื่นๆ ในตระกูล Android มากขึ้นโดยมีเป้าหมายเพื่อลดความพยายามของนักพัฒนาแอป

วันนี้เรายินดีที่จะเปิดตัวก้าวต่อไปของการพัฒนาการ์ด นั่นคือ วิดเจ็ต Wear ที่ยืดหยุ่นและไดนามิก

วิดเจ็ต Wear ขับเคลื่อนโดยJetpack Glance และเฟรมเวิร์กRemoteCompose ใหม่ ซึ่งแสดงออกได้มากขึ้นและมีความสอดคล้องกับ Compose มากกว่าไลบรารี Tiles ProtoLayout วิดเจ็ต Wear รองรับเลย์เอาต์การ์ดใหม่ 2 แบบ ได้แก่ ขนาดเล็กและขนาดใหญ่ ซึ่งเข้ากันได้ดีกับรูปแบบ 2x1 และ 2x2 ในอุปกรณ์เคลื่อนที่ จึงทำให้การออกแบบของคุณดูสอดคล้องกันในอุปกรณ์ต่างๆ ขณะเดียวกันก็ยังช่วยให้คุณเพิ่มประสิทธิภาพการออกแบบสำหรับข้อมือได้

คุณสามารถปรับ UI จาก mainSlot ของการ์ดแบบเต็มหน้าจอให้เป็นวิดเจ็ต 2x2 ได้อย่างง่ายดาย ลองดูเลย

widgets code (1).png

ดูรายละเอียดทั้งหมดเกี่ยวกับฟีเจอร์ใหม่ได้ในวิดีโอพูดคุยเรื่องวิดเจ็ตที่งาน I/O ภายในสัปดาห์นี้ และลองใช้คู่มือเริ่มต้นใช้งานวิดเจ็ตเพื่อเพิ่มวิดเจ็ตลงในประสบการณ์การใช้งาน Wear OS

ข้อมูลอัปเดตแบบเรียลไทม์

บล็อกโพสต์ข้อมูลอัปเดตแบบเรียลไทม์ (1).png

Wear OS 7 นำข้อมูลอัปเดตแบบเรียลไทม์มาสู่สมาร์ทวอทช์

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

ในแอปสมาร์ทวอทช์ ให้ใช้ข้อมูลอัปเดตแบบเรียลไทม์แทน Ongoing Activities API เพื่อเผยแพร่ข้อมูลอัปเดตในอุปกรณ์ Wear 7 ทั้งหมด สำหรับ OEM ที่รองรับ ข้อมูลอัปเดตแบบเรียลไทม์ที่เผยแพร่โดยแอปโทรศัพท์จะเชื่อมโยงกับนาฬิกาของผู้ใช้ด้วย

ดูวิธีที่ Just Eat ให้ข้อมูลอัปเดตแก่ผู้ใช้ด้านบน

ดูข้อมูลเพิ่มเติมได้ที่ การแจ้งเตือนใน Wear OS

เชื่อมต่อแอปกับระบบอัจฉริยะ

เรากำลังดำเนินการหลายวิธีเพื่อให้นักพัฒนาแอปมอบประสบการณ์การใช้งานแบบเป็น Agent บนนาฬิกาได้ ตั้งแต่ AppFunctions ไปจนถึงเครื่องมือการทำงานอัตโนมัติ

เราจะประกาศเครื่องมือเหล่านี้ในบล็อกสำหรับนักพัฒนาแอปเมื่อพร้อมใช้งาน และจัดทำคู่มือสำหรับนักพัฒนาแอปแบบครอบคลุมเพื่อช่วยคุณเลือกเครื่องมือที่เหมาะสมและสร้างการใช้งานที่มีประสิทธิภาพ ตอนนี้มาดูข้อมูลเบื้องต้นกันก่อน

AppFunctions

Watch_IO26_Samsung_App_Functions (1).gif

AppFunctions API ช่วยให้นักพัฒนาแอปผสานรวมแอปกับ Agent และผู้ช่วย เช่น Google Gemini ได้ ซึ่งจะช่วยให้ผู้ใช้ทำงานให้เสร็จได้โดยใช้เสียง และมักจะแทนที่การนำทางด้วย UI แบบทีละขั้นตอนด้วยตนเอง  

ตัวอย่างเช่น หากต้องการเริ่มวิ่งด้วยแอป Samsung Health ผู้ใช้จะบอก Gemini ได้ว่า "เริ่มติดตามการวิ่งของฉัน"

ปัจจุบันเรากำลังจัดโปรแกรมทดลองใช้ก่อนเปิดตัวสำหรับนักพัฒนาแอปที่สนใจ ลงชื่อสมัครใช้ ในแบบฟอร์มเพื่อแสดงความสนใจ

การทำงานอัตโนมัติ

Watch_IO26_RemoteBonobo_Doordash_onBG_a22_GIF (1).gif

นอกจากนี้ ผู้ใช้จะสามารถเรียกใช้และติดตาม งานของแอปที่ทำงานอัตโนมัติสำหรับแอปโทรศัพท์บางแอปได้จากนาฬิกาโดยตรง เช่น การสั่งซื้อกับ DoorDash โดยไม่ต้องเสียเวลาในการพัฒนาเลย

โปรดคอยติดตามตัวเลือกที่ยืดหยุ่นเหล่านี้เกี่ยวกับวิธีเตรียมและเชื่อมต่อแอปกับระบบอัจฉริยะของ Android ในบล็อกสำหรับนักพัฒนาแอป

เครื่องมือติดตามการออกกำลังกายของ Wear

Watch_IO26_SystemFitnessTracker_onBG_a05 (1).gif

เราทราบดีว่าการสร้างประสบการณ์การติดตามการออกกำลังกายที่มีฟีเจอร์ครบครันและมีคุณภาพสูงบน Wear OS ตั้งแต่เริ่มต้นต้องใช้ทรัพยากรจำนวนมาก เราจึงสร้างประสบการณ์การใช้งานเครื่องมือติดตามการออกกำลังกายของ Wear ใหม่ทั้งหมดสำหรับแอปออกกำลังกาย ซึ่งจะรวมอยู่ใน Wear OS ภายในปีนี้

เครื่องมือติดตามการออกกำลังกายมอบประสบการณ์การติดตามการออกกำลังกายที่สมบูรณ์และได้มาตรฐาน ซึ่งรวมถึงการตรวจสอบอัตราการเต้นของหัวใจ การควบคุมสื่อ และฟีเจอร์อื่นๆ ที่มีประโยชน์มากมายเพื่อช่วยคุณลดการลงทุนในการพัฒนา ขณะเดียวกันก็รับประกันประสบการณ์การใช้งานคุณภาพสูงสำหรับผู้ใช้

เราทำงานร่วมกับ ASICS Runkeeper อย่างใกล้ชิดเพื่อนำเครื่องมือนี้ไปให้ผู้ใช้ได้ลองใช้

ตัวควบคุมสื่อของระบบที่ได้รับการปรับปรุงใน Wear OS 7

Wear OS 7 ปรับปรุงตัวควบคุมสื่อของระบบเพื่อให้ผู้ใช้ควบคุมสื่อได้มากขึ้นและได้รับประสบการณ์การใช้งานที่ราบรื่น

ตัวควบคุมการเปิดตัวสื่ออัตโนมัติต่อแอป

Watch_IO26_AutoLaunch_Media_onBG_a05 (1).gif

ตอนนี้ผู้ใช้สามารถปรับแต่งประสบการณ์การเปิดตัวสื่ออัตโนมัติต่อแอปได้โดยตรงจากตัวควบคุมสื่อของระบบในนาฬิกา

สำหรับแอปที่ผู้ใช้เปิดใช้ "การตั้งค่าการเปิดตัวอัตโนมัติ" ตัวควบคุมสื่อจะปรากฏขึ้นในนาฬิกาโดยอัตโนมัติเมื่อเริ่มเล่นสื่อในโทรศัพท์

นักพัฒนาแอปที่มีการใช้งานแอปสื่อที่ขยายไปยังนาฬิกาอยู่แล้วจะได้รับประโยชน์จากฟีเจอร์นี้โดยไม่ต้องเสียเวลาเพิ่มเติม

การกำหนดเส้นทางเสียงอย่างราบรื่นด้วยตัวสลับเอาต์พุตระยะไกล

Remote Output Switcher (1).png

การจัดการเอาต์พุตเสียงทำได้ง่ายกว่าที่เคยด้วยตัวสลับเอาต์พุตระยะไกลใหม่ที่ผสานรวมเข้ากับตัวควบคุมสื่อของระบบ

เมื่อฟังสื่อในโทรศัพท์ที่จับคู่ไว้ ผู้ใช้จะเปลี่ยนอุปกรณ์ที่เล่นสื่อได้อย่างง่ายดายจากข้อมือ

การอัปเดตไลบรารี UI

เรากำลังเปิดตัวการปรับปรุงที่มีประสิทธิภาพบางอย่างในชุดเครื่องมือสำหรับนักพัฒนาแอปเพื่อช่วยนักพัฒนาแอปเตรียมพร้อมสำหรับอนาคตของ Wear OS ควบคู่ไปกับฟีเจอร์ใหม่ๆ ทั้งหมดนี้สำหรับผู้ใช้

Compose สำหรับ Wear OS 1.6

_Compose สำหรับ Wear OS 1.6_ พร้อมให้ใช้งานแล้ว ซึ่งเป็นรากฐานสำหรับการพัฒนา Wear OS

โดยมาพร้อมการอัปเดตที่มีประสิทธิภาพดังนี้

การนำทางที่คล่องตัวด้วย Navigation 3

นักพัฒนาแอปสามารถผสานรวมกับ Navigation 3 เพื่อจัดการการนำทางใน Wear OS ได้อย่างยืดหยุ่นและเป็นไปตามหลักการของ Compose มากขึ้น

@Composable
fun WearApp() {
    val backStack = rememberNavBackStack(MenuScreen)

    WearAppTheme {
        AppScaffold {
            val entryProvider = remember {
                entryProvider<NavKey> {
                    entry<MenuScreen> { GreetingScreen() }
                    entry<ListNavScreen> { ListScreen() }
                }
            }

            val swipeDismissableSceneStrategy = 
                rememberSwipeDismissableSceneStrategy<NavKey>()

            NavDisplay(
                backStack = backStack,
                entryProvider = entryProvider,
                sceneStrategies = listOf(swipeDismissableSceneStrategy)
            )
        }
    }
}

การปรับปรุงการจัดการรายการสำหรับ TransformingLazyColumn

เราได้ทำการปรับปรุงที่สำคัญสำหรับการจัดการรายการขั้นสูงด้วย TransformingLazyColumn ซึ่งรวมถึงการรองรับระยะห่างจากขอบที่ได้รับการปรับปรุงผ่านตัวปรับแต่ง minimumVerticalContentPadding ใหม่ และฟีเจอร์ใหม่อื่นๆ เช่น การเลื่อนเพื่อแสดงรายการถัดไปและการจัดวางแบบย้อนกลับ

val listState = rememberTransformingLazyColumnState()
val transformationSpec = rememberTransformationSpec()

/*
 * TransformingLazyColumn takes care of the horizontal and vertical
 * padding for the list and handles scrolling.
 */
ScreenScaffold(scrollState = listState) { contentPadding ->
    TransformingLazyColumn(
        state = listState,
        contentPadding = contentPadding
    ) {
        item {
            ListHeader(
                modifier = Modifier
                    .fillMaxWidth()
                    .transformedHeight(this, transformationSpec)
                    .minimumVerticalContentPadding(
                        ListHeaderDefaults.minimumTopListContentPadding
                    ),
                    transformation = SurfaceTransformation(transformationSpec)
            ) { Text(text = "Header") }
        }
    }
}

เพิ่มประสิทธิภาพประสบการณ์การใช้งานในโหมดแอมเบียนท์ด้วย LocalAmbientModeManager

LocalAmbientModeManager ใหม่ทั้งหมดได้รับการเพิ่มประสิทธิภาพสำหรับการจัดการโฟลว์แอมเบียนท์ ซึ่งช่วยให้นักพัฒนาแอปควบคุมวิธีแสดงประสบการณ์การใช้งานในโหมดแอมเบียนท์แก่ผู้ใช้ได้มากขึ้น

 
override fun onCreate(savedInstanceState: Bundle?) {
    setContent {
        val ambientModeManager = rememberAmbientModeManager()
        CompositionLocalProvider(LocalAmbientModeManager provides ambientModeManager) {
            val localAmbientModeManager = LocalAmbientModeManager.current
            val ambientMode = localAmbientModeManager?.currentAmbientMode

            Column(
                verticalArrangement = Arrangement.Center,
                horizontalAlignment = Alignment.CenterHorizontally,
                modifier = Modifier.fillMaxSize(),
            ) {
                val ambientModeName =
                    when (ambientMode) {
                        is AmbientMode.Interactive -> "Interactive"
                        is AmbientMode.Ambient -> "Ambient"
                        else -> "Unknown"
                    }

                val color = if (ambientMode is AmbientMode.Ambient) Color.Gray
                    else Color.Yellow
                Text(text = "$ambientModeName Mode", color = color)
            }
        }
    }
}

การอัปเดต Protolayout และการ์ด

แม้ว่าเราจะสนับสนุนให้นักพัฒนาแอปนำวิดเจ็ต Wear ใหม่ไปใช้ แต่เราจะยังคงรองรับไลบรารี Protolayout และการ์ดต่อไปอีกระยะหนึ่ง และเราได้เปิดตัวเวอร์ชันเสถียรใหม่ของทั้ง 2 ไลบรารีแล้ว

Protolayout 1.4 และ การ์ด 1.6 ทำงานร่วมกันเพื่อมอบฟีเจอร์ใหม่ที่โดดเด่นหลายอย่าง ซึ่งรวมถึง

  • ทรัพยากรรูปภาพแบบอินไลน์: ตอนนี้ ImageResource สามารถอินไลน์ภายในเลย์เอาต์ได้โดยตรง และการ์ดรองรับการรวบรวมทรัพยากรโดยอัตโนมัติผ่าน ProtoLayoutScope ซึ่งช่วยลดความจำเป็นในการแมปทรัพยากรด้วยตนเองและการแยกออกเป็นเมธอดต่างๆ นอกเหนือจากคุณภาพโค้ดที่ดีขึ้นแล้ว ฟีเจอร์นี้ยังช่วยลดเวลาในการโหลดการ์ดด้วยการรวมเข้ากับการเรียก Binder ครั้งเดียวจากระบบไปยังบริการของผู้ให้บริการ
  • Material3TileService: การ์ดสามารถนำไปใช้เป็น Material3TileService ได้ ซึ่งเป็นฟังก์ชันระงับการทำงานแบบครอบคลุมที่แสดงผลทั้งเลย์เอาต์การ์ดและทรัพยากร ขณะเดียวกันก็จัดการ MaterialScope และ ProtoLayoutScope โดยอัตโนมัติเพื่อลดความซับซ้อนของประสบการณ์การพัฒนา
  • การสลับบริการแบบไดนามิก: ใน Wear 7 ตอนนี้สามารถจัดกลุ่มอินสแตนซ์ TileService หลายรายการไว้ในไฟล์ Manifest เพื่อเปิดใช้การสลับแบบไดนามิกระหว่างบริการต่างๆ ที่แสดงการ์ดเดียวกัน

ดูตัวอย่างการ์ดใหม่ ที่นี่

WFF 5

ตอนนี้ Watch Face Format เวอร์ชัน 5 (WFF5) พร้อมให้ใช้งานแล้ว โดยมาพร้อมฟีเจอร์ใหม่มากมายที่จะช่วยให้สร้างหน้าปัดได้ง่ายขึ้น ซึ่งรวมถึง

  • ตัวเลือกการจัดตำแหน่งที่ได้รับการปรับปรุง: องค์ประกอบข้อความ เช่น TextCircular จะมีตัวเลือกการจัดตำแหน่งเพิ่มเติม ซึ่งรวมถึง verticalAlign ในบรรทัดฐานเดียวกันสำหรับองค์ประกอบข้อความหลายรายการ
  • การปรับปรุงการปรับขนาดอัตโนมัติ: ตอนนี้ isAutoSize สามารถใช้กับ TextCircular ได้แล้ว และเราได้เพิ่มแอตทริบิวต์ใหม่ minSize ลงในองค์ประกอบ Font เพื่อจำกัดขนาดต่ำสุดเมื่อเปิดใช้การปรับขนาดอัตโนมัติ
  • โหมดการผสม: ตอนนี้องค์ประกอบ Group และ ComplicationSlot รองรับ โหมดการผสม นอกเหนือจากการรองรับที่มีอยู่สำหรับองค์ประกอบ Part*
  • การเชื่อมเส้น: ตอนนี้องค์ประกอบ Stroke และ WeightedStroke มีแอตทริบิวต์ join แล้ว
  • การตั้งค่าแบบลำดับชั้น: ตอนนี้สไตล์ของผู้ใช้สามารถจัดโครงสร้างเป็นลำดับชั้นได้ โดยการตั้งค่าบางอย่างจะปรากฏขึ้นเมื่อการตั้งค่าอื่นๆ มีค่าที่เฉพาะเจาะจงเท่านั้น นอกจากนี้ ตอนนี้สไตล์ของผู้ใช้ยังเปิดหรือปิดใช้ช่องข้อมูลแทรกได้ด้วย คุณสามารถกำหนดค่าช่องข้อมูลแทรกเหล่านี้ได้โดยใช้ childSettingIds และ complicationSlotIds ในตัวเลือกสไตล์ของผู้ใช้

ดูข้อมูลเพิ่มเติมเกี่ยวกับ WFF 5 ได้ใน คำแนะนำใหม่สำหรับนักพัฒนาแอป

เริ่มสร้างแอปสำหรับ Wear OS 7 ได้เลย

การอัปเดตเหล่านี้ทำให้ตอนนี้เป็นเวลาที่ดีที่สุดในการพัฒนาแอปบน Wear OS แหล่งข้อมูลทางเทคนิคต่อไปนี้เป็นแหล่งข้อมูลที่ยอดเยี่ยมในการดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีเริ่มต้นใช้งาน

เราหวังว่าจะได้เห็นประสบการณ์การใช้งานที่คุณสร้างขึ้นบน Wear OS

เขียนโดย

อ่านต่อ