เมื่อพัฒนา App Actions คุณอาจพบปัญหาเกี่ยวกับการตั้งค่าหรือเครื่องมือทดสอบ App Actions หน้านี้อธิบายปัญหาที่พบบ่อย และวิธีแก้ไข
ทั่วไป
ข้อผิดพลาด: "ไม่พบแอปที่จะใช้เปิด URL" ปรากฏในการแจ้งเตือนแบบป๊อปอัป
ตรวจสอบการดำเนินการตามคำสั่งซื้อ urlTemplate
ใน actions.xml
เพื่อให้แน่ใจว่าได้กำหนดค่าอย่างถูกต้อง
หากใช้ URL ของ App Links ให้ตรวจสอบว่าคุณเรียกใช้ URL ได้ด้วยตนเองโดยใช้ ACTION_VIEW
และ URL หากใช้ URL ตามความตั้งใจ ให้ตรวจสอบว่า
กิจกรรมของคุณได้รับการกำหนดค่าอย่างถูกต้องเพื่อเริ่มใช้พารามิเตอร์ที่ระบุ
ข้อผิดพลาด: "ไม่ได้ติดตั้งแอป"
ข้อผิดพลาดนี้อาจหมายความว่า <intent-filter>
ในไฟล์ AndroidManifest.xml
ไม่ได้กรอง Deep Link ที่คุณระบุใน actions.xml
โปรดตรวจสอบสิ่งนี้ก่อนยื่นข้อบกพร่อง
ข้อผิดพลาด: "ไม่พบการอ้างอิงชุดเอนทิตีที่มีรหัสชุดเอนทิตีหรือตัวกรอง URL" ปรากฏใน Android Studio
เงื่อนไขนี้เกิดจากปัญหาของ Linter ที่ทราบสำหรับแท็ก
<entity-set-reference>
คุณไม่จำเป็นต้องสนใจข้อความนี้และจะไม่ส่งผลเสียหายใดๆ คุณสามารถหลีกเลี่ยงปัญหานี้ได้โดยปิดใช้การตรวจสอบ Lint สำหรับแท็กนี้ด้วยการเพิ่มแอตทริบิวต์ tools:ignore="ValidActionsXml"
ลงในแท็ก
ต่อไปนี้คือตัวอย่างการอ้างอิงชุดเอนทิตีที่มีการตรวจสอบ Lint ที่ปิดใช้
<entity-set-reference entitySetId="example" tools:ignore="ValidActionsXml" />
ข้อผิดพลาด: "ตำแหน่งไม่ถูกต้อง" สำหรับเอกสารสคีมาการดำเนินการเมื่ออัปโหลด APK
การอัปโหลด APK อาจล้มเหลวหากคุณใช้เครื่องมือการปกปิดหรือการเพิ่มประสิทธิภาพที่ ส่งผลต่อทรัพยากรสำหรับ APK ที่เผยแพร่ เครื่องมืออย่าง ProGuard ที่หลีกเลี่ยง ไฟล์ทรัพยากรจะไม่ทำให้เกิดปัญหานี้
หากต้องการแก้ไขปัญหานี้ ให้ลองปิดใช้เครื่องมือสำหรับไฟล์ actions.xml
ของแอป (เช่น โดยใช้รายการที่อนุญาต)
ข้อผิดพลาด: "APK หรือ Android App Bundle ที่ใช้งานอยู่มีไฟล์ actions.xml โปรดยอมรับข้อกำหนดในการให้บริการของ Actions on Google เพื่อดำเนินการต่อ" ปรากฏใน Google Play Console
คุณอาจเห็นข้อผิดพลาดนี้ขณะสร้างแอปรุ่นใน Play Console หากต้องการ ยอมรับข้อกำหนดในการให้บริการของ Actions on Google ให้ทำตามขั้นตอนต่อไปนี้
- เลือกแอปใน Play Console
- ไปที่การตั้งค่า > การตั้งค่าขั้นสูง
- คลิกแท็บ Actions on Google
- เลือกช่องที่มีป้ายกำกับว่าผสานรวมบริการของฉันกับการดำเนินการของแอปโดยใช้ Actions on Google แล้วทำตามวิธีการ
ปุ่ม "ยอมรับ" ในแบบฟอร์มข้อกำหนดในการให้บริการของ Play ถูกปิดใช้
ซึ่งอาจหมายความว่าผู้ใช้ที่ลงชื่อเข้าใช้ไม่มีสิทธิ์เข้าถึงระดับที่จำเป็น เพื่อยอมรับข้อกำหนดเหล่านั้น ตรวจสอบว่าผู้ดูแลระบบโปรไฟล์ Play Console เป็นผู้ส่งแอปครั้งแรก
เครื่องมือทดสอบการดำเนินการของแอป
ก่อนที่จะลองแก้ไขปัญหาต่อไปนี้ ให้อัปเดตการติดตั้งเครื่องมือทดสอบ App Actions เป็นเวอร์ชันล่าสุด
ปลั๊กอินเครื่องมือทดสอบ App Actions ไม่พบไฟล์ actions.xml
ตรวจสอบว่าคุณได้เพิ่ม<meta-data>
แท็กที่ถูกต้องในไฟล์
AndroidManifest.xml
แล้ว
ตัวอย่าง App Action ของฉันไม่ตรงกับไฟล์ actions.xml
ปัจจุบัน
ตัวอย่างจะไม่ได้รับการอัปเดตแบบไดนามิกตามเนื้อหาของactions.xml
ไฟล์ หลังจากเปลี่ยนไฟล์ actions.xml
ด้วยตนเองหรือหลังจาก
เปลี่ยนตัวแปรบิลด์ใน Android Studio ให้บันทึกไฟล์ actions.xml
แล้ว
คลิกอัปเดตตัวอย่างในเครื่องมือทดสอบ
ปลั๊กอินเครื่องมือทดสอบการดำเนินการของแอปหยุดทำงานหรือสร้างข้อผิดพลาด
ก่อนอื่น โปรดตรวจสอบว่าคุณได้อัปเดต Android Studio เป็นเวอร์ชันล่าสุดแล้ว หากคุณได้รับข้อผิดพลาด 403 คุณอาจเรียกใช้ปลั๊กอินในแพ็กเกจที่คุณไม่มีสิทธิ์เรียกใช้ด้วย
หากยังพบข้อผิดพลาดอยู่ โปรดส่งรายงานข้อบกพร่องและส่งรายละเอียดต่อไปนี้ให้ Google
- รายละเอียดของกล่องโต้ตอบข้อผิดพลาด
- บันทึกของ Android Studio ไปที่ความช่วยเหลือ > แสดงบันทึกใน Finder ซึ่งจะแสดงตำแหน่งของ
idea.log
ใน Finder ค้นหา "Submit Actions Request Body:" ในไฟล์บันทึก แล้ววางการตอบกลับของเซิร์ฟเวอร์ (ควรมีผลลัพธ์ 2 รายการสำหรับการดำเนินการ)
เครื่องมือทดสอบ App Actions สร้าง UnknownHostException
หรือข้อผิดพลาดอื่นๆ เกี่ยวกับเครือข่าย
เครื่องมือทดสอบการกระทําของแอปจะสร้างตัวอย่างการกระทําของแอป ซึ่งช่วยให้คุณ ทดสอบการผสานรวม Google Assistant ด้วยบัญชี Google เดียวได้ หากต้องการสร้างตัวอย่างเหล่านี้ เครื่องมือทดสอบต้องมีการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานได้ และหากจำเป็นต้องมีสิทธิ์เข้าถึงพร็อกซีไปยังโดเมนของ Google
หากต้องการแก้ไขปัญหาเครือข่ายเมื่อเรียกใช้เครื่องมือทดสอบ ให้ตรวจสอบปัญหาที่พบบ่อยต่อไปนี้
- ตรวจสอบว่าคุณมีการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานได้ก่อนสร้างตัวอย่าง
หากการเชื่อมต่ออินเทอร์เน็ตใช้งานได้และเครือข่ายภายในใช้พร็อกซี เซิร์ฟเวอร์ ให้ตรวจสอบสิ่งต่อไปนี้
- ตรวจสอบการกำหนดค่าพร็อกซี IDE ดูข้อมูลเพิ่มเติมได้ที่วิธีการกำหนดค่าพร็อกซีสำหรับ Android Studio หรือ IntelliJ
- หากพร็อกซีต้องใช้รายการควบคุมการเข้าถึง (ACL) ให้อัปเดต ACL เพื่อ
อนุญาตรูปแบบ URL นี้:
https://actions.googleapis.com/**
เมื่อเรียกใช้ App Action ด้วยปลั๊กอินทดสอบ Assistant จะพูดว่า "ขอโทษนะ ฉันหาไม่เจอ"
การตอบกลับนี้อาจปรากฏขึ้นด้วยเหตุผลต่างๆ กัน ทั้งนี้ขึ้นอยู่กับการตั้งค่าของคุณ ลองทำตามขั้นตอนต่อไปนี้
- ลงชื่อเข้าใช้ Android Studio, Play Console และอุปกรณ์ทดสอบด้วยบัญชี Google เดียวกัน
- เปิดใช้การซิงค์ข้อมูลอุปกรณ์
- ตั้งค่าภาษาของอุปกรณ์และ Google Assistant เป็น
en-US
- ตรวจสอบว่าชื่อแพ็กเกจของแอปพลิเคชันใน Google Play Console ตรงกับชื่อแพ็กเกจในแอปพลิเคชันทดสอบ
- ใน
urlTemplate
คำจำกัดความการปฏิบัติตามข้อกำหนดในไฟล์actions.xml
ตรวจสอบว่าค่าandroid:host
และandroid:scheme
ตรงกับค่าที่ ประกาศไว้ในไฟล์AndroidManifest
- นำการติดตั้งแอปก่อนหน้าทั้งหมดออกจากอุปกรณ์ทดสอบ แล้ว ติดตั้งบิลด์ใหม่
- ลบตัวอย่างออกจากเครื่องมือทดสอบ App Actions แล้วสร้างตัวอย่างใหม่
- ตรวจสอบเครื่องมือ Logcat เพื่อดูข้อผิดพลาดที่เกี่ยวข้องกับการดำเนินการตามคำสั่ง สำหรับ Google Assistant คุณควรเห็น Intent ที่เปิดตัวไปยังแอป
- เปิดใช้การตั้งค่า "ข้อมูลแอปสำหรับอุปกรณ์ของคุณ" สำหรับบัญชี
- เปิด Google Assistant และตรวจสอบว่าคุณได้ตั้งค่าเสร็จสมบูรณ์แล้ว (โดยปกติแถบความคืบหน้าในการตั้งค่า จะปรากฏเป็นแถบสีน้ำเงินที่ด้านล่างของหน้าจอ แต่ ในบางกรณีอาจมีลักษณะแตกต่างออกไป)
- เมื่อใช้ Google Assistant เพื่อทริกเกอร์ App Action โปรดตรวจสอบว่าชื่อเรียกตรงกับตัวอย่างที่สร้างโดยเครื่องมือทดสอบ App Action
- ลองใช้การป้อนข้อความแทนเสียงเพื่อหลีกเลี่ยงข้อผิดพลาดในการถอดเสียง
- กำหนดค่าบิลด์ทดสอบเพื่อให้
applicationId
ตรงกับ APK หรือ AAB ที่อัปโหลดไปยัง Google Play Console โปรดทราบว่าพร็อพเพอร์ตี้ที่ไม่บังคับapplicationIdSuffix
อาจเปลี่ยนapplicationId
สุดท้ายของ การสร้างสำหรับผลิตภัณฑ์บางรุ่นและตัวแปรการสร้าง ในตัวอย่างนี้applicationId
สำหรับรสชาติของผลิตภัณฑ์จำลองคือcom.example.android.architecture.blueprints.master.mock
แทนที่จะเป็นcom.example.android.architecture.blueprints
- กำหนดค่าเวอร์ชันตัวอย่างให้ใช้ชื่อการเรียกที่ไม่ซ้ำกัน ลองใช้ คำที่ไม่ซ้ำกันเพื่อลดโอกาสที่จะเกิดการชนกับแอปอื่นๆ
- หากต้องการแยกปัญหาเมื่อแก้ปัญหาโค้ดเบสที่แชร์ได้ ให้ลองเรียกใช้แอปฟิตเนส App Actions ตัวอย่าง ตรวจสอบว่าแอปฟิตเนสทำงานได้ตั้งแต่ต้นจนจบ จากนั้นค่อยๆ เพิ่ม ฟีเจอร์เพิ่มเติมในแอปนี้เพื่อดูว่าคุณจำลองปัญหาได้หรือไม่
- หากใช้บัญชี G Suite โปรดตรวจสอบว่าผู้ดูแลระบบได้เปิด Google Assistant ไว้ เราขอแนะนำให้สร้างบัญชีทดสอบที่ไม่ใช่ G Suite เพื่อเป็นวิธีแก้ปัญหาชั่วคราว และตั้งค่าให้เป็น ผู้ทดสอบที่ได้รับอนุญาตผ่าน Play Store จากบัญชีดังกล่าว ผู้ทดสอบควรจะสร้างตัวอย่างแอปและ ทดสอบโดยใช้บัญชีนั้นในอุปกรณ์ของตนเองได้สำเร็จ
- หากดาวน์โหลด Google Assistant เป็นแอปแยกต่างหาก ให้ลองบังคับหยุดแอปในอุปกรณ์ โดยปกติแล้ว คุณบังคับให้แอปหยุดได้โดยใช้แอปการตั้งค่าของโทรศัพท์
- หากขั้นตอนเหล่านี้ไม่ได้ผล ให้แจ้งปัญหาในเครื่องมือติดตามปัญหาของ App Actions