สร้างการทำงานสำหรับ Google Assistant โดยใช้ Actions Builder (ระดับ 1)

1. ภาพรวม

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

Codelab นี้ครอบคลุมแนวคิดระดับเริ่มต้นสำหรับการพัฒนาด้วย Google Assistant โดยคุณไม่จำเป็นต้องมีประสบการณ์กับแพลตฟอร์มมาก่อนก็ทำตามได้ ในโค้ดแล็บนี้ คุณจะได้สร้าง Action ง่ายๆ สำหรับ Google Assistant ที่จะบอกโชคชะตาของผู้ใช้เมื่อเริ่มการผจญภัยในดินแดนแห่งตำนานของกริฟฟินเบิร์ก ใน Codelab ระดับ 2 ของ Actions Builder คุณจะสร้าง Action นี้เพิ่มเติมเพื่อปรับแต่งคำทำนายของผู้ใช้ตามข้อมูลที่ป้อน

สิ่งที่คุณจะสร้าง

ในโค้ดแล็บนี้ คุณจะได้สร้าง Action อย่างง่ายที่มีฟังก์ชันต่อไปนี้

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

เมื่อทำ Codelab นี้เสร็จแล้ว แอ็กชันที่เสร็จสมบูรณ์จะมีลำดับการสนทนาต่อไปนี้

1c1e79902bed7230.png

18ef55647b4cb52c.png

สิ่งที่คุณจะได้เรียนรู้

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

สิ่งที่คุณต้องมี

เครื่องมือต่อไปนี้ต้องอยู่ในสภาพแวดล้อมของคุณ

  • เว็บเบราว์เซอร์ เช่น Google Chrome

2. ตั้งค่า

ส่วนต่อไปนี้จะอธิบายวิธีตั้งค่าสภาพแวดล้อมการพัฒนาและสร้างโปรเจ็กต์ Actions

ตรวจสอบการตั้งค่าสิทธิ์ของ Google

หากต้องการทดสอบ Action ที่คุณสร้างในโค้ดแล็บนี้ คุณต้องเปิดใช้สิทธิ์ที่จำเป็นเพื่อให้โปรแกรมจำลองเข้าถึง Action ได้ หากต้องการเปิดใช้สิทธิ์ ให้ทำตามขั้นตอนต่อไปนี้

  1. ไปที่หน้าส่วนควบคุมกิจกรรม
  2. หากยังไม่ได้ลงชื่อเข้าใช้บัญชี Google โปรดลงชื่อเข้าใช้ก่อน
  3. เปิดใช้สิทธิ์ต่อไปนี้
  • กิจกรรมบนเว็บและแอป
  • ในส่วนกิจกรรมบนเว็บและแอป ให้เลือกช่องทําเครื่องหมายรวมประวัติการเข้าชมใน Chrome และกิจกรรมจากเว็บไซต์ แอป และอุปกรณ์ที่ใช้บริการต่างๆ ของ Google

สร้างโปรเจ็กต์ Actions

โปรเจ็กต์ Actions คือคอนเทนเนอร์สำหรับ Action ของคุณ หากต้องการสร้างโปรเจ็กต์ Actions สำหรับโค้ดแล็บนี้ ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิดคอนโซล Actions
  2. คลิกโครงการใหม่
  3. พิมพ์ชื่อโปรเจ็กต์ เช่น actions-codelab (ชื่อนี้มีไว้เพื่อใช้อ้างอิงภายใน คุณจะตั้งชื่อภายนอกสำหรับโปรเจ็กต์ได้ในภายหลัง)

8cd05a84c1c0a32f.png

  1. คลิกสร้างโปรเจ็กต์
  2. ในหน้าจอคุณต้องการสร้างการทำงานประเภทใด ให้เลือกการ์ดกำหนดเอง
  3. คลิกถัดไป
  4. เลือกการ์ดโปรเจ็กต์เปล่า
  5. คลิกเริ่มสร้าง

เชื่อมโยงบัญชีสำหรับการเรียกเก็บเงิน

หากต้องการทําให้ Fulfillment ใช้งานได้ในภายหลังใน Codelab นี้โดยใช้ Cloud Functions คุณต้องเชื่อมโยงบัญชีสำหรับการเรียกเก็บเงินกับโปรเจ็กต์ใน Google Cloud

หากยังไม่ได้เชื่อมโยงบัญชีสำหรับการเรียกเก็บเงินกับโปรเจ็กต์ ให้ทำตามขั้นตอนต่อไปนี้

  1. ไปที่หน้าการเรียกเก็บเงินของ Google Cloud Platform
  2. คลิกเพิ่มบัญชีสำหรับการเรียกเก็บเงินหรือสร้างบัญชี
  3. ป้อนข้อมูลการชำระเงิน
  4. คลิกเริ่มช่วงทดลองใช้ฟรีหรือส่งและเปิดใช้การเรียกเก็บเงิน
  5. ไปที่หน้าการเรียกเก็บเงินของ Google Cloud Platform
  6. คลิกแท็บโปรเจ็กต์ของฉัน
  7. คลิกจุด 3 จุดในส่วนการดำเนินการข้างโปรเจ็กต์ Actions สำหรับ Codelab
  8. คลิกเปลี่ยนการเรียกเก็บเงิน
  9. เลือกบัญชีสำหรับการเรียกเก็บเงินที่คุณกำหนดค่าไว้ในเมนูแบบเลื่อนลง คลิกตั้งค่าบัญชี

หากต้องการหลีกเลี่ยงการเรียกเก็บเงิน ให้ทำตามขั้นตอนในส่วนล้างข้อมูลโปรเจ็กต์ที่ตอนท้ายของ Codelab นี้

3. เริ่มการสนทนา

ผู้ใช้เริ่มการสนทนากับ Action ของคุณผ่านการเรียกใช้ เช่น หากคุณมีแอ็กชันชื่อ MovieTime ผู้ใช้จะเรียกใช้แอ็กชันของคุณได้โดยพูดวลีอย่าง "Ok Google คุยกับ MovieTime" ซึ่ง MovieTime คือชื่อที่แสดง การดำเนินการของคุณต้องมีชื่อที่แสดงหากต้องการนำไปใช้งานจริง แต่หากต้องการทดสอบการดำเนินการ คุณไม่จำเป็นต้องกำหนดชื่อที่แสดง แต่คุณสามารถใช้วลี "คุยกับแอปทดสอบของฉัน" ในโปรแกรมจำลองเพื่อเรียกใช้การดำเนินการได้

คุณต้องแก้ไขการเรียกใช้หลักเพื่อกําหนดสิ่งที่เกิดขึ้นหลังจากที่ผู้ใช้เรียกใช้ Action

โดยค่าเริ่มต้น Actions Builder จะแสดงพรอมต์ทั่วไปเมื่อมีการเรียกใช้ ("เริ่มสร้าง Action โดยกำหนดการเรียกใช้หลัก")

ในส่วนถัดไป คุณจะปรับแต่งพรอมต์สำหรับการเรียกใช้หลักในคอนโซล Actions

ตั้งค่าการเรียกใช้หลัก

หากต้องการแก้ไขพรอมต์ที่ Action ส่งกลับให้ผู้ใช้เมื่อเรียกใช้ Action ให้ทำตามขั้นตอนต่อไปนี้

  1. คลิกการเรียกใช้หลักในแถบนำทาง

966d037e1d7914df.png

  1. ในเครื่องมือแก้ไขโค้ด ให้แทนที่ข้อความในช่อง 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.
  1. คลิกบันทึก

ทดสอบการเรียกใช้หลักในเครื่องจำลอง

คอนโซล Actions มีเครื่องมือบนเว็บสำหรับทดสอบ Action ซึ่งเรียกว่าเครื่องจำลอง อินเทอร์เฟซจะจำลองอุปกรณ์ฮาร์ดแวร์และการตั้งค่าของอุปกรณ์เหล่านั้น เพื่อให้คุณสนทนากับ Action ได้ราวกับว่า Action นั้นทำงานบนจออัจฉริยะ โทรศัพท์ ลำโพง หรือ KaiOS

เมื่อเรียกใช้ Action ตอนนี้ Action ควรตอบกลับด้วยพรอมต์ที่กำหนดเองซึ่งคุณเพิ่มไว้ ("A wondrous greeting, adventurer!...")

หากต้องการทดสอบการเรียกใช้หลักของ Action ในเครื่องจำลอง ให้ทำตามขั้นตอนต่อไปนี้

  1. คลิกทดสอบในแถบนำทางด้านบนเพื่อไปที่เครื่องจำลอง
  2. หากต้องการเรียกใช้ Action ในเครื่องจำลอง ให้พิมพ์ Talk to my test app ในช่องอินพุต แล้วกด Enter

656f5736af6a5a07.png

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

ดูบันทึกเหตุการณ์

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

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

443129bdcbecc593.png

หากคลิกลูกศรลงในบันทึกเหตุการณ์ คุณจะเห็นเหตุการณ์ที่เกิดขึ้นในรอบการสนทนานั้นๆ โดยจัดเรียงตามลำดับเวลา

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

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

fcc389b59af5bef1.png

4. สร้างการสนทนาของแอ็กชัน

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

Action ของคุณมีได้ตั้งแต่ 1 ฉากขึ้นไป และคุณต้องเปิดใช้งานแต่ละฉากก่อนจึงจะเรียกใช้ได้ (การกระทําที่คุณสร้างใน Codelab นี้มีฉากเดียวชื่อ Start) วิธีที่พบบ่อยที่สุดในการเปิดใช้งานฉากคือการกําหนดค่าการกระทําเพื่อให้เมื่อผู้ใช้ตรงกับความตั้งใจของผู้ใช้ภายในฉาก ความตั้งใจนั้นจะทริกเกอร์การเปลี่ยนไปยังฉากอื่นและเปิดใช้งานฉากนั้น

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

a78f549c90c3bff6.png

รูปที่ 1 ลำดับการสนทนาโดยทั่วไปใน Action ที่สร้างด้วย Actions Builder

ฉาก Intent และการเปลี่ยนฉากรวมกันเป็นตรรกะของการสนทนาและกำหนดเส้นทางต่างๆ ที่ผู้ใช้สามารถใช้ในการสนทนาของ Action ในส่วนต่อไปนี้ คุณจะสร้างฉากและกำหนดวิธีเปิดใช้งานฉากนั้นหลังจากที่ผู้ใช้เรียกใช้ Action ของคุณ

เปลี่ยนจากคำสั่งเรียกใช้หลักเป็นฉาก

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

หากต้องการสร้างฉากนี้และเพิ่มทรานซิชัน ให้ทำตามขั้นตอนต่อไปนี้

  1. คลิกพัฒนาในแถบนำทาง
  2. คลิกการเรียกใช้หลักในแถบนำทางด้านข้าง
  3. ในส่วนการเปลี่ยนฉาก ให้คลิกเมนูแบบเลื่อนลงแล้วพิมพ์ Start ในช่องข้อความ

29e12dff950a3bce.png

  1. คลิกเพิ่ม ซึ่งจะสร้างฉากชื่อ Start และบอกให้ Action เปลี่ยนไปที่ฉาก Start หลังจากที่ Action แสดงข้อความต้อนรับต่อผู้ใช้
  2. คลิกฉากในแถบนำทางด้านข้างเพื่อแสดงรายการฉาก
  3. ในส่วนฉาก ให้คลิกเริ่มเพื่อดูฉาก Start
  4. คลิก + ในส่วนเมื่อเข้าของฉาก Start
  5. เลือกส่งพรอมต์
  6. แทนที่ประโยคในspeechฟิลด์ (Enter the response that users will see or hear...) ด้วยคำถามที่จะถามผู้ใช้ Before you continue on your quest, would you like your fortune told?

3fc95466efd476f.png

  1. คลิกบันทึก

Google Assistant จะแสดงข้อความนี้ (Before you continue on your quest...) แก่ผู้ใช้เมื่อเข้าสู่ฉาก Start

เพิ่มชิปคำแนะนำ

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

หากต้องการเพิ่มชิปคำแนะนำลงในพรอมต์ของฉาก Start ให้ทำตามขั้นตอนต่อไปนี้

  1. ในStartฉาก ให้คลิกคำแนะนำ การดำเนินการนี้จะเพิ่มชิปคำแนะนำรายการเดียว
  2. ในช่อง title ให้แทนที่ Suggested Response ด้วย 'Yes'
  3. ใช้รูปแบบเดียวกัน แล้วเพิ่มชิปคำแนะนำชื่อ 'No' ด้วยตนเอง โค้ดควรมีลักษณะดังข้อมูลโค้ดต่อไปนี้
    suggestions:
      - title: 'Yes'
      - title: 'No'
  1. คลิกบันทึก

2d13c2ada791ec26.png

ทดสอบ Action ในเครื่องมือจำลอง

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

หากต้องการทดสอบ Action ในเครื่องจำลอง ให้ทำตามขั้นตอนต่อไปนี้

  1. ในแถบนำทาง ให้คลิกทดสอบเพื่อไปยังเครื่องจำลอง
  2. หากต้องการทดสอบ Action ในเครื่องจำลอง ให้พิมพ์ Talk to my test app ในช่องอินพุต แล้วกด Enter Action ของคุณควรตอบกลับด้วยพรอมต์ Main invocation และพรอมต์ฉาก Start ที่เพิ่มเข้ามา "Before you continue on your quest, would you like your fortune told?"

ภาพหน้าจอต่อไปนี้แสดงการโต้ตอบนี้

3c2013ebb2da886a.png

  1. คลิกชิปคำแนะนำ Yes หรือ No เพื่อตอบกลับพรอมต์ (คุณจะพูดว่า "ใช่" หรือ "ไม่" หรือป้อน Yes หรือ No ในช่องป้อนข้อมูลก็ได้)

เมื่อคุณตอบกลับพรอมต์ การดำเนินการจะตอบกลับด้วยข้อความที่ระบุว่าไม่เข้าใจอินพุตของคุณ: "ขออภัย ฉันไม่เข้าใจที่คุณพูด คุณลองอีกครั้งได้ไหม" เนื่องจากคุณยังไม่ได้กำหนดค่า Action ให้เข้าใจและตอบกลับอินพุต "ใช่" หรือ "ไม่" Action จึงจับคู่อินพุตของคุณกับ Intent NO_MATCH

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

เพิ่มความตั้งใจ yes และ no

ตอนนี้ผู้ใช้สามารถตอบคำถามที่ Action ของคุณถามได้แล้ว คุณจึงกำหนดค่า Action ให้เข้าใจคำตอบของผู้ใช้ ("ใช่" หรือ "ไม่") ได้ ในส่วนต่อไปนี้ คุณจะสร้างความตั้งใจของผู้ใช้ที่ตรงกันเมื่อผู้ใช้พูดว่า "ใช่" หรือ "ไม่" และเพิ่มความตั้งใจเหล่านี้ลงในStartฉาก

สร้างความตั้งใจ yes

หากต้องการสร้างyesเจตนา ให้ทำตามขั้นตอนต่อไปนี้

  1. คลิกพัฒนาในแถบนำทาง
  2. คลิกความตั้งใจที่กำหนดเองในแถบนำทางเพื่อเปิดรายการความตั้งใจ
  3. คลิก + (เครื่องหมายบวก) ที่ท้ายรายการความตั้งใจ
  4. ตั้งชื่อ Intent ใหม่เป็น yes แล้วกด Enter
  5. คลิกyesเจตนาเพื่อเปิดyesหน้าเจตนา
  6. ในส่วนเพิ่มวลีการฝึก ให้คลิกกล่องข้อความป้อนวลี แล้วป้อนวลีต่อไปนี้
  • Yes
  • Y
  • I would
  • Tell me

98440276cb9e7de8.png

  1. คลิกบันทึก

เพิ่มความตั้งใจ yes ไปยังStart ฉาก

ตอนนี้ Action สามารถเข้าใจได้เมื่อผู้ใช้แสดงความตั้งใจที่จะตอบว่า"ใช่" คุณเพิ่มyesความตั้งใจของผู้ใช้ลงในStartฉากได้เนื่องจากผู้ใช้ตอบกลับStartพรอมต์ ("ก่อนที่จะทำภารกิจต่อ คุณต้องการให้ทำนายโชคชะตาไหม")

หากต้องการเพิ่มความตั้งใจของผู้ใช้ไปยังStartฉาก ให้ทำตามขั้นตอนต่อไปนี้

  1. คลิกฉากเริ่มในแถบนำทาง
  2. คลิก + (เครื่องหมายบวก) ในฉาก Start ข้างการจัดการความตั้งใจของผู้ใช้
  3. เลือกใช่ในเมนูแบบเลื่อนลงของเจตนา

681928e3d71abdbf.png

  1. คลิกส่งพรอมต์ แล้วอัปเดตช่อง speech ด้วยข้อความต่อไปนี้ Your future depends on the aid you choose to use for your quest. Choose wisely! Farewell, stranger.

โค้ดในเครื่องมือแก้ไขควรมีลักษณะเหมือนข้อมูลโค้ดต่อไปนี้

candidates:
  - first_simple:
      variants:
        - speech: >-
            Your future depends on the aid you choose to use for your quest. Choose
            wisely! Farewell, stranger.
  1. ในส่วนการเปลี่ยนเส้นทาง ให้คลิกเมนูแบบเลื่อนลง แล้วเลือกจบการสนทนา
  2. คลิกบันทึก

ทดสอบyes Intent ในเครื่องจำลอง

ตอนนี้ Action ของคุณจะเข้าใจเมื่อผู้ใช้ต้องการฟังคำทำนายและจะแสดงคำตอบที่เหมาะสม

หากต้องการทดสอบ Intent นี้ในโปรแกรมจำลอง ให้ทำตามขั้นตอนต่อไปนี้

  1. คลิกทดสอบในแถบนำทาง
  2. หากต้องการทดสอบ Action ในเครื่องจำลอง ให้พิมพ์ Talk to my test app ในช่องอินพุต แล้วกด Enter
  3. พิมพ์ Yes ในช่องอินพุต แล้วกด Enter หรือคลิกชิปคำแนะนำใช่

f131998710d8ffd8.png

Action จะตอบกลับผู้ใช้และบอกว่าโชคชะตาขึ้นอยู่กับความช่วยเหลือที่ผู้ใช้เลือก จากนั้น Action จะสิ้นสุดเซสชันเนื่องจากคุณเลือกการเปลี่ยนฉาก End conversation สำหรับเจตนา yes

สร้างความตั้งใจ no

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

  1. คลิกพัฒนาในแถบนำทาง
  2. คลิกความตั้งใจที่กำหนดเองในแถบนำทางเพื่อเปิดรายการความตั้งใจ
  3. คลิก + (เครื่องหมายบวก) ที่ท้ายรายการความตั้งใจ
  4. ตั้งชื่อ Intent ใหม่เป็น no แล้วกด Enter
  5. คลิกไม่เพื่อเปิดหน้าเจตนาของ no
  6. ในส่วนเพิ่มวลีการฝึก ให้คลิกในกล่องข้อความป้อนวลี แล้วป้อนวลีต่อไปนี้
  • No
  • N
  • I don't want
  • nope

2e7b8fd57eac94c5.png

  1. คลิกบันทึก

เพิ่มความตั้งใจ no ไปยังStart ฉาก

ตอนนี้ Action สามารถเข้าใจได้เมื่อผู้ใช้พูดว่า"ไม่" หรือพูดอะไรที่คล้ายกับ"ไม่" เช่น "ไม่เอา" คุณต้องเพิ่มnoเจตนาของผู้ใช้ลงในStartฉาก เนื่องจากผู้ใช้ตอบกลับStartพรอมต์ ("ก่อนที่จะทำภารกิจต่อ คุณต้องการให้ทำนายโชคชะตาไหม")

หากต้องการเพิ่มเจตนานี้สำหรับStartฉาก ให้ทำตามขั้นตอนต่อไปนี้

  1. คลิกฉากเริ่มในแถบนำทาง
  2. คลิก + (เครื่องหมายบวก) ในStart ฉากข้างการจัดการความตั้งใจของผู้ใช้
  3. ในส่วนเจตนา ให้เลือกไม่ในเมนูแบบเลื่อนลง

4aa558abdecb3121.png

  1. คลิกส่งพรอมต์
  2. อัปเดตspeechฟิลด์ด้วยข้อความต่อไปนี้ I understand, stranger. Best of luck on your quest! Farewell.

โค้ดในเครื่องมือแก้ไขควรมีลักษณะเหมือนข้อมูลโค้ดต่อไปนี้

 candidates:
  - first_simple:
      variants:
        - speech: >-
             I understand, stranger. Best of luck on your quest! Farewell.
  1. ในส่วนการเปลี่ยน ให้เลือกจบการสนทนาจากเมนูแบบเลื่อนลง
  2. คลิกบันทึก

ทดสอบno Intent ในเครื่องจำลอง

ตอนนี้ Action ของคุณจะเข้าใจเมื่อผู้ใช้ไม่ต้องการฟังคำทำนายและจะแสดงคำตอบที่เหมาะสม

หากต้องการทดสอบ Intent นี้ในโปรแกรมจำลอง ให้ทำตามขั้นตอนต่อไปนี้

  1. คลิกทดสอบในแถบนำทาง
  2. พิมพ์ Talk to my test app ในช่องอินพุต แล้วกด Enter
  3. พิมพ์ No ในช่องอินพุต แล้วกด Enter หรือคลิกชิปคำแนะนำไม่

c0c8b04066577eb2.png

Action จะอวยพรให้ผู้ใช้โชคดีในการเดินทางแทนที่จะทำนายโชคชะตา จากนั้น Action จะสิ้นสุดเซสชันเนื่องจากคุณเลือกการเปลี่ยนฉาก End conversation สำหรับเจตนา no

5. ติดตั้งใช้งานการดำเนินการตามคำสั่งซื้อ

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

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

สำหรับ Codelab นี้ ให้ใช้โปรแกรมแก้ไข Cloud Functions ในคอนโซล Actions เพื่อแก้ไขและทำให้โค้ดการประมวลผลคำสั่งใช้งานได้

Action ของคุณสามารถทริกเกอร์ Webhook ที่แจ้งให้คุณทราบถึงการดำเนินการตามคำขอของเหตุการณ์ที่เกิดขึ้นระหว่างการเรียกใช้หรือส่วนที่เฉพาะเจาะจงของการดำเนินการในฉาก เมื่อทริกเกอร์ Webhook การดำเนินการจะส่งคำขอที่มีเพย์โหลด JSON ไปยัง Fulfillment พร้อมกับชื่อของตัวแฮนเดิลที่จะใช้ประมวลผลเหตุการณ์ แฮนเดิลนี้จะดำเนินการตามตรรกะบางอย่างและส่งคืนการตอบกลับ JSON ที่เกี่ยวข้อง

สร้างการดำเนินการตามคำสั่งซื้อ

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

หากต้องการเพิ่มตรรกะนี้ลงในการดำเนินการตามคำสั่ง ให้ทำตามขั้นตอนต่อไปนี้

  1. คลิกพัฒนาในแถบนำทาง
  2. คลิกแท็บ Webhook ในแถบนำทาง
  3. เลือกช่องทำเครื่องหมาย Cloud Functions แบบอินไลน์
  4. คลิกยืนยัน ระบบจะเพิ่มโค้ดมาตรฐานสำหรับไฟล์ index.js และ package.json โดยอัตโนมัติ

d4702f1de6404285.png

  1. แทนที่เนื้อหาของ 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);
  1. คลิกบันทึกการปฏิบัติตามคำสั่งซื้อ
  2. คลิกติดตั้งใช้งานการดำเนินการตามคำสั่งซื้อ

รอสักครู่เพื่อให้ Cloud Functions จัดสรรและติดตั้งใช้งานการดำเนินการตามคำสั่ง คุณควรเห็นข้อความการติดตั้งใช้งาน Cloud Functions กำลังดำเนินการ... เหนือตัวแก้ไขโค้ด เมื่อโค้ดได้รับการติดตั้งใช้งานสำเร็จ ข้อความจะอัปเดตเป็นการติดตั้งใช้งาน Cloud Functions เป็นเวอร์ชันล่าสุดแล้ว

ทำความเข้าใจโค้ด

การดำเนินการตามคำขอของคุณซึ่งใช้ไลบรารีการดำเนินการตามคำขอของ Actions on Google สำหรับ Node.js จะตอบกลับคำขอ HTTP จาก Google Assistant

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

อัปเดตการเรียกใช้หลักเพื่อทริกเกอร์เว็บฮุค

ตอนนี้คุณได้กำหนดgreetingฟังก์ชันแล้ว คุณสามารถกำหนดค่าตัวแฮนเดิลเหตุการณ์ greeting ใน Intent การเรียกใช้หลักเพื่อให้ Action รู้ว่าจะเรียกใช้ฟังก์ชันนี้เมื่อผู้ใช้เรียกใช้ Action ของคุณ

หากต้องการกำหนดค่า Action ให้เรียกใช้แฮนเดิลเลอร์ greeting ใหม่ ให้ทำตามขั้นตอนต่อไปนี้

  1. คลิกการเรียกใช้หลักในแถบนำทาง
  2. ล้างส่งพรอมต์
  3. เลือกช่องทําเครื่องหมายเรียกใช้เว็บฮุก
  4. เพิ่ม greeting ในกล่องข้อความ

a803afe4f7375a97.png

  1. คลิกบันทึก

ทดสอบการเรียกใช้หลักที่อัปเดตแล้วในเครื่องจำลอง

หากต้องการทดสอบ Action ในเครื่องจำลอง ให้ทำตามขั้นตอนต่อไปนี้

  1. ในแถบนำทาง ให้คลิกทดสอบเพื่อไปยังเครื่องจำลอง
  2. พิมพ์ Talk to my test app ในช่องอินพุต แล้วกด Enter

เนื่องจากคุณได้ทดสอบ Action ใน Codelab นี้ไปแล้วก่อนหน้านี้ คุณจึงไม่ใช่ผู้ใช้ใหม่ ดังนั้นคุณจะได้รับคำทักทายแบบย่อต่อไปนี้ "คำทักทายที่แสนวิเศษ นักผจญภัย ยินดีต้อนรับกลับสู่ดินแดนในตำนานแห่งกริฟฟินเบิร์ก..."

ล้างข้อมูลโปรเจ็กต์ [แนะนำ]

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

  1. หากต้องการลบโปรเจ็กต์และทรัพยากรในระบบคลาวด์ ให้ทำตามขั้นตอนที่ระบุไว้ในส่วนการปิด (ลบ) โปรเจ็กต์
  1. ไม่บังคับ: หากต้องการนำโปรเจ็กต์ออกจากคอนโซล Actions ทันที ให้ทำตามขั้นตอนที่ระบุไว้ในส่วนลบโปรเจ็กต์ หากไม่ทำตามขั้นตอนนี้ให้เสร็จสมบูรณ์ ระบบจะนำโปรเจ็กต์ของคุณออกโดยอัตโนมัติหลังจากผ่านไปประมาณ 30 วัน

6. ยินดีด้วย

คุณทราบข้อมูลพื้นฐานเกี่ยวกับการสร้างการทำงานสำหรับ Google Assistant

สิ่งที่คุณได้พูดถึง

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

ดูข้อมูลเพิ่มเติม

สำรวจแหล่งข้อมูลต่อไปนี้เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้าง Actions สำหรับ Google Assistant

แบบสำรวจความคิดเห็น

ก่อนจากกัน โปรดกรอกแบบสำรวจสั้นๆ เกี่ยวกับประสบการณ์ของคุณ