ลิงก์ไปยัง Actions (Dialogflow)

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

ตัวอย่างลิงก์ Assistant ที่มีประโยชน์มีดังนี้

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

หากต้องการสร้าง URL สำหรับการดำเนินการ ให้ทำดังนี้

  1. ในคอนโซล Actions ให้ไปที่พัฒนา > การดําเนินการ
  2. คลิกการดำเนินการที่คุณต้องการสร้างลิงก์
  3. ในส่วนลิงก์ ให้เปิดใช้งานคุณต้องการเปิดใช้ URL สำหรับการดำเนินการนี้หรือไม่
  4. ป้อนชื่อลิงก์ ชื่อนี้ควรมีคำกริยาที่อธิบายรายละเอียดของการดำเนินการ เช่น หากการดำเนินการของคุณนำผู้ใช้ไปยังขั้นตอนการทำธุรกรรมเพื่อซื้อตั๋วคอนเสิร์ต ชื่อลิงก์ที่มีประโยชน์คือ "ซื้อตั๋วคอนเสิร์ต"
  5. คลิกบันทึก

คุณสามารถคัดลอก URL ที่ให้ไว้และอ้างอิง URL นั้นได้ทุกที่ที่ต้องการนำผู้ใช้มาที่การดำเนินการที่เฉพาะเจาะจงนี้

ลิงก์ Assistant อาจมี Intent และพารามิเตอร์ใน URL หรือไม่ก็ได้ Google จะจัดการพารามิเตอร์ตามประเภทของ Intent ที่ระบุไว้ใน URL

ไวยากรณ์ทั่วไปสำหรับ URL ของลิงก์ Assistant มีดังนี้

https://assistant.google.com/services/invoke[/$action_id][?intent=$intent&param.$param=$value][&$utm_param=$utm_value]

พารามิเตอร์ URL ที่คุณสามารถตั้งค่ามีอธิบายในตารางต่อไปนี้

พารามิเตอร์ URL คำอธิบาย
$action_id ตัวระบุที่เป็นตัวเลขของการดำเนินการ
$intent ชื่อเต็มของความตั้งใจในตัวหรือความตั้งใจที่กำหนดเอง
$param ชื่อเต็มของพารามิเตอร์ Intent ที่ระบุในแพ็กเกจการดำเนินการ
$value ค่าที่เข้ารหัสของ URL ของประเภทที่ประกาศสำหรับ $param ในแพ็กเกจการดำเนินการ
$utm_param รายการประเภทพารามิเตอร์ UTM อย่างน้อย 1 รายการ ค่าที่ใช้ได้ ได้แก่ utm_source, utm_medium, utm_campaign, utm_term และ utm_content
$utm_value ค่าสตริงของพารามิเตอร์ UTM

หากลิงก์ Assistant มี Intent ในตัว (Intent ขึ้นต้นด้วย actions.intent.*) Google จะพยายามดึงพารามิเตอร์ Intent ในตัวใน URL แล้วส่งไปยังการดำเนินการของคุณ พารามิเตอร์ที่ Google ไม่เข้าใจเนื่องจากพารามิเตอร์ Intent ในตัวจะถูกตัดออก

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

ตัวอย่างต่อไปนี้แสดงวิธีที่คุณระบุ URL ลิงก์ Assistant ที่มี Intent ในตัวที่มีพารามิเตอร์ Intent รายการเดียว

https://assistant.google.com/services/invoke/uid/0000008ddd7eabec?intent=actions.intent.GET_HOROSCOPE&param.astrologySign=%22cancer%22

สำหรับ Intent ที่กำหนดเอง Google จะดึงข้อมูลเฉพาะพารามิเตอร์ที่การดำเนินการของคุณกำหนดเป็นส่วนหนึ่งของ Intent และทิ้งพารามิเตอร์อื่นๆ

ตัวอย่างต่อไปนี้แสดงวิธีระบุ URL ลิงก์ Assistant ที่มี Intent ที่กำหนดเอง

https://assistant.google.com/services/invoke/uid/0000001f575305a0?intent=NEWS_UPDATE_DEEP_LINK&param.topic=sports

สำหรับ URL ตัวอย่างด้านบน ใน AppRequest Google จะเพิ่มออบเจ็กต์ JSON ดังนี้

argument {
  name: ‘topic’,
  raw_text: ‘sports’,
  text_value: ‘sports’,
}

หากไม่ระบุ Intent ในลิงก์ Assistant ทาง Google จะลิงก์กับ Intent MAIN (actions.intent.MAIN) ของการดำเนินการของคุณโดยค่าเริ่มต้นโดยมีลักษณะการทำงานดังต่อไปนี้

  • หากคุณไม่ได้เปิดใช้ Intent MAIN ในลิงก์ Assistant อย่างชัดแจ้ง Google จะเรียกใช้ Intent หลักโดยไม่มีพารามิเตอร์ใดๆ ซึ่งคล้ายกับลักษณะการทำงานสำหรับ "พูดกับ app_name"
  • หากคุณเปิดใช้ Intent MAIN อย่างชัดแจ้ง Google จะส่งพารามิเตอร์ไปยังการดำเนินการของคุณ

ตัวอย่างต่อไปนี้แสดงวิธีระบุ URL ลิงก์ Assistant โดยไม่มีเจตนา

https://assistant.google.com/services/invoke/uid/000000d139bbc4d4

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

พารามิเตอร์ UTM ที่ Google ส่งไปยังการดำเนินการของคุณจะมีข้อมูลต่อไปนี้

  • utm_source
  • utm_medium
  • utm_campaign
  • utm_term
  • utm_content

ตัวอย่างต่อไปนี้แสดงวิธีที่คุณจะระบุ URL ของลิงก์ Assistant ที่มีพารามิเตอร์ UTM

https://assistant.google.com/services/invoke/uid/000000d139bbc4d4?utm_source=Google&utm_medium=email&utm_campaign=holiday+sale

Google จะเพิ่มอาร์กิวเมนต์ต่อไปนี้ในข้อความ AppRequest สำหรับตัวอย่าง URL ด้านบน

argument {
  name: ‘utm_source’,
  raw_text: ‘Google’,
  text_value: ‘Google’,
}
argument {
  name: ‘utm_medium’,
  raw_text: ‘email’,
  text_value: ‘email’,
}
argument {
  name: ‘utm_campaign’,
  raw_text: ‘holiday sale’,
  text_value: ‘holiday sale’,
}

คุณสามารถทดสอบลิงก์ Assistant สำหรับ Intent (หลักหรือที่กำหนดเอง โดยมีหรือไม่มีพารามิเตอร์) ได้ผ่านเครื่องจำลองหรืออุปกรณ์

วิธีทดสอบลิงก์ Assistant

  1. เปิดใช้ลิงก์ Assistant ในคอนโซล
  2. ลงชื่อเข้าใช้ Assistant ด้วยบัญชีเดียวกันกับที่ใช้สร้างโปรเจ็กต์ Actions on Google
  3. สร้างลิงก์ Assistant ในเวอร์ชันที่คลิกได้ (ในอีเมล แชท เอกสาร ฯลฯ)
  4. ในอุปกรณ์ที่พร้อมใช้งาน Assistant ให้คลิกลิงก์ที่สร้างขึ้นในขั้นตอนก่อนหน้า

เมื่อยืนยันว่าลิงก์ Assistant ทํางานตามที่คาดไว้แล้ว คุณจะต้องทําให้การดําเนินการใช้งานได้อีกครั้งเพื่อให้ผู้ใช้ใช้ลิงก์ได้

ข้อจำกัดและแนวทางปฏิบัติแนะนำ

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

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

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