โปรเจ็กต์ Actions จะจัดแพ็กเกจการดำเนินการทั้งหมดไว้ในคอนเทนเนอร์เดียว คุณ เผยแพร่โปรเจ็กต์นี้ไปยัง Actions on Google เพื่อให้ Google Assistant รู้วิธีสํารวจ และกระตุ้นให้เกิดประสบการณ์ การสนทนาของคุณ
คุณใช้คอมโพเนนต์ระดับล่างต่อไปนี้ในการสร้างโปรเจ็กต์ Actions:
การตั้งค่าและทรัพยากรกำหนดข้อมูลเมตาของโปรเจ็กต์ และทรัพยากร เช่น ไอคอนโปรเจ็กต์ Google ใช้ข้อมูลนี้เพื่อเผยแพร่ การทำงานไปยังไดเรกทอรี Assistant ของคุณ เพื่อให้ผู้ใช้สามารถค้นพบและเรียก ให้พวกเขา
Intent แสดงถึงงานที่ต้องทำ เช่น ข้อมูลจากผู้ใช้หรือเหตุการณ์ของระบบที่ต้องมีการประมวลผล ประเภทที่พบบ่อยที่สุด ความตั้งใจที่คุณจะใช้คือ Intent ของผู้ใช้ Intent เหล่านี้ช่วยให้คุณประกาศการฝึกได้ วลีที่ NLU ขยายขึ้นอย่างเป็นธรรมชาติ (ความเข้าใจในภาษาธรรมชาติ) รวบรวมวลีที่คล้ายกันอีกมากมาย NLU ใช้การรวบรวมข้อมูลของ วลีเหล่านี้เพื่อฝึกโมเดลภาษาที่ Assistant ใช้ในการจับคู่ผู้ใช้ อินพุต ระหว่างการสนทนา หากข้อมูลจากผู้ใช้บางส่วนตรงกับภาษาของ Intent รันไทม์ของ Assistant จะส่งความตั้งใจไปยังการดำเนินการของคุณ เพื่อให้การดำเนินการ ประมวลผลและตอบกลับผู้ใช้
ประเภทช่วยให้คุณดึงข้อมูลที่มีโครงสร้างจากข้อมูลของผู้ใช้ได้ โดย อธิบายวลีการฝึกอบรมด้วยประเภทต่างๆ เพื่อให้ NLU สามารถดึงข้อมูลที่เกี่ยวข้องและมีโครงสร้าง ข้อมูลให้คุณ ดังนั้นคุณจึงไม่ต้องแยกวิเคราะห์อินพุตปลายเปิด
Intent การประมวลผลฉากและเป็นตัวดำเนินการเชิงตรรกะหลักสำหรับ การกระทำของคุณ สามารถเติมช่อง ประเมินตรรกะตามเงื่อนไข และแสดงผล ให้ผู้ใช้ หรือแม้กระทั่งเรียกใช้บริการเว็บภายนอกเพื่อดำเนินการ เกี่ยวกับตรรกะทางธุรกิจ การใช้ฉากต่างๆ ร่วมกับ Intent จะช่วยเพิ่มประสิทธิภาพในการสร้าง ตรวจหาอินพุตของผู้ใช้หรือเหตุการณ์ของระบบและดำเนินการตาม
พรอมต์ กำหนดคำตอบแบบคงที่หรือแบบไดนามิกที่คุณใช้เพื่อ ตอบกลับผู้ใช้
เว็บฮุคช่วยให้คุณมอบหมายงานเพิ่มเติมให้กับบริการเว็บได้ (Fulfillment) เช่น การตรวจสอบข้อมูลหรือการสร้างพรอมต์ การดำเนินการของคุณ สื่อสารกับการดำเนินการตามคำสั่งซื้อผ่านโปรโตคอลเว็บฮุคที่อิงตาม JSON
Interactive Canvas ช่วยให้คุณสร้างข้อมูล และประสบการณ์ที่สมจริงด้วยเว็บแอปที่ใช้ HTML, CSS และ JavaScript
สร้างโปรเจ็กต์
คุณต้องสร้างโปรเจ็กต์ในคอนโซลการดำเนินการก่อน จึงจะพัฒนาให้ Google Assistant วิธีสร้างโปรเจ็กต์
- ไปที่คอนโซล 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 มีเครื่องมือจำลองเพื่อแสดงตัวอย่างการดำเนินการ เครื่องมือจำลองให้คุณดูข้อมูลการแก้ไขข้อบกพร่อง ตั้งค่าความสามารถของอุปกรณ์ จำลอง ภาษา และอื่นๆ
วิธีทดสอบโปรเจ็กต์
- เรียกใช้
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