Google Assistant สำหรับ Wear OS

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

เมื่อใช้การดำเนินการในแอป 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

ขั้นตอนการดำเนินการของแอป

แผนภาพก่อนหน้าแสดงให้เห็นว่าผู้ใช้หยุดออกกำลังกายชั่วคราวในแบบสแตนด์อโลน แอป มีขั้นตอนต่อไปนี้เกิดขึ้น

  1. ผู้ใช้ส่งคำขอด้วยเสียงไปยัง Assistant สำหรับแอปที่สวมใส่ได้ที่ระบุ
  2. Assistant จะจับคู่คำขอกับโมเดลก่อนการฝึก (BII) และดึงข้อมูล ที่พบใน Query ที่ BII รองรับ
  3. ในตัวอย่างนี้ Assistant จะจับคู่คำค้นหากับ PAUSE_EXERCISE BII และแยกพารามิเตอร์ชื่อการออกกำลังกายว่า "เดินป่า"
  4. มีการทริกเกอร์แอปผ่าน FFulfillment ความสามารถของ shortcuts.xml ของ BII นี้
  5. แอปจะดำเนินการดำเนินการตามคำสั่งซื้อโดยหยุดการออกกำลังกายชั่วคราว

การเชื่อมต่อ

การพัฒนาการดำเนินการของแอปจะแตกต่างกันไปตามฟังก์ชันการทำงานของแอปภายใน ระบบนิเวศของอุปกรณ์ที่ใช้ Android

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

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

เพิ่มความสามารถในการใช้เสียงลงใน Wear

ผสานรวมการดำเนินการของแอปกับแอป Wear OS โดยทำตามขั้นตอนต่อไปนี้

  1. จับคู่ฟังก์ชันในแอปที่คุณต้องการเปิดใช้ด้วยเสียง BII ที่สอดคล้องกัน
  2. ประกาศการรองรับแป้นพิมพ์ลัดของ Android ในกิจกรรมหลัก ทรัพยากร AndroidManifest.xml รายการ

    <!-- AndroidManifest.xml -->
    <meta-data
        android:name="android.app.shortcuts"
        android:resource="@xml/shortcuts" />
    
  3. เพิ่มองค์ประกอบ <intent-filter> ลงใน AndroidManifest.xml วิธีนี้ช่วยให้ Assistant เพื่อใช้ Deep Link เพื่อเชื่อมต่อกับเนื้อหาของแอป

  4. สร้าง shortcuts.xml เพื่อระบุรายละเอียดการดำเนินการตามคำสั่งซื้อสำหรับ BII คุณใช้ องค์ประกอบทางลัด capability รายการสำหรับประกาศให้ Assistant ทราบ BII ของแอปคุณ รองรับ ดูข้อมูลเพิ่มเติมได้ที่เพิ่มความสามารถ

  5. ใน 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>
    
  6. หากเป็นไปได้ ให้ขยายการสนับสนุนสำหรับรูปแบบคำพูดของผู้ใช้ที่หลากหลายโดยใช้ พื้นที่โฆษณาแบบอินไลน์ ซึ่งแสดงฟีเจอร์และเนื้อหาในแอป

    <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>
    
  7. อัปเดตตรรกะของแอปเพื่อจัดการการดำเนินการของแอปที่เข้ามาใหม่

    //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 โดย โดยทำตามแนวทางปฏิบัติแนะนำต่อไปนี้

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

คุณภาพพื้นฐาน คุณภาพที่ดีกว่า คุณภาพดีที่สุด
  • สร้าง Intent เพื่อเริ่มต้น ConfirmationActivity จากกิจกรรม
  • สร้าง Intent เพื่อเริ่มต้น ConfirmationActivity จากกิจกรรม
  • เปิดเสียงกริ่งและการตอบสนองแบบรู้สึกได้เพื่อระบุสถานะปัจจุบัน
  • สร้าง Intent เพื่อเริ่มต้น ConfirmationActivity จากกิจกรรม
  • Text-To-Speech (TTS) และการตอบสนองแบบรู้สึกได้เพื่อระบุข้อผิดพลาดหรือความสำเร็จ

ข้อผิดพลาดที่พบบ่อยและวิธีแก้ปัญหา

สำหรับกรณีข้อผิดพลาดต่อไปนี้ ให้ใช้แอปที่แนะนำต่อไปนี้ ConfirmationActivity

กรณีข้อผิดพลาด ตัวอย่างการโต้ตอบของผู้ใช้ การตอบสนองของแอป
กิจกรรมกำลังดำเนินอยู่แล้ว "เริ่ม ExerciseName"
"ใช้งาน ExerciseName ต่อ"
ข้อผิดพลาดของการแสดงผล: มีกิจกรรมที่กำลังดำเนินอยู่แล้ว"
ไม่มีกิจกรรมที่เริ่มต้น "หยุดชั่วคราว/หยุด ExerciseName" ข้อผิดพลาดของการแสดงผล: "ไม่มีกิจกรรมเริ่มต้น"
ประเภทกิจกรรมไม่ตรงกัน "หยุดชั่วคราว/หยุด ExerciseName" ซึ่งเป็นการออกกำลังกายประเภทอื่นจากกิจกรรมต่อเนื่อง ข้อผิดพลาดในการแสดงผล: "ประเภทกิจกรรมไม่ตรงกัน"
มีข้อผิดพลาดในการเข้าสู่ระบบ "เริ่ม ExerciseName" เมื่อผู้ใช้ไม่ได้เข้าสู่ระบบแอป เล่นแบบรู้สึกได้เพื่อแจ้งเตือนผู้ใช้และเปลี่ยนเส้นทางไปยังหน้าจอเข้าสู่ระบบ
ข้อผิดพลาดเกี่ยวกับสิทธิ์ ผู้ใช้ไม่มีสิทธิ์เริ่มกิจกรรมที่ขอ เล่นแบบรู้สึกได้เพื่อแจ้งเตือนผู้ใช้และเปลี่ยนเส้นทางไปยังหน้าจอขอสิทธิ์
ปัญหาเกี่ยวกับเซ็นเซอร์ ผู้ใช้ปิดบริการตำแหน่งในการตั้งค่าอุปกรณ์ เล่นการโต้ตอบการสัมผัสเพื่อแจ้งเตือนผู้ใช้และแสดงหน้าจอข้อผิดพลาดของเซ็นเซอร์ ขั้นตอนถัดไป (ไม่บังคับ)
  • เริ่มกิจกรรมโดยไม่มีการติดตามจากเซ็นเซอร์และแจ้งให้ผู้ใช้ทราบ
  • ขอการตอบรับจากผู้ใช้เพื่อเริ่มกิจกรรมโดยไม่ต้องติดตามเซ็นเซอร์