การดำเนินการคือจุดแรกเข้าของแอปซึ่งเป็นตัวกำหนดการเรียกใช้และการค้นพบ สำหรับแอปของคุณ คุณประกาศการดำเนินการในไฟล์ JSON ที่เรียกว่าแพ็กเกจการดำเนินการ ซึ่งคุณจะอัปโหลดไปยังโปรเจ็กต์นักพัฒนาซอฟต์แวร์ในภายหลังเมื่อต้องการทดสอบ หรือ ส่งโปรเจ็กต์ Actions เพื่อรับการอนุมัติ แพ็กเกจการดำเนินการคือไฟล์ JSON ที่ กำหนด Actions ในโปรเจ็กต์ Actions
หากต้องการกำหนด Actions ในแพ็กเกจ Action คุณต้องสร้าง Intent ที่กำหนดวิธีการ จะมีการเรียกใช้การดำเนินการและปลายทางการดำเนินการตามคำสั่งซื้อที่เกี่ยวข้องเมื่อ Intent เกิดขึ้น คุณสร้างการดำเนินการประเภทต่อไปนี้ได้
- การดำเนินการเริ่มต้น: ทุกโปรเจ็กต์ของ Actions ต้องมีความตั้งใจในการต้อนรับซึ่งทำหน้าที่
เป็นจุดเริ่มต้นสำหรับให้ผู้ใช้เริ่มต้นการสนทนา จุดประสงค์ในการต้อนรับคือ
ถูกเรียกเมื่อผู้ใช้เรียกใช้การดำเนินการอย่างชัดแจ้งโดยพูดชื่อการดำเนินการ (สำหรับ
เช่น "Ok Google คุยกับ ExampleAction") จุดประสงค์ในการต้อนรับนี้คือ
ชื่อ Intent
actions.intent.MAIN
- การดำเนินการเพิ่มเติมสำหรับการลิงก์ในรายละเอียด: คุณสามารถสร้างการดำเนินการเพิ่มเติมใน แพ็กเกจการดำเนินการที่มี Intent ที่คุณกำหนดด้วยตนเอง วิธีนี้ช่วยให้ผู้ใช้ เพื่อเรียกใช้ฟังก์ชันเฉพาะโดยพูดชื่อการดำเนินการพร้อมกับ Intent (เช่น "Ok Google ขอคุยกับ ExampleAction เพื่อหารองเท้าหน่อย")
ดูความตั้งใจและการเรียกใช้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธี โมเดลการเรียกใช้เหล่านี้ใช้งานได้
กำหนดการกระทำเริ่มต้น
แพ็กเกจการดำเนินการทุกแพ็กเกจต้องมี Intent เพียงรายการเดียวที่จัดการ
Intent actions.intent.MAIN
ระบบจะเรียกใช้ Intent นี้เมื่อผู้ใช้เรียกใช้
การดำเนินการตามชื่อ (เช่น "Ok Google พูดกับ ExampleAction")
หากต้องการสร้างไฟล์แพ็กเกจการดำเนินการแบบ Boilerplate ที่ชื่อ action.json
ให้ใช้
ขั้นตอนต่อไปนี้
- ดาวน์โหลด
gactions
CLI - สร้างไดเรกทอรีในเครื่องสำหรับไฟล์ต้นทางของโปรเจ็กต์การดำเนินการ
เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล
$ cd PROJECT_DIRECTORY $ gactions init
เมื่อสร้างไฟล์แพ็กเกจการดำเนินการแล้ว ให้แทนที่เนื้อหาของตัวยึดตำแหน่งด้วย
ต่อไปนี้คือตัวอย่างของ action.json
ที่มีการเปลี่ยนแปลงสำหรับ ExampleAction
{ "actions": [ { "description": "Default welcome intent", "name": "MAIN", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "actions.intent.MAIN", "trigger": { "queryPatterns": [ "talk to ExampleAction" ] } } } ], "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } }, "locale": "en" }
กำหนดการกระทำเพิ่มเติม
คุณสามารถใส่การดำเนินการเพิ่มเติมที่ทำหน้าที่เป็นจุดแรกเข้าได้ ซึ่งทำให้ผู้ใช้ ชี้แจงความตั้งใจของพวกเขาโดยให้พวกเขาสามารถระบุรายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่พวกเขา ต้องการทำ (เช่น "Ok Google ขอคุยกับ ExampleAction เพื่อหา ")
วิธีกำหนดการดำเนินการเพิ่มเติม
-
ในอาร์เรย์
ตัวอย่างเช่น โค้ดต่อไปนี้แสดงแท็ก "ซื้อ" เพิ่มเติม การดำเนินการที่กำหนดสิ่งต่อไปนี้actions
ให้ระบุการดำเนินการสำหรับจุดแรกเข้าทุกจุด- ชื่อ Intent ของ
com.example.ExampleAction.BUY
parameters
เพื่อแยกวิเคราะห์จากข้อมูลที่ผู้ใช้ป้อนเมื่อมีการเรียกให้แสดง Intent นี้ วิธีนี้มีประโยชน์หากคุณต้องการข้อมูลเฉพาะจากวลีการดำเนินการเมื่อ ผู้ใช้เรียกใช้การดำเนินการqueryPatterns
ที่กำหนดสิ่งที่ผู้ใช้ต้องพูดเพื่อกระตุ้นความตั้งใจ รูปแบบคำค้นหารวมถึงประเภท Schema.org ได้ ที่กำหนดพารามิเตอร์เพื่อแยกวิเคราะห์
{ "description": "Direct access", "name": "BUY", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "com.example.ExampleAction.BUY", "parameters": [ { "name": "color", "type": "org.schema.type.Color" } ], "trigger": { "queryPatterns": [ "find some $org.schema.type.Color:color sneakers", "buy some blue suede shoes", "get running shoes" ] } } }
- ชื่อ Intent ของ
-
ระบุ Fulfillment สำหรับ Intent นี้โดยการระบุ
conversationName
ที่ตรงกับรายการในออบเจ็กต์conversations
{ "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } } }
ต่อไปนี้คือตัวอย่างแพ็กเกจการดำเนินการแบบเต็ม
{ "actions": [ { "description": "Default welcome intent", "name": "MAIN", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "actions.intent.MAIN", "trigger": { "queryPatterns": [ "talk to ExampleAction" ] } } }, { "description": "Direct access", "name": "BUY", "fulfillment": { "conversationName": "ExampleAction" }, "intent": { "name": "com.example.ExampleAction.BUY", "parameters": [ { "name": "color", "type": "org.schema.type.Color" } ], "trigger": { "queryPatterns": [ "find some $org.schema.type.Color:color sneakers", "buy some blue suede shoes", "get running shoes" ] } } } ], "conversations": { "ExampleAction": { "name": "ExampleAction", "url": "https://www.example.com/ExampleAction" } }, "locale": "en" }