โปรเจ็กต์ Actions รวมการดำเนินการทั้งหมดของคุณไว้ในคอนเทนเนอร์เดียว คุณเผยแพร่โปรเจ็กต์นี้ไปยัง Actions on Google เพื่อให้ Google Assistant ทราบวิธีค้นพบและเริ่มต้นการสนทนา
คุณใช้คอมโพเนนต์ระดับต่ำต่อไปนี้เพื่อสร้างโปรเจ็กต์ Actions ได้
การตั้งค่าและทรัพยากรจะกำหนดข้อมูลเมตาและทรัพยากรของโปรเจ็กต์ เช่น ไอคอนโปรเจ็กต์ Google ใช้ข้อมูลนี้เผยแพร่การดำเนินการของคุณในไดเรกทอรี Assistant เพื่อให้ผู้ใช้ค้นพบและเรียกใช้ได้
Intent แสดงถึงงานที่ต้องดำเนินการ เช่น ข้อมูลจากผู้ใช้หรือเหตุการณ์ของระบบที่ต้องมีการประมวลผล ประเภทความตั้งใจที่คุณจะใช้ โดยทั่วไปคือความตั้งใจของผู้ใช้ Intent เหล่านี้ช่วยให้คุณประกาศวลีการฝึกที่ขยายตามธรรมชาติโดยเครื่องมือ NLU (การทำความเข้าใจภาษาธรรมชาติ) เพื่อให้มีวลีที่คล้ายกันมากขึ้น NLU ใช้การรวมวลีเหล่านี้เพื่อฝึกโมเดลภาษาที่ Assistant ใช้เพื่อจับคู่อินพุตของผู้ใช้ ในระหว่างการสนทนา หากอินพุตบางส่วนของผู้ใช้ตรงกับโมเดลภาษาของ Intent รันไทม์ของ Assistant จะส่ง Intent ไปยังการดำเนินการของคุณเพื่อให้ดำเนินการและตอบสนองต่อผู้ใช้ได้
ประเภทช่วยให้คุณแยก Structured Data จากข้อมูลที่ผู้ใช้ป้อนได้ การใส่คำอธิบายประกอบให้กับวลีการฝึกด้วยประเภทจะทำให้ NLU สามารถดึงข้อมูลที่มีโครงสร้างที่เกี่ยวข้องให้คุณ คุณจึงไม่ต้องแยกวิเคราะห์อินพุตปลายเปิด
ฉาก ประมวลผล Intent และเป็นตัวสั่งการทางตรรกะหลักสำหรับการดำเนินการของคุณ ผู้ลงโฆษณาจะสามารถเติมเต็มช่องโฆษณา ประเมินตรรกะแบบมีเงื่อนไข ข้อความแจ้งผู้ใช้ หรือแม้กระทั่งเรียกใช้บริการเว็บภายนอกให้ใช้ตรรกะทางธุรกิจ เมื่อใช้ร่วมกับ Intent แล้ว โหมดต่างๆ จะมอบวิธีที่มีประสิทธิภาพในการตรวจหาอินพุตของผู้ใช้หรือเหตุการณ์ของระบบที่เฉพาะเจาะจง และในการจัดการตรรกะที่สอดคล้องกัน
ข้อความแจ้งจะกำหนดคำตอบแบบคงที่หรือแบบไดนามิกที่คุณจะใช้เพื่อตอบกลับผู้ใช้
เว็บฮุคช่วยให้คุณมอบหมายงานเพิ่มเติมให้กับบริการบนเว็บ (การดำเนินการตามคำสั่งซื้อ) เช่น การตรวจสอบข้อมูลหรือสร้างพรอมต์ การดำเนินการของคุณสื่อสารกับ Fulfillment ผ่านโปรโตคอลเว็บฮุคที่ใช้ JSON
Interactive Canvas ให้คุณสร้างประสบการณ์ที่สมบูรณ์และสมจริงด้วยเว็บแอปที่ใช้ HTML, CSS และ JavaScript
สร้างโปรเจ็กต์
คุณต้องสร้างโปรเจ็กต์ในคอนโซล Actions ก่อนจึงจะพัฒนาสำหรับ Google Assistant ได้ หากต้องการสร้างโปรเจ็กต์ ให้ทำดังนี้
- ไปที่คอนโซลการดําเนินการ
- คลิกโครงการใหม่
- ป้อนชื่อโปรเจ็กต์แล้วคลิกสร้างโปรเจ็กต์
- ในหน้าจอคุณต้องการสร้างการดำเนินการประเภทใด ให้เลือกหมวดหมู่ที่ตรงกับโปรเจ็กต์ของคุณมากที่สุด แล้วคลิกถัดไป
- ในหน้าจอคุณต้องการสร้างอย่างไร ให้เลือกวิธีสร้าง แล้วคลิกเริ่มสร้าง เช่น เริ่มต้นด้วยโปรเจ็กต์เปล่าหรือโปรเจ็กต์ตัวอย่าง
สร้างโปรเจ็กต์ Local Actions SDK
เมื่อสร้างโปรเจ็กต์ Actions ในคอนโซล Actions แล้ว คุณจะเริ่มต้นโปรเจ็กต์ในสภาพแวดล้อมการพัฒนาในเครื่องได้
หากต้องการเริ่มโปรเจ็กต์ Actions SDK จากโปรเจ็กต์ Actions ที่มีอยู่ ให้ทําตามขั้นตอนต่อไปนี้
- สร้างไดเรกทอรีว่างสำหรับโครงการ Actions ในระบบไฟล์ในเครื่อง
- สร้างไดเรกทอรี
sdk
ในไดเรกทอรีที่ว่างเปล่านี้ - เปลี่ยนไดเรกทอรีการทำงานเป็นไดเรกทอรี
sdk
ในเทอร์มินัล
เริ่มต้นจากโปรเจ็กต์ที่ว่างเปล่า
หากต้องการเริ่มต้นจากโปรเจ็กต์เปล่าที่คุณเพิ่งสร้างในคอนโซล ให้เรียกใช้ gactions pull --project-id <my-project-id>
$ mkdir myAction $ cd myAction $ mkdir sdk $ cd sdk $ gactions pull --project-id my-project-id Pulling your project files from Draft for a project id: "my-project-id" ✔ Done. You should see the files written in path/to/myAction/sdk
เริ่มด้วยโปรเจ็กต์ตัวอย่าง
หากต้องการเริ่มจากโปรเจ็กต์ตัวอย่าง ให้เรียกใช้ gactions init <sample name>
$ mkdir actions-test $ cd actions-test $ mkdir sdk $ cd sdk $ gactions init question Writing sample files for question. ✔ Done. Please checkout the following documentation - https://developers.google.com/assistant/conversational/build on the next steps on how to get started.
กำหนดข้อมูลโปรเจ็กต์
การตั้งค่าและทรัพยากรของโปรเจ็กต์จะระบุข้อมูลเกี่ยวกับโปรเจ็กต์ เช่น ฟีเจอร์และการรองรับแพลตฟอร์ม ภาษาที่รองรับ ชื่อที่แสดง คำอธิบาย โลโก้ และอื่นๆ ตารางต่อไปนี้จะอธิบายถึงการตั้งค่าและทรัพยากรหลัก ที่คุณให้มา Actions on Google จะใช้ข้อมูลนี้เพื่อทำให้ใช้งานได้และเผยแพร่โปรเจ็กต์ในไดเรกทอรี Assistant
ชื่อ | คำอธิบาย |
---|---|
ข้อมูลไดเรกทอรี | ให้ข้อมูลเพื่อให้ Actions on Google เผยแพร่โปรเจ็กต์ในไดเรกทอรี Assistant ได้ รวมข้อมูลเมตาและการดูหมิ่น เกี่ยวกับทรัพยากรโปรเจ็กต์และรูปภาพสำหรับโลโก้และรูปภาพแบนเนอร์ |
การกำหนดเป้าหมายตามสถานที่ | กำหนดค่าภาษาที่การดำเนินการของคุณใช้ได้ |
แสดงความสามารถ | กำหนดค่าแพลตฟอร์มที่การดำเนินการของคุณพร้อมใช้งาน |
รายละเอียดบริษัท | ระบุข้อมูลติดต่อของบริษัท |
การยืนยันแบรนด์ | เชื่อมต่อเว็บไซต์หรือแอป Android ที่คุณเป็นเจ้าของเพื่อรับสิทธิประโยชน์เพิ่มเติม เช่น ชื่อการเรียกใช้ที่จองไว้และการลิงก์เว็บไซต์ภายในการดําเนินการ |
เผยแพร่ | กำหนดค่าการทดสอบและเวอร์ชันที่ใช้งานจริงแบบต่างๆ สำหรับการดำเนินการสำหรับการทดสอบและเวอร์ชันที่ใช้งานจริง |
ลิงก์ Assistant | อนุญาตให้ผู้ใช้เรียกใช้การดำเนินการของคุณจากผลิตภัณฑ์และบริการบนอินเทอร์เน็ต |
วิธีกำหนดข้อมูลโปรเจ็กต์
กำหนดการตั้งค่าส่วนกลางสำหรับโปรเจ็กต์ Actions ใน
sdk/settings/settings.yaml
ดูเอกสารอ้างอิงการตั้งค่าสำหรับค่าที่รองรับตัวอย่างต่อไปนี้แสดงตัวอย่างไฟล์
sdk/settings/settings.yaml
accountLinking: enableAccountCreation: true linkingType: GOOGLE_SIGN_IN category: GAMES_AND_TRIVIA projectId: my-project-id ...
กำหนดการตั้งค่าที่อาจแตกต่างกันไปตามสถานที่ของผู้ใช้ (เช่น วลีสำหรับเรียกใช้ในภาษาอื่น) ในไฟล์
sdk/settings/<locale>/settings.yaml
โดยแทนที่ locale ด้วยภาษาเป้าหมายของคุณดูเอกสารอ้างอิง LocalizedSettings สำหรับค่าที่รองรับ
ข้อมูลโค้ดต่อไปนี้เป็นตัวอย่างการตั้งค่าภาษาอังกฤษที่กำหนดไว้ในไฟล์
sdk/settings/en/settings.yaml
localizedSettings: developerEmail: developer@developers.com developerName: Developer Name displayName: My Display Name fullDescription: full description of the action largeBannerImage: https://path/to/large/banner privacyPolicyUrl: http://path/to/privacy/policy sampleInvocations: - Talk to My Display Name shortDescription: short description of the action smallLogoImage: https://path/to/small/logo voice: female_1 ...
เพิ่มทรัพยากร
คุณสามารถจัดเก็บทรัพยากร เช่น ไฟล์ภาพ ไฟล์เสียง และสตริงในโปรเจ็กต์การดำเนินการ และอ้างอิงทรัพยากรเหล่านั้นจากไฟล์การกำหนดค่า (เช่น การกำหนดพรอมต์หรือเงื่อนไข) ได้โดยใช้ตัวแปร $resources
ที่ระบบกำหนด
ระบบจะจัดเก็บทรัพยากรของโปรเจ็กต์ไว้ใน resources/
และจะมีการกำหนดโฟลเดอร์ทรัพยากรแต่ละประเภทไว้ในไดเรกทอรี
คุณแปลทรัพยากรได้โดยสร้างโฟลเดอร์เฉพาะภาษาในโฟลเดอร์ประเภททรัพยากร เช่น จัดเก็บสตริงเวอร์ชันภาษาสเปนใน resources/strings/es/<filename>.yaml
รูปภาพ
ไฟล์ภาพจะเก็บอยู่ใน resources/images/
และคุณสามารถอ้างอิงโดยใช้ $resources.images.<name of the image file without file extension>
ได้
นามสกุลไฟล์ที่อนุญาตมีดังนี้
gif
png
jpg
jpeg
เช่น หากบันทึกโลโก้ขนาดเล็กเวอร์ชันภาษาอังกฤษไว้ใน resources/images/en/square.png
และแบนเนอร์ขนาดใหญ่เวอร์ชันภาษาอังกฤษบันทึกไว้ใน resources/images/en/landscape.jpg
ตามลำดับ sdk/settings/en/settings.yaml
จากตัวอย่างก่อนหน้านี้จะกลายเป็นดังนี้
localizedSettings: developerEmail: developer@developers.com developerName: Developer Name displayName: My Display Name fullDescription: full description of the action largeBannerImage: $resources.images.landscape privacyPolicyUrl: http://path/to/privacy/policy sampleInvocations: - Talk to My Display Name shortDescription: short description of the action smallLogoImage: $resources.images.square voice: female_1 ...
ไฟล์เสียง
ไฟล์เสียงจะเก็บอยู่ใน resources/audio/
และคุณสามารถอ้างอิงโดยใช้ $resources.audio.<name of the audio file without file extension>
ได้
นามสกุลไฟล์ที่อนุญาตมีดังนี้
mp3
mpeg
เช่น คุณอ้างอิงเสียงที่บันทึกไว้จากพรอมต์ได้
candidates: - first_simple: variants: - speech: your speech response content: media: mediaType: audio mediaObjects: - name: media name description: media description url: $resources.audio.intro
สตริง
เก็บสตริงไว้ใน resources/strings/
เป็นไฟล์ .yaml
แต่ละไฟล์จะมีแมปคีย์สตริงและค่าที่เกี่ยวข้อง ซึ่งอาจเป็นสตริงเดี่ยวหรือรายการสตริงก็ได้ คุณสามารถอ้างอิงค่าโดยใช้ $resources.strings.<name of the image file without file extension>.<key>
สำหรับค่าสตริงเดียวหรือรับค่าแบบสุ่มจากรายการ และ $resources.strings.<name of the image file without file extension>.<key>.<numerical index>
สำหรับค่าสตริงที่เฉพาะเจาะจงภายในรายการ
ตัวอย่างเช่น การใช้สตริงทรัพยากรสำหรับการแปลสตริง sdk/settings/en/settings.yaml
จากตัวอย่างก่อนหน้านี้อาจเป็นดังนี้
localizedSettings: developerEmail: developer@developers.com developerName: $resources.strings.appinfo.developerName displayName: $resources.strings.appinfo.displayName fullDescription: $resources.strings.appinfo.fullDescription largeBannerImage: $resources.images.landscape privacyPolicyUrl: $resources.strings.appinfo.privacyPolicyUrl sampleInvocations: - $resources.strings.invocations.sample shortDescription: $resources.strings.appinfo.shortDescription smallLogoImage: $resources.images.square voice: female_1 ...
ทดสอบโปรเจ็กต์ในเครื่องมือจำลอง
คอนโซล Actions มีเครื่องมือจำลองเพื่อแสดงตัวอย่างการดำเนินการของคุณ เครื่องจำลองช่วยให้คุณดูข้อมูลการแก้ไขข้อบกพร่อง ตั้งค่าความสามารถของอุปกรณ์ จำลองภาษา และอื่นๆ
![](https://developers-dot-devsite-v2-prod.appspot.com/static/assistant/console/images/simulator/simulator-overview.png?authuser=5&hl=th)
วิธีทดสอบโปรเจ็กต์
- เรียกใช้
gactions deploy preview
เพื่อทำให้การดำเนินการของคุณ "แสดงตัวอย่าง" ใช้งานได้และเปิดใช้การทดสอบในเครื่องจำลอง - เปิด URL ในเอาต์พุตคำสั่งเพื่อเข้าถึงเครื่องจำลอง
$ gactions deploy preview Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes. Sending configuration files Waiting for server to respond. ✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview