การดำเนินการของคุณส่งข้อความ Push ไปยังผู้ใช้ได้ทุกเมื่อที่เกี่ยวข้อง เช่น การส่งการช่วยเตือนเมื่อวันที่ครบกำหนดของงานอยู่ใกล้
คำแนะนำนี้อธิบายวิธีตั้งค่าข้อความ Push สำหรับการดำเนินการ
แพลตฟอร์มที่รองรับ
ข้อความ Push มีให้บริการในอุปกรณ์ Android และ iOS (อุปกรณ์ iOS ต้องติดตั้งแอป Assistant ไว้จึงจะรับข้อความ Push ได้) แต่ยังไม่รองรับในลําโพงที่สั่งงานด้วยเสียง จออัจฉริยะ หรือแพลตฟอร์มอื่นๆ
ข้อกำหนดเบื้องต้น
โปรเจ็กต์ของคุณต้องมี Intent ส่วนกลางอย่างน้อย 1 รายการ ซึ่งจะเรียกใช้เมื่อผู้ใช้แตะข้อความ Push ที่ได้รับจาก Assistant
เริ่มต้นใช้งาน
ส่วนต่อไปนี้จะอธิบายวิธีตั้งค่าข้อความ Push ในการดําเนินการ
สร้าง Intent สำหรับทริกเกอร์
Intent ที่คุณสร้างในส่วนนี้ทริกเกอร์ขั้นตอนการแจ้งเตือน หากต้องการสร้าง Intent นี้ ให้ทำตามขั้นตอนต่อไปนี้
- ไปที่คอนโซล Actions แล้วคลิกพัฒนาในเมนูด้านบน
- คลิกความตั้งใจในเมนูด้านซ้ายเพื่อขยายส่วนดังกล่าว
- คลิก ที่ด้านล่างของรายการแล้วป้อนชื่อ Intent ใหม่
- กด
Enter/Return
เพื่อสร้าง Intent ใหม่ เพิ่มวลีการฝึกสำหรับเรียกใช้ขั้นตอนการแจ้งเตือน ตัวอย่างเช่น
Notify me
Send notifications
Subscribe to notifications
คลิกบันทึก
การเปลี่ยนไปใช้ Intent ของระบบ
ในการตั้งค่าการเปลี่ยนไปใช้โหมดระบบ Notifications
ให้ทำตามขั้นตอนต่อไปนี้
- ในส่วนฉากในเมนูด้านซ้าย ให้คลิกฉากที่คุณต้องการเพิ่มกระบวนการติดตามการแจ้งเตือน
- ในส่วนการจัดการความตั้งใจของผู้ใช้ของโหมด ให้คลิก + เพื่อเพิ่มเครื่องจัดการ Intent ใหม่
- ในส่วนความตั้งใจ ให้เลือก Intent ที่สร้างไว้ในส่วนก่อนหน้า
ในส่วนการเปลี่ยน ให้เลือกโหมดของระบบการแจ้งเตือน
คลิกบันทึก
กำหนดค่าโหมดของระบบ
หากต้องการกำหนดค่าโหมดของระบบ Notifications
ให้ทำตามขั้นตอนต่อไปนี้
- ในส่วนโหมดในเมนูด้านซ้าย ให้เลือกโหมดใหม่ของระบบการแจ้งเตือน
- คลิกเลือก Intent ในส่วนกำหนดค่า Intent
ในส่วนเลือกความตั้งใจ ให้เลือกความตั้งใจที่คุณต้องการจับคู่เมื่อผู้ใช้แตะข้อความ Push
ในส่วนปรับแต่งข้อความแจ้งการเลือกใช้ ให้ป้อนข้อความแจ้งที่จะแสดงต่อผู้ใช้เมื่อระบบขอให้ติดตามข้อความ Push โดยข้อความแจ้งจะอยู่ในรูป "จะเป็นอะไรไหมถ้าฉันส่งข้อความ Push ของ $prompt"
คลิกบันทึก
กำหนดค่าการเลือกใช้
หากต้องการกำหนดค่าการเลือกใช้ข้อความ Push ให้ทำตามขั้นตอนต่อไปนี้
- ในส่วนฉาก ให้เลือกโหมดของระบบการแจ้งเตือน
- ในส่วนเงื่อนไข ให้เลือกหากผู้ใช้ตอบว่า "ใช่"
- เปิดใช้เรียกใช้เว็บฮุคและระบุชื่อเครื่องจัดการเหตุการณ์ เช่น
subscribe_to_notifications
เปิดใช้ส่งพรอมต์และใช้ข้อความแจ้งง่ายๆ เพื่อแจ้งให้ผู้ใช้ทราบว่าจะได้รับการแจ้งเตือนดังนี้
candidates: - first simple: variants: - speech: 'Great, I'll send you notifications.'
ในส่วนการเปลี่ยน ให้เลือกสิ้นสุดการสนทนาเพื่อสิ้นสุดการสนทนาหลังจากที่ผู้ใช้ติดตามการแจ้งเตือน
กำหนดค่าการเลือกไม่ใช้
หากต้องการกำหนดค่าการเลือกไม่ใช้ข้อความ Push ให้ทำตามขั้นตอนต่อไปนี้
- ในส่วนเงื่อนไข ให้เลือกหากผู้ใช้พูดว่า "ไม่"
เปิดใช้ส่งพรอมต์และแสดงข้อความแจ้งง่ายๆ เพื่อแจ้งให้ผู้ใช้ทราบว่าจะไม่ได้รับการแจ้งเตือน
candidates: - first simple: variants: - speech: Okay, I won't send you notifications.
ในส่วนการเปลี่ยน ให้เลือกสิ้นสุดการสนทนาเพื่อสิ้นสุดการสนทนาหลังจากที่ผู้ใช้เลือกไม่รับการแจ้งเตือน
กำหนดค่าเว็บฮุค
หากต้องการกำหนดค่าเว็บฮุค ให้ทำตามขั้นตอนต่อไปนี้
ในเว็บฮุค ให้เพิ่มเครื่องจัดการ Intent เพื่อจัดเก็บ
updatesUserId
ดังนี้app.handle('subscribe_to_notifications', conv => { const intentName = '<name_of_intent_to_trigger>'; const notificationsSlot = conv.session.params['NotificationSlot_${intentName}']; if(notificationsSlot.permissionStatus == 'PERMISSION_GRANTED') { const updateUserId = notificationsSlot.additionalUserData.updateUserId; // Store the user ID and the notification's target intent for later use. // (Use a database, like Firestore, for best practice.) } });
ส่งการแจ้งเตือน
ระบบจะส่งข้อความ Push ไปยังผู้ใช้โดยใช้ Actions API หากต้องการใช้ API นี้ คุณต้องเปิดใช้งาน API ในโปรเจ็กต์ Google Cloud รวมถึงตั้งค่าและดาวน์โหลดคีย์บัญชีบริการ JSON
จากนั้นคุณสามารถใช้ไลบรารีของไคลเอ็นต์ OAuth2 ของ Google เพื่อแลกเปลี่ยนคีย์บัญชีบริการสำหรับโทเค็นเพื่อการเข้าถึง และใช้โทเค็นเพื่อตรวจสอบสิทธิ์คำขอที่ส่งไปยัง Actions API
ดาวน์โหลดคีย์บัญชีบริการ
- ไปที่คอนโซล Google API แล้วเลือกโปรเจ็กต์จากรายการแบบเลื่อนลงของเลือกโปรเจ็กต์
- คลิกเปิดใช้เพื่อเปิดใช้ Actions API สำหรับโปรเจ็กต์ของคุณ
- ไปที่หน้าข้อมูลเข้าสู่ระบบคอนโซล Google Cloud แล้วเลือกโปรเจ็กต์จากเมนูแบบเลื่อนลงเลือกโปรเจ็กต์
- คลิกสร้างข้อมูลเข้าสู่ระบบ > บัญชีบริการ
- ป้อนชื่อบัญชีบริการแล้วคลิกสร้าง
- จากเมนูแบบเลื่อนลงเลือกบทบาท ให้เลือกโปรเจ็กต์ > เจ้าของ
- คลิกต่อไป
- คลิกสร้างคีย์เพื่อดาวน์โหลดไฟล์ JSON ของบัญชีบริการ
แลกเปลี่ยนคีย์เป็นโทเค็นเพื่อการเข้าถึงและส่งการแจ้งเตือน
หากต้องการส่งข้อความ Push ผ่าน Actions API คุณต้องแลกเปลี่ยนคีย์บัญชีบริการกับโทเค็นเพื่อการเข้าถึง เราขอแนะนำให้ใช้ไลบรารีของไคลเอ็นต์ Google API ในการดำเนินการดังกล่าว ในชุดข้อมูลโค้ดที่ตามมา เราจะใช้ไลบรารีของไคลเอ็นต์ Google API Node.js
ติดตั้งไลบรารีของไคลเอ็นต์ Google API และส่งคำขอดังนี้
npm install googleapis request --save
ใช้รหัสต่อไปนี้เพื่อรับโทเค็นเพื่อการเข้าถึงจากคีย์บัญชีบริการและส่งข้อความ Push
// Use the Actions API to send a Google Assistant push notification. let client = auth.fromJSON(require('./service-account.json')); client.scopes = ['https://www.googleapis.com/auth/actions.fulfillment.conversation']; let notification = { userNotification: { title: 'Example notification title', }, target: { userId: '<UPDATES_USER_ID>', intent: 'Notifications Intent', }, }; client.authorize((err, tokens) => { if (err) { throw new Error('Auth error: ${err}'); } request.post('https://actions.googleapis.com/v2/conversations:send', { 'auth': { 'bearer': tokens.access_token, }, 'json': true, 'body': {'customPushMessage': notification, 'isInSandbox': true}, }, (err, httpResponse, body) => { if (err) { throw new Error('API request error: ${err}'); } console.log('${httpResponse.statusCode}: ' + '${httpResponse.statusMessage}'); console.log(JSON.stringify(body)); }); });