navigation3

  
Navigation 3 เป็นไลบรารีการนำทางใหม่ที่ออกแบบมาให้ทำงานร่วมกับ Compose
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า รุ่นอัลฟ่า
8 ตุลาคม 2025 - - - 1.0.0-alpha11

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มการอ้างอิงใน Navigation3 คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงใน โปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google

เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับ แอปหรือโมดูล

Groovy

dependencies {
    implementation "androidx.navigation3:navigation3-runtime:1.0.0-alpha11"
    implementation "androidx.navigation3:navigation3-ui:1.0.0-alpha11"
}

Kotlin

dependencies {
    implementation("androidx.navigation3:navigation3-runtime:1.0.0-alpha11")
    implementation("androidx.navigation3:navigation3-ui:1.0.0-alpha11")
}

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพาบิลด์

ความคิดเห็น

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

สร้างปัญหาใหม่

ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของเครื่องมือติดตามปัญหา

ไม่มีบันทึกประจำรุ่นสำหรับอาร์ติแฟกต์นี้

รุ่น 1.0

เวอร์ชัน 1.0.0-alpha11

8 ตุลาคม 2025

androidx.navigation3:navigation3-*:1.0.0-alpha11 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha11 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • วิธี calculateScene ใน SceneStrategy ไม่@Composableอีกต่อไป แต่ให้พิจารณาย้ายงานนี้ไปที่การสร้างเมธอด SceneStrategy (เช่น ในเมธอด rememberMySceneStrategy()) ซึ่งจะช่วยให้คุณกำหนดอายุของค่า rememberSaveable หรือคำสั่งคีย์ remember ใดๆ จากค่าที่ถูกต้องได้อย่างเต็มที่ (If1733, b/448709506)
  • เราได้ย้ายพารามิเตอร์ onBack สำหรับ SceneStrategy.calculateScene ไปยังขอบเขตตัวรับใหม่ของ SceneStrategyScope เพื่อให้เห็นชัดเจนยิ่งขึ้นว่าพารามิเตอร์นี้เป็นพารามิเตอร์ที่ไม่บังคับ และเพื่อเป็นจุดขยายสำหรับฟีเจอร์ Navigation3 ในอนาคต (I3aea3, b/448460407)
  • onBack แลมบ์ดาที่ส่งไปยัง NavDisplay และไปยัง SceneStrategy จะไม่ระบุพารามิเตอร์ count: Int เพื่อระบุเวลาที่ควรแสดงรายการหลายรายการอีกต่อไป แต่ตอนนี้ระบบจะเรียกใช้ () -> Unit Lambda หลายครั้งติดต่อกันในกรณีที่พบได้ยากซึ่งคำขอ Scene ของคุณแสดงรายการหลายรายการ (Idedb5, b/446989346)
  • นำคลาส NavEntryWrapper ออกและแทนที่ฟังก์ชันการทำงานด้วยคลาส NavEntry สุดท้ายที่มีตัวสร้างรองใหม่ซึ่งใช้ NavEntry ที่มีเนื้อหาใหม่ ซึ่งจะช่วยให้เราสนับสนุนการห่อหุ้มรายการด้วยเนื้อหาใหม่ต่อไปได้ (I7da2a, b/444447130)
  • เราได้นำฟังก์ชัน navEntryDecorator ซึ่งสร้างและแสดงผล NavEntryDecorator ออกแล้ว และแทนที่ด้วยคลาส NavEntryDecorator ซึ่งตอนนี้ได้เปิดให้ใช้งานแบบสาธารณะและเปิดให้สร้างคลาสย่อยได้แล้ว (If81f8, b/444447434, b/447381176)
  • เราได้เปลี่ยนชื่อ SavedStateNavEntryDecorator เป็น SaveableStateHolderNavEntryDecorator แล้วเนื่องจากจะตกแต่งรายการด้วย SaveableStateHolder นอกจากนี้ เรายังได้ปรับโครงสร้างตัวตกแต่งจากฟังก์ชันเป็นคลาส เนื่องจากตัวตกแต่งเป็นโรงงานสำหรับ NavEntryDecorator ในเชิงฟังก์ชัน (Ie6013, b/447381176)
  • การแสดงผลที่กำหนดเองซึ่งใช้ SceneState เป็นทางเลือกแทนการใช้ NavDisplay ไม่จำเป็นต้องใช้การเรียบเรียง LocalEntriesToRenderInCurrentScene ในเครื่องอีกต่อไป ซึ่งตอนนี้เป็นแบบภายในแล้ว (Ic40ef, b/414668196)
  • นำ SceneSetupNavEntryDecorator และ rememberSceneSetupNavEntryDecorator() ออกจาก API สาธารณะ ตอนนี้ฟังก์ชันนี้จะรวมอยู่โดยค่าเริ่มต้นโดยที่คุณไม่ต้องรวมไว้ด้วยตนเอง (Ieae42, b/444479133)
  • ตอนนี้ NavEntry, DialogScene, SinglePaneScene และ SceneState ทั้งหมดใช้ equals แล้ว (I96121)
  • อินเทอร์เฟซฉากมีฟิลด์ข้อมูลเมตาใหม่เพื่อแนบข้อมูลเมตาเฉพาะฉากสำหรับ NavDisplay ซึ่งช่วยให้ฉากแทนที่ข้อมูลเมตาใน NavDisplay ได้ เช่น ด้วยการเปลี่ยนฉาก (I1fd96, b/443955625)
  • ลดความซับซ้อนของrememberNavBackStackลายเซ็นโดยนำพารามิเตอร์ประเภททั่วไปที่ซ้ำซ้อนออก ตอนนี้ฟังก์ชันนี้ยอมรับ vararg elements: NavKey แล้ว (I03e45)
  • ตอนนี้ภาพเคลื่อนไหวเริ่มต้นสำหรับ NavDisplay เป็นส่วนหนึ่งของ API ทั่วไปแล้ว ซึ่งช่วยให้เรียกใช้จากทุกแพลตฟอร์มได้ (I71af9, b/447147159)
  • เปลี่ยนชื่อ EntryProviderBuilder เป็น EntryProviderScope เพื่อให้แสดงอย่างถูกต้องว่าคลาสเป็น Kotlin DSL ที่ให้ขอบเขตในการสร้าง NavEntries (Ia7465)

การแก้ไขข้อบกพร่อง

  • rememberNavBackStack() บังคับใช้การซีเรียลไลซ์แบบ Polymorphic สำหรับ NavKey และกำหนดให้ใช้ SavedStateConfiguration ที่กำหนดเองซึ่งได้รับการกำหนดค่าเพื่อให้แน่ใจว่ามีการคืนค่าสถานะอย่างถูกต้อง เราได้อัปเดต KDoc เพื่อให้สอดคล้องกับข้อกำหนดที่ว่าต้องลงทะเบียนประเภท NavKey ย่อยทั้งหมดใน SerializersModule ที่ระบุ (I6de37,I782f2, b/446664383)

เวอร์ชัน 1.0.0-alpha10

24 กันยายน 2025

androidx.navigation3:navigation3-*:1.0.0-alpha10 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha10 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่มNavDisplayโอเวอร์โหลดใหม่ที่รับรายการของ NavEntry<T> ซึ่งได้รับการตกแต่งโดย rememberDecoratedNavEntries (I4025b, b/441940314)
  • ย้าย DialogScene ไปยังแพ็กเกจใหม่แล้ว (Ia5840)
  • นำ API สาธารณะออก DecorateNavEntry แต่ให้ใช้ rememberDecoratedNavEntries เพื่อห่อ NavEntry ด้วยรายการตกแต่งแทน (Id8c09)
  • ตอนนี้ UI ของ Navigation3 มีพร็อพเพอร์ตี้ transitionSpec ใหม่เริ่มต้นแล้ว (Ibcabd)
  • เพิ่มออบเจ็กต์ SceneState ใหม่เพื่อช่วยจัดการฉาก นอกจากนี้ ยังมีNavDisplayโอเวอร์โหลดใหม่ที่ใช้ SceneState และ NavigationEventState (Idfb46, b/444479133)
  • NavDisplay ช่วยให้คุณปรับแต่งการเปลี่ยนฉากตามSceneที่คุณกำลังจะไปและจากมาได้โดยดูที่TransitionของcurrentStateและtargetState (I906cc, b/443872322)
  • ตอนนี้ NavigationEventInfo เป็น abstract class แล้วไม่ใช่ interface อัปเดตการติดตั้งใช้งานที่กำหนดเองทั้งหมดให้รับค่าจากคลาส (เช่น data class MyInfo : NavigationEventInfo()) (I1e59c, b/444734264)
  • navigationevent-compose API ตัวแฮนเดิลได้รับการอัปเดตแล้ว ตอนนี้ NavigationEventHandler และ NavigationBackHandler (และตัวแปร) รองรับการโอเวอร์โหลดใหม่ที่ยอมรับ NavigationEventStates ที่ยกขึ้น ระบบจะยังคงใช้การโอเวอร์โหลดแบบง่าย (ใช้ currentInfo) และใช้โมเดลสถานะใหม่นี้ภายใน (Ic3251, b/444734264)
  • เราได้ย้าย Scene API ทั้งหมดออกจาก navigation3-ui ไปยัง navigation3-runtime แล้ว ซึ่งหมายความว่าตอนนี้ฟีเจอร์ดังกล่าวพร้อมให้บริการในทุกแพลตฟอร์มที่ navigation3-runtime รองรับแล้ว (I431d0, b/444449993)
  • เพิ่มโอเวอร์โหลด rememberDecoratedNavEntries ใหม่ที่ใช้รายการของ NavEntry เพื่อตกแต่ง รายการอินพุตอาจได้รับการตกแต่งด้วยเครื่องมือตกแต่งรายการอื่นๆ อยู่แล้ว (I5a034, b/444230270)
  • นำพารามิเตอร์ประเภทไวลด์การ์ด navigation3 (I02540) ออก
  • ปรับปรุงการจัดการ Generics สำหรับ entryProvider DSL หากที่ผ่านมาคุณนำเข้า androidx.navigation3.runtime.entry คุณก็ไม่ต้องดำเนินการดังกล่าวอีกต่อไป (I299fc)
  • จำกัดการโอเวอร์โหลด NavBackStackSerializer ที่อิงตามการสะท้อนไว้เฉพาะ Android การดำเนินการนี้จะป้องกันไม่ให้เกิดข้อผิดพลาดในการซีเรียลไลซ์รันไทม์โดยนัยในแพลตฟอร์มที่ไม่ใช่ Android โดยบังคับให้ใช้การโอเวอร์โหลด SavedStateConfiguration ที่ชัดเจนในโค้ดแบบหลายแพลตฟอร์ม (I73313, b/420443609)
  • สร้าง NavigationEvent swipeEdge ให้เป็น @IntDef (Icee54, b/443950342)
  • จำกัดการNavBackStackซีเรียลไลซ์ไว้เฉพาะ Android ซึ่งจะป้องกันไม่ให้เกิดข้อผิดพลาดขณะรันไทม์ในแพลตฟอร์มที่ไม่ใช่ Android หากต้องการบันทึกสถานะแบบหลายแพลตฟอร์ม ให้ใช้rememberNavBackStackโอเวอร์โหลดที่มี SavedStateConfiguration ที่ชัดเจน (I1e418, b/420443609)

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้องระหว่างการย้อนกลับแบบคาดการณ์เมื่อ NavDisplay ที่ซ้อนกันมีรายการย่อยรายการเดียว (I2cdc0, b/441933162)

เวอร์ชัน 1.0.0-alpha09

10 กันยายน 2025

androidx.navigation3:navigation3-*:1.0.0-alpha09 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha09 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • DecoratedNavEntryProvider ถูกแทนที่ด้วย rememberDecoratedNavEntries ซึ่งสร้างและแสดงผล NavEntry ที่ตกแต่งด้วยรายการ Decorator ที่ระบุ (I0fe1c, b/441328236)
  • ตอนนี้ NavBackStack เป็นแบบทั่วไปสำหรับประเภท NavKey แล้ว ซึ่งช่วยให้แอปและไลบรารีกำหนดประเภทคีย์ที่กำหนดเองสำหรับสแต็กย้อนกลับได้ แทนที่จะจำกัดไว้ที่ NavKey (I4d190,Iad2f4, b/420443609)
  • NavBackStack ตอนนี้คือ @kotlinx.serialization.Serializable ซึ่งช่วยให้คุณบันทึกและกู้คืนสถานะการนำทางเมื่อกระบวนการสิ้นสุดลงและการเปลี่ยนแปลงการกำหนดค่าได้โดยไม่ต้องมีโค้ดเพิ่มเติม (I2c3cf, b/420443609)
  • RememberNavBackStack ได้ย้ายไปที่ commonMain เพื่อให้มั่นใจว่ามีการให้บริการในแพลตฟอร์มเป้าหมายทั้งหมด (Id69e7, b/420443609)

การแก้ไขข้อบกพร่อง

  • NavDisplay ตอนนี้จะย้าย NavEntry แต่ละรายการไปยัง Lifecycle.State ที่ถูกต้องแล้ว (I30aac, b/440145700)
  • แก้ไขปัญหาที่ NavDisplay จะไม่สนใจ NavigationEventDispatcherOwner ที่ซ้อนกันซึ่งตั้งค่าผ่าน LocalNavigationEventDispatcherOwner ของไลบรารี NavigationEvent (I6224a)

การเปลี่ยนแปลงการขึ้นต่อกัน

เวอร์ชัน 1.0.0-alpha08

27 สิงหาคม 2025

androidx.navigation3:navigation3-*:1.0.0-alpha08 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha08 มีการเปลี่ยนแปลงเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่มเป้าหมาย Kotlin MultiPlatform (KMP) ใหม่ลงในอาร์ติแฟกต์ Navigation3 Runtime Navigation3 Runtime ตอนนี้รองรับแพลตฟอร์มต่อไปนี้ทั้งหมดแล้ว ได้แก่ JVM (Android และเดสก์ท็อป), Native (Linux, iOS, watchOS, macOS, MinGW) และเว็บ (JavaScript, WasmJS) (I55078, b/424410398, b/419294028, b/419046226) หมายเหตุ: วิธีนี้ไม่ได้ระบุเป้าหมาย KMP สำหรับอาร์ติแฟกต์ Navigation3 UI ในแพลตฟอร์มอื่นๆ คุณจะต้องติดตั้งใช้งาน NavDisplay ที่กำหนดเองของคุณเอง หากต้องการให้เราเพิ่มการรองรับ โปรดโหวตปัญหาของ Jetbrains ที่นี่และติดตามความคืบหน้าเพื่อรับการสนับสนุนเพิ่มเติม
  • ตอนนี้ออบเจ็กต์ NavDisplayInfo เป็นแบบสาธารณะแล้ว และสามารถใช้เพื่อดึงรายการที่มองเห็นได้จาก NavDisplay (Ibc91f)

การเปลี่ยนแปลง API

  • เพิ่ม NavBackStackSerializer ใหม่เพื่อใช้ร่วมกับ rememberNavBackStack ในการคืนค่าสถานะ rememberNavBackStack() ยังรับ SavedStateConfiguration ที่ใช้เพื่อระบุการกำหนดค่าของคุณเองได้ด้วย (I2f4d2, I4cd58, b/420443609)

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาที่การไปยังส่วนต่างๆ ทำให้เกิดเหตุการณ์วงจรที่ไม่ถูกต้อง (I8bf6d, b/425901162, b/434109022)

ปัญหาที่ทราบ

  • I8bf6d ได้แนะนำข้อบกพร่องที่ทำให้วงจรขึ้นอยู่กับฉากแทนที่จะเป็นรายการแต่ละรายการ ซึ่งทำให้วงจรใช้งานไม่ได้ในกรณีที่ key ที่ระบุให้กับ NavEntry ไม่ใช่ String หรือ NavEntry ไม่ได้ลบล้าง contentKey และตั้งค่าให้เท่ากับ key (โปรดทราบว่าการดำเนินการนี้จะบังคับให้บันทึกคีย์ลงใน Bundle ได้) เราได้แก้ไขปัญหานี้แล้วสำหรับการเปิดตัวครั้งถัดไป (b/440145700)

เวอร์ชัน 1.0.0-alpha07

13 สิงหาคม 2025

androidx.navigation3:navigation3-*:1.0.0-alpha07 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha07 มีคอมมิตเหล่านี้

การอัปเดต MinSdk

การเปลี่ยนแปลง API

  • ตอนนี้ SavedStateNavEntryDecorator ใช้ SaveableStateRegistry ที่สร้างไว้ใน SaveableStateProvider เพื่อบันทึกและกู้คืนสถานะ (If8d9a)
  • ตอนนี้ predictivePopTransitionSpec จะมีขอบการปัดเป็นพารามิเตอร์ ซึ่งช่วยให้คุณปรับแต่งการเปลี่ยนผ่านตามขอบที่ผู้ใช้เริ่มท่าทางสัมผัสย้อนกลับแบบคาดการณ์ได้ (I753a8)

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาที่ทำให้ระบบคำนวณฉากที่กำหนดเองซ้ำไม่สิ้นสุดเนื่องจากระบบจำฉากล่าสุดไม่ได้ (I7ba84, b/418153031)

การอัปเดตการขึ้นต่อกัน

เวอร์ชัน 1.0.0-alpha06

30 กรกฎาคม 2025

androidx.navigation3:navigation3-*:1.0.0-alpha06 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha06 มีการเปลี่ยนแปลงเหล่านี้

การอัปเดตการขึ้นต่อกัน

เวอร์ชัน 1.0.0-alpha05

2 กรกฎาคม 2025

androidx.navigation3:navigation3-*:1.0.0-alpha05 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha05 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลงลักษณะการทำงาน

  • ตอนนี้สถานะของ NavEntry จะอิงตามรายการตกแต่งปัจจุบันที่ส่งไปยัง NavDisplay อย่างเคร่งครัด ซึ่งหมายความว่าควรสลับ Decorator ตาม Back Stack ในกรณีที่มี Back Stack หลายรายการเพื่อรักษาสถานะของ NavEntry ใน Back Stack ไม่เช่นนั้น ระบบจะล้างสถานะราวกับว่ามีการป๊อปรายการ (แทนที่จะเป็นการสลับ) (I7a759, b/428033667)

เวอร์ชัน 1.0.0-alpha04

18 มิถุนายน 2025

androidx.navigation3:navigation3-*:1.0.0-alpha04 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha04 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • ตอนนี้ NavEntry.content เป็นแบบส่วนตัวแล้ว หากต้องการเรียกใช้NavEntryเนื้อหา ให้เรียกใช้ NavEntry.Content() API ใหม่ซึ่งไม่จำเป็นต้องใช้พารามิเตอร์ key ในการเรียกใช้ (Icd0fd, b/420991203)
  • ตอนนี้ NavEntry.key เป็นฟิลด์ส่วนตัวแล้ว NavEntry และสถานะที่เกี่ยวข้องควรระบุโดยฟิลด์ contentKey ใหม่ซึ่งสร้างจาก Lambda contentKeyFactory ใหม่และค่าเริ่มต้นเป็นแฮชที่บันทึกได้ซึ่งสร้างจาก NavEntry.key (I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812)

การเปลี่ยนแปลงการขึ้นต่อกัน

  • ตอนนี้ Navigation3 ขึ้นอยู่กับอาร์ติแฟกต์ androidx.navigationevent.compose ใหม่แล้ว

เวอร์ชัน 1.0.0-alpha03

4 มิถุนายน 2025

androidx.navigation3:navigation3-*:1.0.0-alpha03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • Navigation3 จะไม่ล้างสถานะของ Decorator สำหรับ backStacks ที่มีการสลับออกและแทนที่ด้วยอินสแตนซ์ backStack อื่นอีกต่อไป (I28a42, b/415076044)

เวอร์ชัน 1.0.0-alpha02

23 พฤษภาคม 2025

androidx.navigation3:navigation3-*:1.0.0-alpha02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha02 มีการคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาเกี่ยวกับ SavedStateNavEntryDecorator ซึ่งทำให้เกิดการชนกันสำหรับคลาสข้อมูลต่างๆ ที่มีค่าพร็อพเพอร์ตี้เดียวกัน (b/418070648, Iff4775)
  • แก้ไขปัญหาคลาสที่ขาดหายไปซึ่งอาจทำให้เกิดข้อขัดข้องเมื่อเรียกใช้โดยไม่ได้ประกาศการอ้างอิงที่ชัดเจน (b/419049149, I4b4ed)

เวอร์ชัน 1.0.0-alpha01

20 พฤษภาคม 2025

androidx.navigation3:navigation3-*:1.0.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้

ฟีเจอร์ใหม่

Navigation3 เป็นไลบรารีการนำทางใหม่ที่สร้างขึ้นเพื่อจัดการการนำทางในแอป Jetpack Compose โดยเฉพาะ androidx.navigation3.runtime อาร์ติแฟกต์เป็นส่วนประกอบพื้นฐาน ส่วนandroidx.navigation3.ui อาร์ติแฟกต์เป็นเลเยอร์ UI ผ่าน NavDisplay API นักพัฒนาแอปสามารถระบุสถานะของตนเองโดยตรงไปยังฟังก์ชันที่ใช้ร่วมกันได้ของ NavDisplay ซึ่งจะเปลี่ยนเนื้อหาตามการเปลี่ยนแปลงในสถานะของนักพัฒนาแอป

@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey

val backStack = rememberNavBackStack(Home)

NavDisplay(backStack, entryProvider = entryProvider {
  entry<Home> {
    Column {
      Text(Home)
      Button(onClick = { backStack.add(Chat) } ) {
        Text(Go to Chat)
      } 
    }
  }
  entry<Chat> { /* My Composable Content */ }
})

ดูข้อมูลเพิ่มเติมได้ที่คู่มือ Navigation3