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

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

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

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

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

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

คุณสามารถคัดลอก 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 ตัวอย่างด้านบน Google เพิ่มออบเจ็กต์ JSON ใน AppRequest เป็น ดังต่อไปนี้:

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 ที่ไม่มี Intent

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

พารามิเตอร์ UTM คือสตริงที่ Google ส่งไปยังการดำเนินการของคุณเมื่อผู้ใช้คลิกลิงก์ 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

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

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 เพื่อดูความตั้งใจใดก็ได้ (หลักหรือกำหนดเอง แบบมีหรือไม่มีพารามิเตอร์) ผ่านเครื่องจำลองหรืออุปกรณ์

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

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

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

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

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

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

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