ดูฟีเจอร์ผู้ช่วยแบบเสียงซึ่งจะช่วยให้ใช้ทุกที่ทุกเวลาได้อย่างรวดเร็วและมีประสิทธิภาพ เสียง การโต้ตอบบนอุปกรณ์ที่สวมใส่ได้จะเป็นแบบไดนามิก ซึ่งหมายความว่าผู้ใช้อาจพูดกับ โดยไม่ต้องมองที่อุปกรณ์ขณะที่รอการตอบสนอง
เมื่อใช้การดำเนินการในแอป Assistant นักพัฒนาซอฟต์แวร์ Android สามารถขยายการให้บริการแอป Wear OS เป็น Google Assistant ช่วยให้ผู้ใช้กรอไปข้างหน้าในแอปด้วยคำสั่งเสียง เช่น "Ok Google เริ่มวิ่งใน ExampleApp"
ข้อจำกัด
Assistant ใน Wear รองรับการโต้ตอบของกิจกรรมการติดตามสื่อและการออกกำลังกาย สำหรับ คำแนะนำเกี่ยวกับการผสานรวมแอปสื่อกับ Assistant โปรดดู Google Assistant และแอปสื่อต่างๆ ระบบรองรับ BII ด้านสุขภาพและการออกกำลังกายต่อไปนี้สำหรับ แอป Wear OS:
วิธีการทำงาน
การดำเนินการของแอปขยายฟังก์ชันการทำงานของแอปให้กับ Assistant เพื่อให้ผู้ใช้เข้าถึงแอปได้
อย่างรวดเร็ว โดยใช้เสียงพูด เมื่อผู้ใช้บอก Assistant ว่า
พวกเขาต้องการใช้แอปของคุณ Assistant จะมองหาการดำเนินการของแอปที่ลงทะเบียนไว้กับ
ในทรัพยากร shortcuts.xml
ของแอป
เราได้อธิบายการดำเนินการของแอปไว้ใน shortcuts.xml
พร้อมองค์ประกอบความสามารถของ Android
องค์ประกอบความสามารถจะจับคู่ Intent ในตัว (BII) ซึ่งเป็นความหมาย
คำอธิบายเกี่ยวกับความสามารถของแอป พร้อมวิธีการดำเนินการตามคำสั่งซื้อ เช่น
เทมเพลตลิงก์ เมื่อคุณอัปโหลดแอปโดยใช้ Google Play Console แล้ว Google
ลงทะเบียนความสามารถที่ประกาศใน shortcuts.xml
ซึ่งทำให้พร้อมใช้งาน
ให้ผู้ใช้ทริกเกอร์จาก Assistant
แผนภาพก่อนหน้าแสดงให้เห็นว่าผู้ใช้หยุดออกกำลังกายชั่วคราวในแบบสแตนด์อโลน แอป มีขั้นตอนต่อไปนี้เกิดขึ้น
- ผู้ใช้ส่งคำขอด้วยเสียงไปยัง Assistant สำหรับแอปที่สวมใส่ได้ที่ระบุ
- Assistant จะจับคู่คำขอกับโมเดลก่อนการฝึก (BII) และดึงข้อมูล ที่พบใน Query ที่ BII รองรับ
- ในตัวอย่างนี้ Assistant จะจับคู่คำค้นหากับ
PAUSE_EXERCISE
BII และแยกพารามิเตอร์ชื่อการออกกำลังกายว่า "เดินป่า" - มีการทริกเกอร์แอปผ่าน FFulfillment ความสามารถของ
shortcuts.xml
ของ BII นี้ - แอปจะดำเนินการดำเนินการตามคำสั่งซื้อโดยหยุดการออกกำลังกายชั่วคราว
การเชื่อมต่อ
การพัฒนาการดำเนินการของแอปจะแตกต่างกันไปตามฟังก์ชันการทำงานของแอปภายใน ระบบนิเวศของอุปกรณ์ที่ใช้ Android
Tethered: เมื่อแอปที่สวมใส่ได้ใช้แอปบนอุปกรณ์เคลื่อนที่เต็มรูปแบบ ระบบจะดำเนินการตามฟังก์ชัน คำค้นหาของผู้ใช้ที่ส่งถึง Assistant ผ่านนาฬิกา บนอุปกรณ์เคลื่อนที่ ต้องสร้างตรรกะ Fulfillment การดำเนินการของแอปไว้ใน บนอุปกรณ์เคลื่อนที่เพื่อให้สถานการณ์นี้ทำงานได้อย่างถูกต้อง
ไม่มีการเชื่อมต่อ: เมื่อแอปสำหรับอุปกรณ์ที่สวมใส่ได้ไม่เกี่ยวข้องกับแอปบนอุปกรณ์เคลื่อนที่สำหรับ Assistant จะตอบสนองคำถามของผู้ใช้บนนาฬิกา แอป ต้องสร้างความสามารถในการดำเนินการในแอปที่สวมใส่ได้สำหรับคำขอเหล่านี้ ดำเนินการอย่างเหมาะสม
เพิ่มความสามารถในการใช้เสียงลงใน Wear
ผสานรวมการดำเนินการของแอปกับแอป Wear OS โดยทำตามขั้นตอนต่อไปนี้
- จับคู่ฟังก์ชันในแอปที่คุณต้องการเปิดใช้ด้วยเสียง BII ที่สอดคล้องกัน
ประกาศการรองรับแป้นพิมพ์ลัดของ Android ในกิจกรรมหลัก ทรัพยากร
AndroidManifest.xml
รายการ<!-- AndroidManifest.xml --> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />
เพิ่มองค์ประกอบ
<intent-filter>
ลงใน AndroidManifest.xml วิธีนี้ช่วยให้ Assistant เพื่อใช้ Deep Link เพื่อเชื่อมต่อกับเนื้อหาของแอปสร้าง shortcuts.xml เพื่อระบุรายละเอียดการดำเนินการตามคำสั่งซื้อสำหรับ BII คุณใช้ องค์ประกอบทางลัด
capability
รายการสำหรับประกาศให้ Assistant ทราบ BII ของแอปคุณ รองรับ ดูข้อมูลเพิ่มเติมได้ที่เพิ่มความสามารถใน
shortcuts.xml
ให้ใช้ความสามารถสำหรับ BII ที่คุณเลือก ตัวอย่างต่อไปนี้แสดงความสามารถของSTART_EXERCISE
BII<?xml version="1.0" encoding="utf-8"?> <!-- This is a sample shortcuts.xml --> <shortcuts xmlns:android="http://schemas.android.com/apk/res/android"> <capability android:name="actions.intent.START_EXERCISE"> <intent android:action="android.intent.action.VIEW" android:targetPackage="YOUR_UNIQUE_APPLICATION_ID" android:targetClass="YOUR_TARGET_CLASS"> <!-- Eg. name = "Running" --> <parameter android:name="exercise.name" android:key="name"/> <!-- Eg. duration = "PT1H" --> <parameter android:name="exercise.duration" android:key="duration"/> </intent> </capability> </shortcuts>
หากเป็นไปได้ ให้ขยายการสนับสนุนสำหรับรูปแบบคำพูดของผู้ใช้ที่หลากหลายโดยใช้ พื้นที่โฆษณาแบบอินไลน์ ซึ่งแสดงฟีเจอร์และเนื้อหาในแอป
<capability android:name="actions.intent.START_EXERCISE"> <intent android:targetPackage="com.example.myapp" android:targetClass="com.example.myapp.ExerciseActivity"> <parameter android:name="exercise.name" android:key="exercise" /> </intent> </capability> <shortcut android:shortcutId="CARDIO_RUN"> <capability-binding android:key="actions.intent.START_EXERCISE"> <parameter-binding android:key="exercise.name" android:value="@array/run_names" /> </capability-bindig> </shortcut>
อัปเดตตรรกะของแอปเพื่อจัดการการดำเนินการของแอปที่เข้ามาใหม่
//FitMainActivity.kt private fun handleIntent(data: Uri?) { var actionHandled = true val startExercise = intent?.extras?.getString(START_EXERCISE) if (startExercise != null){ val type = FitActivity.Type.find(startExercise) val arguments = Bundle().apply { putSerializable(FitTrackingFragment.PARAM_TYPE, type) } updateView(FitTrackingFragment::class.java, arguments) } else{ showDefaultView() actionHandled = false } notifyActionSuccess(actionHandled) }
ดูตัวอย่าง ทดสอบ และเผยแพร่แอป
การดำเนินการของแอปมีเครื่องมือสำหรับตรวจสอบและทดสอบแอป หากต้องการทราบรายละเอียดเพิ่มเติม โปรดดูที่ปลั๊กอิน Google Assistant สำหรับ Android Studio เมื่อ ทดสอบแอปและสร้างรุ่นทดสอบแล้ว คุณสามารถขอ การตรวจสอบการดำเนินการของแอปและทำให้ใช้งานได้ โปรดดูแนวทางปฏิบัติที่ดีที่สุดต่อไปนี้สำหรับ คำแนะนำเกี่ยวกับการจัดการข้อผิดพลาดที่พบบ่อย
แนวทางปฏิบัติแนะนำ
สร้างประสบการณ์เชิงบวกให้กับผู้ใช้เมื่อผสานรวมแอปกับ Assistant โดย โดยทำตามแนวทางปฏิบัติแนะนำต่อไปนี้
แสดงหน้าจอการยืนยันที่เกี่ยวข้องหรือที่เกี่ยวข้อง พร้อมกับการโต้ตอบการสัมผัสและ เสียงประกอบ เพื่อตอบกลับคำขอของผู้ใช้ ไม่ว่าจะสำเร็จเมื่อใดก็ตาม การดำเนินการตามคำขอ หรือการแจ้งเตือนข้อผิดพลาด
คุณภาพพื้นฐาน | คุณภาพที่ดีกว่า | คุณภาพดีที่สุด |
---|---|---|
|
|
|
ข้อผิดพลาดที่พบบ่อยและวิธีแก้ปัญหา
สำหรับกรณีข้อผิดพลาดต่อไปนี้ ให้ใช้แอปที่แนะนำต่อไปนี้
ConfirmationActivity
กรณีข้อผิดพลาด | ตัวอย่างการโต้ตอบของผู้ใช้ | การตอบสนองของแอป |
---|---|---|
กิจกรรมกำลังดำเนินอยู่แล้ว |
"เริ่ม ExerciseName" "ใช้งาน ExerciseName ต่อ" |
ข้อผิดพลาดของการแสดงผล: มีกิจกรรมที่กำลังดำเนินอยู่แล้ว" |
ไม่มีกิจกรรมที่เริ่มต้น | "หยุดชั่วคราว/หยุด ExerciseName" | ข้อผิดพลาดของการแสดงผล: "ไม่มีกิจกรรมเริ่มต้น" |
ประเภทกิจกรรมไม่ตรงกัน | "หยุดชั่วคราว/หยุด ExerciseName" ซึ่งเป็นการออกกำลังกายประเภทอื่นจากกิจกรรมต่อเนื่อง | ข้อผิดพลาดในการแสดงผล: "ประเภทกิจกรรมไม่ตรงกัน" |
มีข้อผิดพลาดในการเข้าสู่ระบบ | "เริ่ม ExerciseName" เมื่อผู้ใช้ไม่ได้เข้าสู่ระบบแอป | เล่นแบบรู้สึกได้เพื่อแจ้งเตือนผู้ใช้และเปลี่ยนเส้นทางไปยังหน้าจอเข้าสู่ระบบ |
ข้อผิดพลาดเกี่ยวกับสิทธิ์ | ผู้ใช้ไม่มีสิทธิ์เริ่มกิจกรรมที่ขอ | เล่นแบบรู้สึกได้เพื่อแจ้งเตือนผู้ใช้และเปลี่ยนเส้นทางไปยังหน้าจอขอสิทธิ์ |
ปัญหาเกี่ยวกับเซ็นเซอร์ | ผู้ใช้ปิดบริการตำแหน่งในการตั้งค่าอุปกรณ์ |
เล่นการโต้ตอบการสัมผัสเพื่อแจ้งเตือนผู้ใช้และแสดงหน้าจอข้อผิดพลาดของเซ็นเซอร์ ขั้นตอนถัดไป (ไม่บังคับ)
|