เมื่อพัฒนา App Actions คุณอาจพบปัญหาเกี่ยวกับการตั้งค่าหรือเครื่องมือทดสอบ App Actions หน้านี้จะอธิบายปัญหาที่พบได้ทั่วไปและวิธีแก้ไข
ทั่วไป
ข้อผิดพลาด: "ไม่พบแอปที่จะเปิด URL" ปรากฏในการแจ้งเตือนแบบข้อความชั่วคราว
ตรวจสอบ urlTemplate ของการดำเนินการตามคำสั่งซื้อใน actions.xml เพื่อให้แน่ใจว่ามีการกำหนดค่าอย่างถูกต้อง หากใช้ URL ของ App Links ให้ตรวจสอบว่าคุณเรียกใช้ URL ด้วยตนเองได้โดยใช้ ACTION_VIEW และ URL หากใช้ URL ที่อิงตาม Intent ให้ตรวจสอบว่าได้กำหนดค่ากิจกรรมอย่างถูกต้องเพื่อเริ่มใช้พารามิเตอร์ที่ระบุ
ข้อผิดพลาด: "ไม่ได้ติดตั้งแอป"
ข้อผิดพลาดนี้อาจหมายความว่า <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 In order to continue, accept the Actions on Google Terms of Service." (โปรดยอมรับข้อกำหนดในการให้บริการของ 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 แล้ว
ตัวอย่างการดำเนินการของแอปไม่ตรงกับไฟล์ 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/**
เมื่อเรียกใช้การดำเนินการของแอปด้วยปลั๊กอินทดสอบ Assistant จะพูดว่า "ขอโทษด้วย ฉันไม่พบข้อมูลนั้น"
การตอบกลับนี้อาจปรากฏขึ้นด้วยเหตุผลที่แตกต่างกัน ทั้งนี้ขึ้นอยู่กับการตั้งค่าของคุณ ลองทำตามขั้นตอนต่อไปนี้
- ลงชื่อเข้าใช้ Android Studio, Play Console และอุปกรณ์ทดสอบด้วยบัญชี Google เดียวกัน
- เปิดใช้การซิงค์ข้อมูลอุปกรณ์
- ตั้งค่าภาษาของอุปกรณ์และ Google Assistant เป็น
en-US - ตรวจสอบว่าชื่อแพ็กเกจของแอปพลิเคชันใน Google Play Console ตรงกับชื่อแพ็กเกจในแอปพลิเคชันทดสอบ
- ใน
urlTemplateคำจำกัดความของ Fulfillment ในไฟล์actions.xmlให้ตรวจสอบว่าค่าandroid:hostและandroid:schemeตรงกับค่าที่ประกาศไว้ในไฟล์AndroidManifest - นำแอปที่ติดตั้งไว้ก่อนหน้านี้ทั้งหมดออกจากอุปกรณ์ทดสอบ แล้วติดตั้งบิลด์ใหม่
- ลบตัวอย่างออกจากเครื่องมือทดสอบ App Actions แล้วสร้างตัวอย่างใหม่อีกครั้ง
- ตรวจสอบเครื่องมือ Logcat เพื่อหาข้อผิดพลาดที่เกี่ยวข้องกับการดำเนินการตามคำสั่งซื้อสำหรับ Google Assistant คุณควรเห็น Intent ที่เปิดขึ้นในแอป
- เปิดใช้การตั้งค่า "ข้อมูลแอปสำหรับอุปกรณ์ของคุณ" สำหรับบัญชี
- เปิด Google Assistant และตรวจสอบว่าคุณได้ตั้งค่าเสร็จสมบูรณ์แล้ว (โดยปกติแล้ว แถบความคืบหน้าของการตั้งค่าจะปรากฏเป็นแถบสีน้ำเงินที่ด้านล่างของหน้าจอ แต่อาจดูแตกต่างออกไปในบางกรณี)
- เมื่อใช้ Google Assistant เพื่อทริกเกอร์ App Action ให้ตรวจสอบว่าชื่อการเรียกใช้ตรงกับตัวอย่างที่สร้างโดยเครื่องมือทดสอบ App Actions
- ลองใช้การป้อนข้อความแทนเสียงเพื่อหลีกเลี่ยงข้อผิดพลาดในการถอดเสียง
- กำหนดค่าบิลด์ทดสอบเพื่อให้
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 เป็นแอปแยกต่างหาก ให้ลองบังคับหยุดแอปในอุปกรณ์ โดยปกติแล้ว คุณบังคับให้แอปหยุดโดยใช้แอปการตั้งค่าของโทรศัพท์ได้
- หากขั้นตอนเหล่านี้ไม่ได้ผล ให้แจ้งปัญหาในIssue Tracker ของการดำเนินการของแอป