โปรเจ็กต์ 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
