1. ภาพรวม
แพลตฟอร์มนักพัฒนาซอฟต์แวร์ Google Assistant ช่วยให้คุณสร้างซอฟต์แวร์เพื่อขยายฟังก์ชันการทำงานของ Google Assistant ซึ่งเป็นผู้ช่วยส่วนตัวเสมือนในอุปกรณ์มากกว่า 1 พันล้านเครื่อง ซึ่งรวมถึงลำโพงอัจฉริยะ โทรศัพท์ รถยนต์ ทีวี หูฟัง และอื่นๆ ผู้ใช้จะสนทนากับ Assistant เพื่อทำสิ่งต่างๆ เช่น ซื้อของใช้หรือจองรถ ในฐานะนักพัฒนาซอฟต์แวร์ คุณสามารถใช้แพลตฟอร์มนักพัฒนาซอฟต์แวร์ Assistant เพื่อสร้างและจัดการประสบการณ์การสนทนาที่น่าพึงพอใจและมีประสิทธิภาพระหว่างผู้ใช้กับบริการ Fulfillment ของบุคคลที่สามของคุณเองได้อย่างง่ายดาย
Codelab นี้ครอบคลุมแนวคิดระดับเริ่มต้นสำหรับการพัฒนาด้วย Actions SDK สำหรับ Google Assistant คุณไม่จำเป็นต้องมีประสบการณ์การใช้งานแพลตฟอร์มนี้มาก่อนเพื่อทำ Codelab นี้ให้เสร็จสมบูรณ์ ใน Codelab นี้ คุณจะสร้างการดำเนินการง่ายๆ สำหรับ Google Assistant ที่จะบอกโชคชะตาของผู้ใช้เมื่อเริ่มการผจญภัยในดินแดนลึกลับของ Gryffinberg ใน Codelab ของ Actions SDK ระดับ 2 คุณจะสร้างการดำเนินการนี้เพิ่มเติมเพื่อปรับแต่งคำทำนายของผู้ใช้ตามข้อมูลที่ผู้ใช้ป้อน
สิ่งที่คุณจะสร้าง
ใน Codelab นี้ คุณจะสร้างการดำเนินการง่ายๆ ที่มีฟังก์ชันต่อไปนี้
- ตอบกลับผู้ใช้ด้วยข้อความทักทาย
- ถามคำถามผู้ใช้และตอบกลับอย่างเหมาะสมตามตัวเลือกของผู้ใช้
- แสดงชิปคำแนะนำที่ผู้ใช้คลิกเพื่อป้อนข้อมูลได้
- แก้ไขข้อความทักทายผู้ใช้โดยอิงตามว่าผู้ใช้เป็นผู้ใช้ที่กลับมาหรือไม่
เมื่อทำ Codelab นี้เสร็จแล้ว การดำเนินการที่เสร็จสมบูรณ์จะมีขั้นตอนการสนทนาต่อไปนี้ (ข้อความข้างไมโครโฟนแสดงถึงข้อมูลที่ผู้ใช้ป้อน ส่วนข้อความข้างลำโพงแสดงถึงการตอบสนองของการดำเนินการ)


สิ่งที่คุณจะได้เรียนรู้
- วิธีสร้างโปรเจ็กต์ในคอนโซล Actions
- วิธีใช้เครื่องมือ gactions เพื่อพุชและพูลโปรเจ็กต์การดำเนินการระหว่างคอนโซล Actions กับระบบไฟล์ในเครื่อง
- วิธีส่งข้อความแจ้งไปยังผู้ใช้หลังจากที่เรียกใช้การดำเนินการของคุณ
- วิธีประมวลผลอินพุตของผู้ใช้และแสดงผลคำตอบ
- วิธีทดสอบการดำเนินการในโปรแกรมจำลอง Actions
- วิธีใช้การดำเนินการตามคำสั่งซื้อโดยใช้เครื่องมือแก้ไข Cloud Functions
สิ่งที่คุณต้องมี
สภาพแวดล้อมของคุณต้องมีเครื่องมือต่อไปนี้
- IDE หรือเครื่องมือแก้ไขข้อความที่คุณเลือก
- เทอร์มินัลสำหรับเรียกใช้คำสั่ง Shell สำหรับ Node.js และ npm
- เว็บเบราว์เซอร์ เช่น Google Chrome
2. ตั้งค่า
ส่วนต่อไปนี้จะอธิบายวิธีตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์และสร้างโปรเจ็กต์ Actions
ตรวจสอบการตั้งค่าสิทธิ์ของ Google
หากต้องการทดสอบการดำเนินการที่คุณสร้างใน Codelab นี้ คุณต้องเปิดใช้สิทธิ์ที่จำเป็นเพื่อให้โปรแกรมจำลองเข้าถึงการดำเนินการของคุณได้
หากต้องการเปิดใช้สิทธิ์ ให้ทำตามขั้นตอนต่อไปนี้
- ไปที่ส่วนควบคุมกิจกรรม
- หากยังไม่ได้ลงชื่อเข้าใช้ ให้ลงชื่อเข้าใช้ด้วยบัญชี Google
- เปิดใช้สิทธิ์ต่อไปนี้
- กิจกรรมบนเว็บและแอป
- ในส่วนกิจกรรมบนเว็บและแอป ให้เลือกช่องทำเครื่องหมายรวมประวัติการเข้าชมใน Chrome และกิจกรรมจากเว็บไซต์ แอป และอุปกรณ์ที่ใช้บริการต่างๆ ของ Google**
สร้างโปรเจ็กต์ Actions
โปรเจ็กต์ Actions เป็นคอนเทนเนอร์สำหรับการดำเนินการของคุณ
หากต้องการสร้างโปรเจ็กต์ Actions สำหรับ Codelab นี้ ให้ทำตามขั้นตอนต่อไปนี้
- เปิดคอนโซล Actions
- คลิกโครงการใหม่
- ป้อนชื่อโปรเจ็กต์ เช่น
actions-codelab(ชื่อนี้ใช้สำหรับการอ้างอิงภายในของคุณ คุณสามารถตั้งชื่อภายนอกสำหรับโปรเจ็กต์ได้ในภายหลัง)

- คลิกสร้างโปรเจ็กต์
- ในหน้าจอคุณต้องการสร้างการดำเนินการประเภทใด ให้เลือกการ์ดกำหนดเอง
- คลิกถัดไป
- ในหน้าจอคุณต้องการสร้างอย่างไร ให้เลือกการ์ดโปรเจ็กต์เปล่า
- คลิกเริ่มสร้าง
บันทึกรหัสโปรเจ็กต์สำหรับการดำเนินการของคุณ
รหัสโปรเจ็กต์คือตัวระบุที่ไม่ซ้ำกันสำหรับการดำเนินการของคุณ คุณต้องใช้รหัสโปรเจ็กต์สำหรับขั้นตอนต่างๆ ใน Codelab นี้
หากต้องการเรียกดูรหัสโปรเจ็กต์ ให้ทำตามขั้นตอนต่อไปนี้
- ในคอนโซล Actions ให้คลิกจุดแนวตั้ง 3 จุด (แทรกไอคอนที่นี่)
- คลิกการตั้งค่าโปรเจ็กต์

- คัดลอกรหัสโปรเจ็กต์**
เชื่อมโยงบัญชีสำหรับการเรียกเก็บเงิน
หากยังไม่มีบัญชีสำหรับการเรียกเก็บเงิน คุณต้องสร้างบัญชีสำหรับการเรียกเก็บเงินและเชื่อมโยงกับโปรเจ็กต์ใน Google Cloud เพื่อติดตั้งใช้งาน Fulfillment ในภายหลังด้วย Cloud Functions
หากต้องการเชื่อมโยงบัญชีสำหรับการเรียกเก็บเงินกับโปรเจ็กต์ ให้ทำตามขั้นตอนต่อไปนี้
- ไปที่หน้าการเรียกเก็บเงินของ Google Cloud Platform
- คลิกเพิ่มบัญชีสำหรับการเรียกเก็บเงินหรือสร้างบัญชี
- ป้อนข้อมูลการชำระเงิน
- คลิกเริ่มช่วงทดลองใช้ฟรีหรือส่งและเปิดใช้การเรียกเก็บเงิน
- ไปที่หน้าการเรียกเก็บเงินของ Google Cloud Platform
- คลิกแท็บโปรเจ็กต์ของฉัน
- คลิกจุด 3 จุดในส่วนการดำเนินการข้างโปรเจ็กต์การดำเนินการสำหรับ Codelab
- คลิกเปลี่ยนการเรียกเก็บเงิน
- ในเมนูแบบเลื่อนลง ให้เลือกบัญชีสำหรับการเรียกเก็บเงินที่คุณกำหนดค่าไว้
- คลิกตั้งค่าบัญชี
เพื่อหลีกเลี่ยงการเรียกเก็บเงิน ให้ทำตามขั้นตอนในส่วน "ล้างข้อมูลโปรเจ็กต์" ที่ท้าย Codelab นี้
ติดตั้งอินเทอร์เฟซบรรทัดคำสั่ง gactions
ใน Codelab นี้ คุณจะใช้เครื่องมืออินเทอร์เฟซบรรทัดคำสั่ง (CLI) ของ gactions เพื่อซิงค์โปรเจ็กต์ Actions ระหว่างคอนโซล Actions กับระบบไฟล์ในเครื่อง
หากต้องการติดตั้ง gactions CLI ให้ทำตามวิธีการในหัวข้อติดตั้งเครื่องมือบรรทัดคำสั่ง gactions
ดาวน์โหลดโปรเจ็กต์การดำเนินการ
เริ่มพัฒนาการดำเนินการโดยดาวน์โหลดโปรเจ็กต์การดำเนินการจากคอนโซล Actions
หากต้องการดาวน์โหลดโปรเจ็กต์ Actions ให้ทำตามขั้นตอนต่อไปนี้
- หากต้องการสร้างไดเรกทอรีใหม่และเปลี่ยนเป็นไดเรกทอรีนั้น ให้เรียกใช้คำสั่งต่อไปนี้
mkdir myproject cd myproject
- หากต้องการคัดลอกการกำหนดค่าของโปรเจ็กต์ Actions ไปยังระบบไฟล์ในเครื่อง ให้เรียกใช้คำสั่งต่อไปนี้
gactions pull --project-id <projectID>
ทำความเข้าใจโครงสร้างไฟล์
โปรเจ็กต์ Actions ที่คุณดาวน์โหลดจากคอนโซล Actions จะแสดงในโครงสร้างไฟล์ YAML รูปภาพต่อไปนี้แสดงภาพรวมระดับสูงของโครงสร้างไฟล์

โครงสร้างไฟล์ประกอบด้วยข้อมูลต่อไปนี้
actions/: แสดงโปรเจ็กต์ Actions ระบบจะเรียกใช้actions.yamlเมื่อมีการเรียกใช้ Action ซึ่งจะเรียกใช้ไฟล์custom/global/actions.intent.MAIN.yamlต่อไปcustom/: ไดเรกทอรีที่คุณจะใช้เพื่อแก้ไขการดำเนินการglobal/: ไดเรกทอรีนี้มีความตั้งใจของระบบที่แพลตฟอร์มเพิ่มลงในโปรเจ็กต์โดยอัตโนมัติ คุณจะได้ดูข้อมูลเพิ่มเติมเกี่ยวกับ Intent ของระบบในภายหลังใน Codelab นี้manifest.yaml: ไฟล์ที่มีข้อมูลที่โอนได้ หรือไม่เจาะจงกับโปรเจ็กต์ใดโปรเจ็กต์หนึ่ง และย้ายระหว่างโปรเจ็กต์ได้settings/: แสดงการตั้งค่าของโปรเจ็กต์ Actions เช่น ชื่อที่แสดง ภาษาเริ่มต้น และหมวดหมู่
3. เริ่มการสนทนา
ผู้ใช้เริ่มการสนทนากับการดำเนินการของคุณผ่านการเรียกใช้ เช่น หากคุณมีการดำเนินการชื่อ MovieTime ผู้ใช้จะเรียกใช้การดำเนินการได้โดยพูดวลีอย่าง "Ok Google ขอคุยกับ MovieTime" โดยที่ MovieTime คือชื่อที่แสดง Action ต้องมีชื่อที่แสดงหากต้องการทำให้ใช้งานได้จริง แต่หากต้องการทดสอบ Action คุณไม่จำเป็นต้องกำหนดชื่อที่แสดง แต่คุณสามารถใช้วลี "คุยกับแอปทดสอบของฉัน" ในโปรแกรมจำลองเพื่อเรียกใช้การดำเนินการแทนได้ คุณจะดูข้อมูลเพิ่มเติมเกี่ยวกับเครื่องจำลองได้ในส่วนนี้
คุณต้องแก้ไขการเรียกใช้หลักเพื่อกำหนดสิ่งที่จะเกิดขึ้นหลังจากที่ผู้ใช้เรียกใช้การดำเนินการ
โดยค่าเริ่มต้น การดำเนินการจะแสดงข้อความแจ้งทั่วไปเมื่อมีการเรียกใช้ ("เริ่มสร้างการดำเนินการโดยกำหนดการเรียกใช้หลัก")
ในส่วนถัดไป คุณจะปรับแต่งพรอมต์สำหรับการเรียกใช้หลักในไฟล์ custom/global/actions.intent.MAIN.yaml
ตั้งค่าการเรียกใช้หลัก
คุณแก้ไขพรอมต์การเรียกใช้หลักได้ในไฟล์ actions.intent.MAIN.yaml
หากต้องการแก้ไขข้อความแจ้งที่ Action ส่งกลับไปยังผู้ใช้เมื่อเรียกใช้ Action ให้ทำตามขั้นตอนต่อไปนี้
- เปิด
custom/global/actions.intent.MAIN.yamlในเครื่องมือแก้ไขข้อความ - แทนที่ข้อความในช่อง
speech(Start building your action...) ด้วยข้อความต้อนรับต่อไปนี้A wondrous greeting, adventurer! Welcome to the mythical land of Gryffinberg! Based on your clothes, you are not from around these lands. It looks like you're on your way to an epic journey.
actions.intent.MAIN.yaml
handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: A wondrous greeting, adventurer! Welcome to the mythical land of
Gryffinberg! Based on your clothes, you are not from around these lands.
It looks like you're on your way to an epic journey.
transitionToScene: actions.scene.END_CONVERSATION
- บันทึกไฟล์
ทดสอบการเรียกใช้หลักในเครื่องจำลอง
คอนโซล Actions มีเครื่องมือบนเว็บสำหรับทดสอบการดำเนินการที่เรียกว่าเครื่องจำลอง อินเทอร์เฟซจะจำลองอุปกรณ์ฮาร์ดแวร์และการตั้งค่าของอุปกรณ์ เพื่อให้คุณสนทนากับ Action ได้ราวกับว่ากำลังทำงานบนจออัจฉริยะ โทรศัพท์ ลำโพง หรือ KaiOS
เมื่อเรียกใช้ Action ตอนนี้ระบบควรตอบกลับด้วยพรอมต์ที่กำหนดเองซึ่งคุณเพิ่มไว้ ("A wondrous greeting, adventurer!...")
คุณสามารถใช้คำสั่ง gactions deploy preview เพื่อทดสอบการดำเนินการในคอนโซลโดยไม่ต้องอัปเดตเวอร์ชันของโปรเจ็กต์การดำเนินการ เมื่อเรียกใช้คำสั่งนี้ ระบบจะไม่เผยแพร่การเปลี่ยนแปลงที่คุณทำในระบบไฟล์ในเครื่องไปยังเวอร์ชันที่ทำให้ใช้งานได้ของโปรเจ็กต์ Actions แต่คุณสามารถทดสอบการเปลี่ยนแปลงเหล่านั้นในเวอร์ชันตัวอย่างได้
หากต้องการทดสอบการเรียกใช้หลักของการดำเนินการในเครื่องจำลอง ให้ทำตามขั้นตอนต่อไปนี้
- หากต้องการทำให้โปรเจ็กต์ใช้งานได้ในคอนโซล Actions เพื่อทดสอบ ให้เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล
gactions deploy preview
คุณควรได้รับเอาต์พุตที่มีลักษณะดังนี้
✔ Done. You can now test your changes in Simulator with this URL: http://console.actions.google.com/project/{project-id}/simulator?disableAutoPreview
- คัดลอก URL ที่ระบุแล้ววางลงในเบราว์เซอร์
- หากต้องการเรียกใช้ Action ในเครื่องจำลอง ให้พิมพ์
Talk to my test appในช่องป้อนข้อมูล แล้วกดEnter

เมื่อคุณเรียกใช้การเรียกใช้หลักของการดำเนินการ Assistant จะตอบกลับด้วยข้อความต้อนรับที่กำหนดเอง ณ จุดนี้ การสนทนาจะสิ้นสุดลงหลังจาก Assistant ตอบกลับด้วยคำทักทาย ในส่วนถัดไป คุณจะแก้ไขการดำเนินการเพื่อให้การสนทนาดำเนินต่อไป
ดูบันทึกเหตุการณ์
เมื่อคุณอยู่ในแท็บทดสอบในคอนโซล Actions แผงจะแสดงบันทึกเหตุการณ์ ซึ่งจะแสดงประวัติการสนทนาเป็นบันทึกเหตุการณ์ บันทึกเหตุการณ์แต่ละรายการจะแสดงเหตุการณ์ที่เกิดขึ้นระหว่างการสนทนาในรอบนั้น
ปัจจุบัน Action ของคุณมีบันทึกเหตุการณ์ 1 รายการ ซึ่งแสดงทั้งอินพุตของผู้ใช้ ("Talk to my test app") และการตอบกลับของ Action ภาพหน้าจอต่อไปนี้แสดงบันทึกเหตุการณ์ของการดำเนินการ

หากคลิกลูกศรลงข้าง Talk to my test app ในบันทึกเหตุการณ์ คุณจะเห็นเหตุการณ์ที่จัดเรียงตามลำดับเวลาซึ่งเกิดขึ้นในเทิร์นการสนทนานั้น
userInput: สอดคล้องกับสิ่งที่ผู้ใช้พูด ("คุยกับแอปทดสอบของฉัน")interactionMatch: สอดคล้องกับการตอบสนองการเรียกใช้หลักของการดำเนินการ ซึ่งทริกเกอร์โดยอินพุตของผู้ใช้ หากขยายแถวนี้โดยคลิกลูกศร คุณจะเห็นพรอมต์ที่เพิ่มไว้สำหรับการเรียกใช้หลัก (A wondrous greeting, adventurer!...)endConversation: สอดคล้องกับการเปลี่ยนที่เลือกใน IntentMain invocationซึ่งปัจจุบันเป็นการสิ้นสุดการสนทนา คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับการเปลี่ยนผ่านในส่วนถัดไปของ Codelab นี้
บันทึกเหตุการณ์ช่วยให้คุณเห็นภาพการทำงานของ Action และเป็นเครื่องมือที่มีประโยชน์สำหรับการแก้ไขข้อบกพร่องของ Action หากพบปัญหา หากต้องการดูรายละเอียดของเหตุการณ์ ให้คลิกลูกศรข้างชื่อเหตุการณ์ ดังที่แสดงในภาพหน้าจอต่อไปนี้

4. สร้างการสนทนาของการดำเนินการ
เมื่อคุณกำหนดสิ่งที่เกิดขึ้นหลังจากที่ผู้ใช้เรียกใช้ Action แล้ว คุณก็สร้างการสนทนาที่เหลือของ Action ได้ ก่อนที่จะดำเนินการต่อใน Codelab นี้ โปรดทำความคุ้นเคยกับคำศัพท์ต่อไปนี้เพื่อทำความเข้าใจวิธีการทำงานของการสนทนาของ Action
Action ของคุณมีฉากได้หลายฉาก และคุณต้องเปิดใช้งานแต่ละฉากก่อนจึงจะเรียกใช้ได้ การดำเนินการที่คุณสร้างใน Codelab นี้มีเพียงฉากเดียวชื่อ Start วิธีที่พบบ่อยที่สุดในการเปิดใช้งานฉากคือการกําหนดค่าการดําเนินการเพื่อให้เมื่ออินพุตของผู้ใช้ตรงกับ Intent ภายในฉาก Intent นั้นจะทริกเกอร์การเปลี่ยนฉากไปยังฉากอื่นและเปิดใช้งานฉากนั้น
ตัวอย่างเช่น ลองนึกภาพการดำเนินการสมมติที่ให้ข้อเท็จจริงเกี่ยวกับสัตว์แก่ผู้ใช้ เมื่อผู้ใช้เรียกใช้ Action นี้ ระบบจะจับคู่ Intent Main invocation และทริกเกอร์การเปลี่ยนไปยังฉากที่ชื่อ Facts. การเปลี่ยนนี้จะเปิดใช้งานฉาก Facts ซึ่งจะส่งข้อความแจ้งต่อไปนี้ไปยังผู้ใช้: Would you like to hear a fact about cats or dogs? ภายในฉาก Facts คือ Intent ที่กำหนดเองชื่อ Cat ซึ่งมีวลีการฝึกที่ผู้ใช้อาจพูดเพื่อฟังข้อเท็จจริงเกี่ยวกับแมว เช่น "ฉันอยากฟังข้อเท็จจริงเกี่ยวกับแมว" หรือ "แมว" เมื่อผู้ใช้ขอฟังข้อเท็จจริงเกี่ยวกับแมว ระบบจะจับคู่ Intent Cat และทริกเกอร์การเปลี่ยนฉากที่ชื่อว่า Cat fact. ฉาก Cat fact จะเปิดใช้งานและส่งข้อความแจ้งไปยังผู้ใช้ซึ่งมีข้อเท็จจริงเกี่ยวกับแมว

รูปที่ 1 ขั้นตอนของการเปลี่ยนบทสนทนาทั่วไปในการดำเนินการที่สร้างด้วย Actions SDK
ฉาก, Intent และการเปลี่ยนผ่านจะรวมกันเป็นตรรกะสำหรับการสนทนาและกำหนดเส้นทางต่างๆ ที่ผู้ใช้จะใช้ในการสนทนาของการดำเนินการได้ ในส่วนต่อไปนี้ คุณจะสร้างฉากและกำหนดวิธีเปิดใช้งานฉากนั้นหลังจากที่ผู้ใช้เรียกใช้ Action
เปลี่ยนจากการเรียกใช้หลักเป็นฉาก
ในส่วนนี้ คุณจะสร้างฉากใหม่ชื่อ Start ซึ่งจะส่งข้อความแจ้งไปยังผู้ใช้เพื่อถามว่าต้องการให้ทำนายดวงหรือไม่ นอกจากนี้ คุณยังเพิ่มการเปลี่ยนจากการเรียกใช้หลักไปยังฉาก Start ใหม่ด้วย
หากต้องการสร้างฉากนี้และเพิ่มการเปลี่ยนฉาก ให้ทำตามขั้นตอนต่อไปนี้
- เปิด
custom/global/actions.intent.MAIN.yamlในเครื่องมือแก้ไขข้อความ - แทนที่ข้อความในช่อง
transitionToScene(actions.scene.END_CONVERSATION) ด้วยtransitionToScene: Start
actions.intent.MAIN.yaml
handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: Welcome to the mythical land of Gryffinberg! Based on your clothes,
you are not from around these lands. It looks like you're on your way
to an epic journey.
transitionToScene: Start
ซึ่งจะบอกให้ Action เปลี่ยนจากการเรียกใช้หลักเป็นฉาก Start
- บันทึกไฟล์
- ในเทอร์มินัล ให้สร้างไดเรกทอรี
scenesใหม่ในไดเรกทอรีcustomดังนี้
mkdir custom/scenes
- สร้างไฟล์ใหม่ชื่อ
Start.yamlในไดเรกทอรีscenesซึ่งแสดงถึงฉากstartในการดำเนินการของคุณ
touch custom/scenes/Start.yaml
- เปิด
Start.yamlในเครื่องมือแก้ไขข้อความ - วางโค้ดต่อไปนี้ลงในไฟล์
Start.yaml
Start.yaml
onEnter:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: Before you continue on your quest, would you like your fortune
told?
ในโค้ดไฟล์ Start.yaml จะมีช่องที่ชื่อว่า onEnter ซึ่งเป็นระยะแรกที่ทำงานในวงจรของฉาก
ในกรณีนี้ ระบบจะเพิ่มพรอมต์ (Before you continue on your quest...) ลงในคิวพรอมต์เมื่อผู้ใช้เข้าสู่ฉาก Start เป็นครั้งแรก
เพิ่มชิปคำแนะนำ
ชิปคำแนะนำจะแสดงคำแนะนำที่คลิกได้สำหรับผู้ใช้ที่การดำเนินการของคุณประมวลผลเป็นข้อมูลจากผู้ใช้ ในส่วนนี้ คุณจะเพิ่มชิปคำแนะนำ Yes และ No ที่ปรากฏใต้พรอมต์ที่คุณเพิ่งกำหนดค่า (Before you continue on your quest, would you like your fortune told?) เพื่อรองรับผู้ใช้ในอุปกรณ์ที่มีหน้าจอ
หากต้องการเพิ่มชิปคำแนะนำลงในพรอมต์ของฉาก Start ให้ทำตามขั้นตอนต่อไปนี้
- อัปเดตโค้ดใน
Start.yamlให้ตรงกับข้อมูลโค้ดต่อไปนี้ ซึ่งรวมถึงโค้ดสำหรับกำหนดค่าชิปคำแนะนำ
Start.yaml
onEnter:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: Before you continue on your quest, would you like your fortune
told?
suggestions:
- title: "Yes"
- title: "No"
- บันทึกไฟล์
ทดสอบการดำเนินการในเครื่องจำลอง
ณ จุดนี้ Action ควรเปลี่ยนจากการเรียกใช้หลักเป็นฉาก Start และถามผู้ใช้ว่าต้องการให้ทำนายโชคชะตาหรือไม่ ชิปคำแนะนำควรปรากฏในจอแสดงผลจำลองด้วย
หากต้องการทดสอบการดำเนินการในเครื่องจำลอง ให้ทำตามขั้นตอนต่อไปนี้
- เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล
gactions deploy preview
คุณควรได้รับเอาต์พุตที่มีลักษณะดังนี้
✔ Done. You can now test your changes in Simulator with this URL: http://console.actions.google.com/project/{project-id}/simulator?disableAutoPreview
- คัดลอก URL ที่ระบุแล้ววางลงในเบราว์เซอร์
- คลิกทดสอบเพื่อไปยังเครื่องจำลอง
- พิมพ์
Talk to my test appในช่องป้อนข้อมูล แล้วกดEnterAction ควรตอบสนองด้วยพรอมต์Main invocationและพรอมต์ฉากStartที่เพิ่มเข้ามา "ก่อนที่จะทำภารกิจต่อ คุณต้องการให้ทำนายโชคชะตาไหม" พร้อมแสดงชิปคำแนะนำ
ภาพหน้าจอต่อไปนี้แสดงการโต้ตอบนี้

- คลิกชิปคำแนะนำใช่หรือไม่เพื่อตอบกลับข้อความแจ้ง (หรือจะพูดว่า "ใช่" หรือ "ไม่ใช่" หรือป้อน
YesหรือNoในช่องป้อนข้อมูลก็ได้)
เมื่อคุณตอบสนองต่อข้อความแจ้ง การดำเนินการจะตอบกลับด้วยข้อความที่ระบุว่าไม่เข้าใจสิ่งที่คุณป้อน: "ขอโทษนะ ฉันไม่เข้าใจ ลองอีกทีได้ไหม" เนื่องจากคุณยังไม่ได้กำหนดค่า Action ให้เข้าใจและตอบสนองต่ออินพุต "ใช่" หรือ "ไม่ใช่" Action จึงจับคู่อินพุตกับ Intent NO_MATCH
โดยค่าเริ่มต้น Intent ของระบบ NO_MATCH จะให้คำตอบทั่วไป แต่คุณสามารถปรับแต่งคำตอบเหล่านี้เพื่อระบุให้ผู้ใช้ทราบว่าคุณไม่เข้าใจสิ่งที่ผู้ใช้ป้อน Assistant จะสิ้นสุดการสนทนาของผู้ใช้กับการดำเนินการของคุณหลังจากจับคู่ข้อมูลที่ผู้ใช้ป้อนไม่ได้ 3 ครั้ง
เพิ่มความตั้งใจ yes และ no
เมื่อผู้ใช้ตอบคำถามที่ Action ถามได้แล้ว คุณสามารถกำหนดค่า Action ให้เข้าใจคำตอบของผู้ใช้ ("ใช่" หรือ "ไม่") ในส่วนต่อไปนี้ คุณจะสร้าง Intent ที่กำหนดเองซึ่งจะจับคู่เมื่อผู้ใช้พูดว่า "ใช่" หรือ "ไม่" และเพิ่ม Intent เหล่านี้ลงในฉาก Start
สร้างความตั้งใจ yes
หากต้องการสร้าง Intent yes ให้ทำตามขั้นตอนต่อไปนี้
- ในเทอร์มินัล ให้สร้างไดเรกทอรีใหม่ชื่อ
intentsในไดเรกทอรีcustomดังนี้
mkdir custom/intents
- สร้างไฟล์ใหม่ชื่อ
yes.yamlในไดเรกทอรีintentsโดยทำดังนี้
touch custom/intents/yes.yaml
- เปิด
yes.yamlในเครื่องมือแก้ไขข้อความ - วางข้อมูลโค้ดต่อไปนี้ซึ่งมีวลีการฝึกใน
yes.yaml
yes.yaml
trainingPhrases:
- of course
- let's do it
- ok
- sure
- "y"
- "yes"
- บันทึกไฟล์
เพิ่มความตั้งใจ yes ไปยังฉาก Start
ตอนนี้ Action จะเข้าใจเมื่อผู้ใช้แสดงเจตนาว่า "ใช่" คุณสามารถเพิ่มความตั้งใจที่กำหนดเอง yes ลงในฉาก Start ได้ เนื่องจากผู้ใช้กำลังตอบสนองต่อพรอมต์ Start ("ก่อนที่จะทำภารกิจต่อ คุณอยากให้ทำนายโชคชะตาไหม")
หากต้องการเพิ่ม Intent ที่กำหนดเองนี้ลงในฉาก Start ให้ทำตามขั้นตอนต่อไปนี้
- เปิด
custom/scenes/Start.yamlในเครื่องมือแก้ไขข้อความ - เพิ่มแฮนเดิล
intentEventsและyesที่ส่วนท้ายของไฟล์Start.yamlดังนี้
Start.yaml
intentEvents:
- handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: Your future depends on the item you choose to use for your quest. Choose wisely! Farewell, stranger.
intent: "yes"
transitionToScene: actions.scene.END_CONVERSATION
เมื่อความตั้งใจ yes ตรงกัน ระบบจะเพิ่มพรอมต์ "อนาคตของคุณขึ้นอยู่กับไอเทมที่คุณเลือกใช้สำหรับภารกิจ..." ลงในคิวพรอมต์ จากนั้นฉาก Start จะเปลี่ยนเป็นฉากระบบ actions.scene.END_CONVERSATION ซึ่งจะแสดงพรอมต์ในคิวพรอมต์และสิ้นสุดการสนทนา
ทดสอบ Intent yes ในเครื่องจำลอง
ตอนนี้ Action ของคุณจะเข้าใจเมื่อผู้ใช้ต้องการฟังคำทำนายและแสดงคำตอบที่เหมาะสม
หากต้องการทดสอบ Intent นี้ในเครื่องจำลอง ให้ทำตามขั้นตอนต่อไปนี้
- เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล
gactions deploy preview
คุณควรได้รับเอาต์พุตที่มีลักษณะดังนี้
✔ Done. You can now test your changes in Simulator with this URL: http://console.actions.google.com/project/{project-id}/simulator?disableAutoPreview
- คัดลอก URL ที่ระบุแล้ววางลงในเบราว์เซอร์
- คลิกทดสอบเพื่อไปยังเครื่องจำลอง
- หากต้องการทดสอบการดำเนินการในโปรแกรมจำลอง ให้พิมพ์
Talk to my test appในช่องป้อนข้อมูล แล้วกดEnter - พิมพ์
Yesในช่องป้อนข้อมูล แล้วกดEnterหรือคลิกชิปคำแนะนำใช่

Action ของคุณตอบกลับผู้ใช้และบอกว่าโชคชะตาขึ้นอยู่กับความช่วยเหลือที่เลือก จากนั้น Action จะสิ้นสุดเซสชันเนื่องจากคุณกำหนดค่าการเปลี่ยนผ่าน End conversation สำหรับ Intent yes ไว้
สร้างความตั้งใจ no
ตอนนี้คุณสามารถสร้าง Intent no เพื่อให้การดำเนินการเข้าใจและตอบสนองต่อผู้ใช้เมื่อไม่ต้องการฟังคำทำนาย
หากต้องการสร้าง Intent นี้ ให้ทำตามขั้นตอนต่อไปนี้
- ในเทอร์มินัล ให้สร้างไฟล์ใหม่ชื่อ
no.yamlในไดเรกทอรีintentsโดยทำดังนี้
touch custom/intents/no.yaml
- เปิด
no.yamlในเครื่องมือแก้ไขข้อความ - วางวลีการฝึกต่อไปนี้ลงในไฟล์
no.yaml
no.yaml
trainingPhrases:
- nope
- I don't want
- "n"
- "no"
- nah
- no thanks
- บันทึกไฟล์
เพิ่มความตั้งใจ no ไปยังฉาก Start
ตอนนี้การดำเนินการจะเข้าใจเมื่อผู้ใช้พูดว่า "ไม่" หรือคำที่มีความหมายคล้ายกับ "ไม่" เช่น "ไม่เอา" คุณต้องเพิ่มความตั้งใจที่กำหนดเอง no ลงในฉาก Start เนื่องจากผู้ใช้กำลังตอบสนองต่อพรอมต์ Start ("ก่อนที่จะทำภารกิจต่อ คุณต้องการให้ทำนายโชคชะตาไหม")
หากต้องการเพิ่ม Intent นี้สําหรับฉาก Start ให้ทําตามขั้นตอนต่อไปนี้
- เปิด
custom/scenes/Start.yamlในเครื่องมือแก้ไขข้อความ - เพิ่มแฮนเดิล
noต่อไปนี้ใต้แฮนเดิลyesในStart.yaml
Start.yaml
- handler:
staticPrompt:
candidates:
- promptResponse:
firstSimple:
variants:
- speech: I understand, stranger. Best of luck on your quest! Farewell.
intent: "no"
transitionToScene: actions.scene.END_CONVERSATION
- บันทึกไฟล์
ทดสอบ Intent no ในเครื่องจำลอง
ตอนนี้ Action ของคุณจะเข้าใจเมื่อผู้ใช้ไม่ต้องการฟังคำทำนายและแสดงคำตอบที่เหมาะสม
หากต้องการทดสอบ Intent นี้ในเครื่องจำลอง ให้ทำตามขั้นตอนต่อไปนี้
- เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล
gactions deploy preview
คุณควรได้รับเอาต์พุตที่มีลักษณะดังนี้
✔ Done. You can now test your changes in Simulator with this URL: http://console.actions.google.com/project/{project-id}/simulator?disableAutoPreview
- คัดลอก URL ที่ระบุแล้ววางลงในเบราว์เซอร์
- คลิกทดสอบเพื่อไปยังเครื่องจำลอง
- พิมพ์
Talk to my test appในช่องป้อนข้อมูล แล้วกดEnter - พิมพ์
Noในช่องป้อนข้อมูล แล้วกดEnterหรือคลิกชิปคำแนะนำNo

แทนที่จะทำนายดวงชะตาให้ผู้ใช้ การดำเนินการของคุณจะอวยพรให้ผู้ใช้โชคดีในการเดินทาง จากนั้น Action จะสิ้นสุดเซสชันเนื่องจากคุณกำหนดค่าการเปลี่ยนผ่าน End conversation สำหรับ Intent no ไว้
5. ใช้การดำเนินการตามคำสั่งซื้อ
ปัจจุบัน การตอบกลับของการดำเนินการเป็นแบบคงที่ เมื่อเปิดใช้งานฉากที่มีพรอมต์ การดำเนินการจะส่งพรอมต์เดียวกันทุกครั้ง ในส่วนนี้ คุณจะใช้ Fulfillment ที่มีตรรกะในการสร้างคำตอบแบบไดนามิกในการสนทนา
Fulfillment จะระบุว่าผู้ใช้เป็นผู้ใช้ที่กลับมาหรือผู้ใช้ใหม่ และแก้ไขข้อความทักทายของการดำเนินการสำหรับผู้ใช้ที่กลับมา ข้อความทักทายจะสั้นลงสำหรับผู้ใช้ที่กลับมาและรับทราบการกลับมาของผู้ใช้: "ยินดีต้อนรับกลับมา นักผจญภัย! ยินดีต้อนรับกลับสู่ดินแดนลึกลับแห่งกริฟฟินเบิร์ก"
สําหรับ Codelab นี้ คุณจะใช้เครื่องมือแก้ไข Cloud Functions เพื่อแก้ไขและติดตั้งใช้งานโค้ด Fulfillment
Action สามารถทริกเกอร์ Webhook ที่แจ้งเตือนการดำเนินการตามคำขอเกี่ยวกับเหตุการณ์ที่เกิดขึ้นระหว่างการเรียกใช้หรือส่วนที่เฉพาะเจาะจงของการดำเนินการของฉาก เมื่อทริกเกอร์เว็บฮุคแล้ว Action จะส่งคำขอที่มีเพย์โหลด JSON ไปยัง Fulfillment พร้อมกับชื่อของแฮนเดิลที่จะใช้ประมวลผลเหตุการณ์ เครื่องจัดการนี้จะดำเนินการตามตรรกะบางอย่างและแสดงผลการตอบกลับ JSON ที่เกี่ยวข้อง
สร้างการดำเนินการตามคำสั่งซื้อ
ในส่วนนี้ คุณจะแก้ไขการดำเนินการตามคำขอเพื่อสร้างพรอมต์ที่แตกต่างกันสำหรับผู้ใช้ที่กลับมาและผู้ใช้ใหม่เมื่อเรียกใช้ Action
หากต้องการเพิ่มตรรกะนี้ลงใน Fulfillment ให้ทำตามขั้นตอนต่อไปนี้
- ในเทอร์มินัล ให้ตรวจสอบว่าคุณอยู่ในไดเรกทอรีรากของโปรเจ็กต์ แล้วสร้างไดเรกทอรี
webhooksใหม่โดยใช้คำสั่งต่อไปนี้
mkdir webhooks
- สร้างไฟล์ใหม่ชื่อ
ActionsOnGoogleFulfillment.yamlในไดเรกทอรีwebhooksโดยทำดังนี้
touch webhooks/ActionsOnGoogleFulfillment.yaml
- เปิด
ActionsOnGoogleFulfillment.yamlในเครื่องมือแก้ไขข้อความ - เพิ่มแฮนเดิล
greetingและเนื้อหาinlineCloudFunctionลงในไฟล์ActionsOnGoogleFulfillment.yamlดังนี้
ActionsOnGoogleFulfillment.yaml
handlers:
- name: greeting
inlineCloudFunction:
executeFunction: ActionsOnGoogleFulfillment
ไฟล์ ActionsOnGoogleFulfillment.yaml จะกำหนดตัวแฮนเดิลเว็บฮุก (เช่น ตัวแฮนเดิล greeting) และบอกให้การดำเนินการใช้ Cloud Functions เป็นปลายทางของเว็บฮุก
- สร้างไดเรกทอรี
ActionsOnGoogleFulfillmentใหม่ในไดเรกทอรีwebhooksโดยทำดังนี้
mkdir webhooks/ActionsOnGoogleFulfillment
- สร้างไฟล์ใหม่ชื่อ
index.jsในไดเรกทอรีActionsOnGoogleFulfillmentโดยทำดังนี้
touch webhooks/ActionsOnGoogleFulfillment/index.js
- เปิด
index.jsในเครื่องมือแก้ไขข้อความ - เพิ่มโค้ดต่อไปนี้ลงใน
index.js
index.js
const { conversation } = require('@assistant/conversation');
const functions = require('firebase-functions');
const app = conversation({debug: true});
app.handle('greeting', conv => {
let message = 'A wondrous greeting, adventurer! Welcome back to the mythical land of Gryffinberg!';
if (!conv.user.lastSeenTime) {
message = 'Welcome to the mythical land of Gryffinberg! Based on your clothes, you are not from around these lands. It looks like you\'re on your way to an epic journey.';
}
conv.add(message);
});
exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app);
โค้ดนี้จะกำหนดแฮนเดอร์ greeting ซึ่งจะส่งคำทักทายที่เหมาะสมไปยัง
ผู้ใช้
- บันทึกไฟล์
- สร้างไฟล์ใหม่ชื่อ
package.jsonในไดเรกทอรีActionsOnGoogleFulfillmentโดยทำดังนี้
touch webhooks/ActionsOnGoogleFulfillment/package.json
ไฟล์ package.json จะระบุทรัพยากร Dependency และข้อมูลเมตาอื่นๆ สำหรับเว็บฮุค
- เปิด
package.jsonในเครื่องมือแก้ไขข้อความ - คัดลอกโค้ดจากที่เก็บ GitHub นี้ แล้ววางลงในไฟล์
package.json - บันทึกไฟล์
ทำความเข้าใจโค้ด
Fulfillment ซึ่งใช้ไลบรารี Actions on Google Fulfillment สำหรับ Node.js จะตอบสนองต่อคำขอ HTTP จาก Google Assistant
ในข้อมูลโค้ดก่อนหน้านี้ คุณได้กำหนดแฮนเดิล greeting ซึ่งจะตรวจสอบว่าผู้ใช้เคยเข้าชม Action ที่มีพร็อพเพอร์ตี้ lastSeenTime หรือไม่ หากไม่ได้กำหนดพร็อพเพอร์ตี้ lastSeenTime แสดงว่าผู้ใช้เป็นผู้ใช้ใหม่และจะได้รับคำทักทายสำหรับผู้ใช้ใหม่ หรือไม่เช่นนั้น ข้อความจะรับทราบการกลับมาของผู้ใช้และสร้างคำทักทายที่แก้ไขแล้ว
อัปเดตการเรียกใช้หลักเพื่อทริกเกอร์เว็บฮุค
เมื่อกำหนดฟังก์ชัน greeting แล้ว คุณสามารถกำหนดค่าตัวแฮนเดิลเหตุการณ์ greeting ใน Intent การเรียกใช้หลักเพื่อให้ Action ทราบว่าต้องเรียกใช้ฟังก์ชันนี้เมื่อผู้ใช้เรียกใช้ Action
หากต้องการกำหนดค่าการดำเนินการเพื่อเรียกใช้แฮนเดิล greeting ใหม่ ให้ทำตามขั้นตอนต่อไปนี้
- เปิด
custom/global/actions.intent.MAIN.yamlในเครื่องมือแก้ไขข้อความ - แทนที่โค้ดใน
actions.intent.MAIN.yamlด้วยโค้ดต่อไปนี้
actions.intent.MAIN.yaml
handler:
webhookHandler: greeting
transitionToScene: Start
- บันทึกไฟล์
ตอนนี้เมื่อ Intent การเรียกใช้หลักตรงกัน ระบบจะเรียกใช้แฮนเดิลเว็บฮุค greeting
ทดสอบการเรียกใช้หลักที่อัปเดตแล้วในเครื่องจำลอง
หากต้องการทดสอบการดำเนินการในเครื่องจำลอง ให้ทำตามขั้นตอนต่อไปนี้
- เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล
gactions deploy preview
คุณควรได้รับเอาต์พุตที่มีลักษณะดังนี้
✔ Done. You can now test your changes in Simulator with this URL: http://console.actions.google.com/project/{project-id}/simulator?disableAutoPreview
- คัดลอก URL ที่ระบุแล้ววางลงในเบราว์เซอร์
- หากต้องการทดสอบการดำเนินการในโปรแกรมจำลอง ให้พิมพ์
Talk to my test appในช่องป้อนข้อมูล แล้วกดEnter
เนื่องจากคุณได้ทดสอบ Action ก่อนหน้านี้ใน Codelab นี้ คุณจึงไม่ใช่ผู้ใช้ใหม่ คุณจึงได้รับคำทักทายแบบย่อต่อไปนี้ "สวัสดี นักผจญภัย! ยินดีต้อนรับกลับสู่ดินแดนลึกลับแห่งกริฟฟินเบิร์ก!..."
6. แสดงภาพการดำเนินการด้วย Actions Builder
Actions SDK มีความสามารถในการทำงานร่วมกันกับ IDE บนเว็บที่เรียกว่า Actions Builder ซึ่งผสานรวมอยู่ในคอนโซล Actions คุณสามารถพุชระบบไฟล์ในเครื่องไปยังฉบับร่างของการดำเนินการในคอนโซลได้ด้วยคำสั่ง gactions push gactions push จะย้ายเนื้อหาทั้งหมดจากไฟล์ในเครื่องไปยัง Actions Builder ซึ่งต่างจาก gactions deploy preview ที่ให้คุณทดสอบการดำเนินการในเครื่องจำลองเท่านั้น
คอนโซล Actions จะแสดงภาพการกำหนดค่าของการดำเนินการ การดู Action ที่แมปออกมาเป็นภาพอาจเป็นประโยชน์ในระหว่างการพัฒนา และไม่ส่งผลต่อเวอร์ชันของ Action ที่แสดงสำหรับการทดสอบ
หากต้องการพุชโปรเจ็กต์ Actions และดูในคอนโซล Actions ให้ทำตามขั้นตอนต่อไปนี้
- ในเทอร์มินัล ให้เรียกใช้คำสั่งต่อไปนี้เพื่อพุชโปรเจ็กต์ไปยังคอนโซล Actions
gactions push
คุณควรได้รับเอาต์พุตที่มีลักษณะดังนี้
✔ Done. Files were pushed to Actions Console, and you can now view your project with this URL: https://console.actions.google.com/project/{project-id}/overview. If you want to test your changes, run "gactions deploy preview", or navigate to the Test section in the Console.
- คัดลอก URL ที่ระบุแล้ววางลงในเบราว์เซอร์
- ในคอนโซล Actions ให้คลิกพัฒนาในแถบนำทางด้านบน
- คลิกลูกศรแบบเลื่อนลงข้างฉาก แล้วคลิกเริ่ม คุณควรเห็นภาพแสดงฉาก
Startของการดำเนินการ ดังที่แสดงในภาพหน้าจอต่อไปนี้

ล้างโปรเจ็กต์ [แนะนำ]
เราขอแนะนำให้นำโปรเจ็กต์ที่คุณไม่ได้ตั้งใจจะใช้ออกเพื่อหลีกเลี่ยงค่าใช้จ่ายที่อาจเกิดขึ้น หากต้องการลบโปรเจ็กต์ที่สร้างใน Codelab นี้ ให้ทำตามขั้นตอนต่อไปนี้
- หากต้องการลบโปรเจ็กต์ที่อยู่ในระบบคลาวด์และทรัพยากร ให้ทำตามขั้นตอนที่ระบุไว้ในส่วนการปิด (ลบ) โปรเจ็กต์
- ไม่บังคับ: หากต้องการนำโปรเจ็กต์ออกจากคอนโซล Actions ทันที ให้ทำตามขั้นตอนที่ระบุไว้ในส่วนลบโปรเจ็กต์ หากไม่ดำเนินการขั้นตอนนี้ให้เสร็จสมบูรณ์ ระบบจะนำโปรเจ็กต์ออกโดยอัตโนมัติหลังจากผ่านไปประมาณ 30 วัน
7. ยินดีด้วย
คุณทราบข้อมูลพื้นฐานเกี่ยวกับการสร้างการดำเนินการสำหรับ Google Assistant ด้วย Actions SDK
สิ่งที่คุณพูดถึง
- วิธีตั้งค่าโปรเจ็กต์ Actions ในคอนโซล Actions
- วิธีใช้ Actions SDK เพื่อสร้างโปรเจ็กต์การดำเนินการในระบบไฟล์ในเครื่อง
- วิธีเพิ่มพรอมต์ลงในการเรียกใช้หลักเพื่อให้ผู้ใช้เริ่มการสนทนากับ Action ได้
- วิธีสร้างอินเทอร์เฟซการสนทนาด้วยฉาก, Intent, การเปลี่ยนฉาก, ชิปคำแนะนำ และการดำเนินการตามคำขอ
- วิธีทดสอบการดำเนินการด้วยเครื่องจำลองการดำเนินการ
ดูข้อมูลเพิ่มเติม
สำรวจแหล่งข้อมูลต่อไปนี้เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้าง Action สำหรับ Google Assistant
- เว็บไซต์เอกสารประกอบอย่างเป็นทางการสำหรับการพัฒนาการดำเนินการสำหรับ Google Assistant
- หน้า Actions on Google ใน GitHub สำหรับโค้ดตัวอย่างและไลบรารี
- ชุมชน Reddit อย่างเป็นทางการสำหรับนักพัฒนาซอฟต์แวร์ที่ทำงานกับ Assistant
ติดตาม @ActionsOnGoogle บน Twitter เพื่อรับประกาศล่าสุดและทวีตด้วย #AoGDevs เพื่อแชร์สิ่งที่คุณสร้าง
แบบสำรวจความคิดเห็น
ก่อนจากกัน โปรดกรอกแบบสำรวจสั้นๆ เกี่ยวกับประสบการณ์ของคุณ