การแจ้งเตือนช่วยให้การดำเนินการ smart home ใช้ Google Assistant เพื่อสื่อสารกับผู้ใช้เกี่ยวกับเหตุการณ์หรือการเปลี่ยนแปลงที่สำคัญเกี่ยวกับอุปกรณ์ คุณสามารถใช้การแจ้งเตือนเพื่อแจ้งเตือนผู้ใช้เกี่ยวกับเหตุการณ์ในอุปกรณ์อย่างทันท่วงที เช่น เมื่อมีคนอยู่ที่หน้าประตู หรือเพื่อรายงานการเปลี่ยนแปลงสถานะของอุปกรณ์ที่ขอ เช่น เมื่อกลอนประตูทำงานสำเร็จหรือติดอยู่ที่กลอนประตู
การดำเนินการ smart home จะส่งการแจ้งเตือนประเภทต่อไปนี้ไปยังผู้ใช้ได้
การแจ้งเตือนเชิงรุก: แจ้งเตือนผู้ใช้เกี่ยวกับเหตุการณ์ในอุปกรณ์ smart home โดยที่ผู้ใช้ไม่ได้ส่งคำขอไปยังอุปกรณ์ของตน เช่น กริ่งประตูดัง
การตอบกลับสำหรับการติดตามผล: การยืนยันว่าคำขอคำสั่งของอุปกรณ์สำเร็จหรือล้มเหลว เช่น เมื่อล็อกประตู ใช้การแจ้งเตือนเหล่านี้สำหรับ คำสั่งของอุปกรณ์ที่ต้องใช้เวลาในการดำเนินการ ระบบจะรองรับคำตอบเพื่อติดตามผลต่อเมื่อมีการส่งคำขอคำสั่งของอุปกรณ์จากลำโพงอัจฉริยะและจออัจฉริยะเท่านั้น
Assistant ส่งการแจ้งเตือนเหล่านี้ให้ผู้ใช้ เป็นประกาศในลำโพงอัจฉริยะและจออัจฉริยะ การแจ้งเตือนเชิงรุกจะปิดอยู่โดยค่าเริ่มต้น ผู้ใช้สามารถเปิดหรือปิดการแจ้งเตือนเชิงรุกทั้งหมดจาก Google Home app (GHA) ได้
เหตุการณ์ที่ทำให้เกิดการแจ้งเตือน
เมื่อเกิดเหตุการณ์ในอุปกรณ์ การดำเนินการตามการดำเนินการของคุณจะส่งคำขอการแจ้งเตือนไปยัง Google ลักษณะของอุปกรณ์ที่การดำเนินการ smart home รองรับจะเป็นตัวกำหนดประเภทของเหตุการณ์การแจ้งเตือนที่มีและข้อมูลที่คุณรวมไว้ในการแจ้งเตือนเหล่านั้นได้
ลักษณะต่อไปนี้รองรับการแจ้งเตือนเชิงรุก
ลักษณะเฉพาะ | กิจกรรม |
---|---|
ObjectDetection | วัตถุที่อุปกรณ์ตรวจจับ เช่น เมื่อตรวจพบใบหน้าที่จดจำได้ที่ประตู ตัวอย่างเช่น "Alice and Bob รออยู่ที่ประตูหน้า" |
RunCycle | อุปกรณ์เสร็จสมบูรณ์ 1 รอบ เช่น "เครื่องซักผ้าทำงานเสร็จแล้ว" |
SensorState | อุปกรณ์ตรวจหาสถานะเซ็นเซอร์ที่รองรับ เช่น "ตัวตรวจจับควันตรวจพบควัน" |
TemperatureControl | อุปกรณ์ถึงอุณหภูมิที่กำหนดไว้ เช่น "ทำความร้อนเตาอบล่วงหน้าถึง 350 องศาแล้ว" |
ArmDisarm | ระบบเข้าสู่สถานะก่อนปลุกโดยมีการนับถอยหลังสำหรับเข้าออก ซึ่งเรียกให้แสดงเมื่อประตูเปิด |
CameraStream | ลิงก์ไปยังสตรีมแบบสดของกล้องหลังจากที่อุปกรณ์ตรวจพบวัตถุหรือการเคลื่อนไหว |
MotionDetection | "ตรวจพบการเคลื่อนไหวเวลา 12:00 น. วันที่ 1 กรกฎาคม 2020" |
ลักษณะต่อไปนี้รองรับการตอบกลับการติดตามผล
ลักษณะเฉพาะ | กิจกรรม |
---|---|
ArmDisarm | การเปลี่ยนแปลงสถานะเสร็จสมบูรณ์และสถานะหลังจากการดำเนินการตามคำสั่งของอุปกรณ์ action.devices.commands.ArmDisarm เช่น
"เปิดระบบรักษาความปลอดภัยแล้ว"
|
LockUnlock | การเปลี่ยนแปลงสถานะเสร็จสมบูรณ์และสถานะหลังจากการดำเนินการตามคำสั่งของอุปกรณ์ action.devices.commands.LockUnlock เช่น "ประตูหน้าล็อกอยู่" หรือ "ประตูหน้าติดอยู่"
|
NetworkControl | การเปลี่ยนแปลงสถานะเสร็จสมบูรณ์และสถานะหลังจากการดำเนินการตามคำสั่งของอุปกรณ์ action.devices.commands.TestNetworkSpeed เช่น "การทดสอบความเร็วเครือข่ายเสร็จแล้ว ความเร็วการดาวน์โหลดในเราเตอร์ออฟฟิศตอนนี้อยู่ที่ 80.2 Kbps และความเร็วการอัปโหลดอยู่ที่ 9.3 Kbps"
|
OpenClose | การเปลี่ยนแปลงสถานะเสร็จสมบูรณ์และสถานะหลังจากการดำเนินการตามคำสั่งของอุปกรณ์ action.devices.commands.OpenClose เช่น "ประตูหน้าเปิดอยู่" หรือ "ประตูหน้าเปิดไม่ได้"
|
StartStop | การเปลี่ยนแปลงสถานะเสร็จสมบูรณ์และสถานะหลังจากการดำเนินการตามคำสั่งของอุปกรณ์ action.devices.commands.StartStop เช่น "เครื่องดูดฝุ่นเริ่มทำงานแล้ว"
|
อุปกรณ์ทุกประเภทรองรับการแจ้งเตือนสำหรับลักษณะที่เกี่ยวข้อง
สร้างการแจ้งเตือนสำหรับการดำเนินการในสมาร์ทโฮม
เพิ่มการแจ้งเตือนลงในการดำเนินการ smart home ในระยะต่อไปนี้
- บอก Google หากมีการเปิดการแจ้งเตือนจากแอปในอุปกรณ์ smart home ของคุณ หากผู้ใช้เปิดหรือปิดการแจ้งเตือนในแอป ให้ส่งคำขอ
SYNC
เพื่อแจ้ง Google เกี่ยวกับการเปลี่ยนแปลงอุปกรณ์ - เมื่อเกิดการเปลี่ยนแปลงเหตุการณ์หรือสถานะที่เกี่ยวข้องในอุปกรณ์ซึ่งทริกเกอร์การแจ้งเตือน ให้ส่งคำขอการแจ้งเตือนโดยการเรียกใช้ Report State
reportStateAndNotification
API หากสถานะของอุปกรณ์มีการเปลี่ยนแปลง คุณสามารถส่งทั้งสถานะและเพย์โหลดการแจ้งเตือนร่วมกันได้ใน Report State และการเรียกใช้การแจ้งเตือน
ส่วนต่อไปนี้จะกล่าวถึงขั้นตอนเหล่านี้อย่างละเอียด
ระบุว่ามีการเปิดใช้การแจ้งเตือนในแอปหรือไม่
ผู้ใช้เลือกได้ว่าต้องการรับการแจ้งเตือนเชิงรุกหรือไม่โดยการเปิดใช้ฟีเจอร์นี้ใน GHA ในแอปสำหรับอุปกรณ์ smart home คุณยังเพิ่มความสามารถสำหรับผู้ใช้ในการสลับการแจ้งเตือนจากอุปกรณ์อย่างชัดแจ้งได้ เช่น จากการตั้งค่าแอป
แจ้ง Google ว่าได้เปิดการแจ้งเตือนสำหรับอุปกรณ์ของคุณแล้วด้วยการขอซิงค์เพื่ออัปเดตข้อมูลอุปกรณ์ คุณควรส่งคำขอ SYNC
แบบนี้ทุกครั้งที่ผู้ใช้เปลี่ยนการตั้งค่านี้ในแอปของคุณ
ในการตอบกลับ SYNC
ให้ส่งอัปเดตอย่างใดอย่างหนึ่งต่อไปนี้
- หากผู้ใช้เปิด/ปิดการแจ้งเตือนไว้อย่างชัดแจ้งในแอปของอุปกรณ์ หรือหากคุณไม่ได้ระบุตัวเลือกการเปิด/ปิด ให้ตั้งค่าพร็อพเพอร์ตี้
devices.notificationSupportedByAgent
เป็นtrue
- หากผู้ใช้ปิดการแจ้งเตือนในแอปอุปกรณ์อย่างชัดแจ้ง ให้ตั้งค่าพร็อพเพอร์ตี้
devices.notificationSupportedByAgent
เป็นfalse
ข้อมูลโค้ดต่อไปนี้จะแสดงตัวอย่างวิธีตั้งค่าการตอบสนองการซิงค์
devices: [{
id: 'device123',
...
notificationSupportedByAgent: true,
}]
ส่งคำขอการแจ้งเตือนไปยัง Google
หากต้องการทริกเกอร์การแจ้งเตือนใน Assistant Fulfillment จะส่งเพย์โหลดการแจ้งเตือนไปยัง Google Home Graph ผ่านReport State และการเรียก API การแจ้งเตือน
เปิดใช้ Google HomeGraph API
-
ใน Google Cloud Console ให้ไปที่หน้า HomeGraph API
ไปที่หน้า HomeGraph API - เลือกโปรเจ็กต์ที่ตรงกับรหัสโปรเจ็กต์ smart home
- คลิกเปิดใช้
สร้างคีย์บัญชีบริการ
โปรดทำตามวิธีการต่อไปนี้เพื่อสร้างคีย์บัญชีบริการจาก Google Cloud Console
-
ใน Google Cloud Console ให้ไปที่หน้าสร้างคีย์บัญชีบริการ
ไปที่หน้าสร้างคีย์บัญชีบริการ - จากรายการบัญชีบริการ ให้เลือก บัญชีบริการใหม่
- ป้อนชื่อลงในช่องชื่อบัญชีบริการ
- ป้อนรหัสในช่องรหัสบัญชีบริการ
จากรายการบทบาท ให้เลือกบัญชีบริการ > ผู้สร้างโทเค็นบัญชีบริการ
สำหรับประเภทคีย์ ให้เลือกตัวเลือก JSON
- คลิกสร้าง ไฟล์ JSON ที่มีคีย์จะดาวน์โหลดลงในคอมพิวเตอร์
ส่งการแจ้งเตือน
เรียกใช้คำขอการแจ้งเตือนโดยใช้ devices.reportStateAndNotification
API
คำขอ JSON ต้องมี eventId
ซึ่งเป็นรหัสที่ไม่ซ้ำกันที่แพลตฟอร์มสร้างขึ้นสำหรับเหตุการณ์ทริกเกอร์การแจ้งเตือน eventId
ควรเป็นรหัสแบบสุ่มที่แตกต่างกันทุกครั้งที่คุณส่งคำขอการแจ้งเตือน
ในออบเจ็กต์ notifications
ที่คุณส่งในการเรียก API ให้ใส่ค่า priority
ซึ่งระบุวิธีแสดงการแจ้งเตือน ออบเจ็กต์ notifications
อาจมีช่องข้อมูลที่แตกต่างกันขึ้นอยู่กับลักษณะของอุปกรณ์
ใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อตั้งค่าเพย์โหลดและเรียกใช้ API
ส่งเปย์โหลดการแจ้งเตือนเชิงรุก
หากต้องการเรียก API ให้เลือกตัวเลือกจากแท็บใดแท็บหนึ่งต่อไปนี้
HTTP
Home Graph API มีปลายทาง HTTP
- ใช้ไฟล์ JSON ของบัญชีบริการที่ดาวน์โหลดมาเพื่อสร้างโทเค็นเว็บ JSON (JWT) ดูข้อมูลเพิ่มเติมได้ที่ การตรวจสอบสิทธิ์โดยใช้บัญชีบริการ
- รับโทเค็นเพื่อการเข้าถึง OAuth 2.0 ที่มีขอบเขต
https://www.googleapis.com/auth/homegraph
โดยใช้ oauth2l: - สร้างคำขอ JSON ด้วย
agentUserId
ต่อไปนี้คือตัวอย่างคำขอ JSON สำหรับ Report State และการแจ้งเตือน - รวม Report State และ JSON สำหรับการแจ้งเตือน รวมถึงโทเค็นในคำขอ HTTP POST ไปยังปลายทาง Google Home Graph ตัวอย่างวิธีสร้างคำขอในบรรทัดคำสั่งโดยใช้
curl
เพื่อเป็นการทดสอบมีดังนี้
oauth2l fetch --credentials service-account.json \ --scope https://www.googleapis.com/auth/homegraph
{ "agentUserId": "PLACEHOLDER-USER-ID", "eventId": "PLACEHOLDER-EVENT-ID", "requestId": "PLACEHOLDER-REQUEST-ID", "payload": { "devices": { "notifications": { "PLACEHOLDER-DEVICE-ID": { "ObjectDetection": { "priority": 0, "detectionTimestamp": 1534875126750, "objects": { "named": [ "Alice" ], "unclassified": 2 } } } } } } }
curl -X POST -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d @request-body.json \ "https://homegraph.googleapis.com/v1/devices:reportStateAndNotification"
gRPC
Home Graph API มีปลายทาง gRPC
- ดูคำจำกัดความของบริการบัฟเฟอร์โปรโตคอลสำหรับ Home Graph API
- ทำตามเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์ gRPC เพื่อสร้างสตับลูกค้าสำหรับภาษาที่รองรับ
- เรียกใช้เมธอด ReportStateAndNotification
Node.js
ไคลเอ็นต์ Node.js ของ Google APIs ให้การเชื่อมโยงสำหรับ Home Graph API
- เริ่มต้นบริการ
google.homegraph
โดยใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน - เรียกใช้เมธอด
reportStateAndNotification
ด้วย ReportStateAndNotificationRequest โดยจะแสดงผลPromise
พร้อม ReportStateAndNotificationResponse
const homegraphClient = homegraph({ version: 'v1', auth: new GoogleAuth({ scopes: 'https://www.googleapis.com/auth/homegraph' }) }); const res = await homegraphClient.devices.reportStateAndNotification({ requestBody: { agentUserId: 'PLACEHOLDER-USER-ID', eventId: 'PLACEHOLDER-EVENT-ID', requestId: 'PLACEHOLDER-REQUEST-ID', payload: { devices: { notifications: { 'PLACEHOLDER-DEVICE-ID': { ObjectDetection: { priority: 0, detectionTimestamp: 1534875126750, objects: { named: ['Alice'], unclassified: 2 } } } } } } } });
Java
ไลบรารีของไคลเอ็นต์ HomeGraph API สำหรับ Java มอบการเชื่อมโยงสำหรับ Home Graph API
- เริ่มต้น
HomeGraphApiService
โดยใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน - เรียกใช้เมธอด
reportStateAndNotification
ด้วยReportStateAndNotificationRequest
ซึ่งจะแสดงReportStateAndNotificationResponse
// Get Application Default credentials. GoogleCredentials credentials = GoogleCredentials.getApplicationDefault() .createScoped(List.of("https://www.googleapis.com/auth/homegraph")); // Create Home Graph service client. HomeGraphService homegraphService = new HomeGraphService.Builder( GoogleNetHttpTransport.newTrustedTransport(), GsonFactory.getDefaultInstance(), new HttpCredentialsAdapter(credentials)) .setApplicationName("HomeGraphExample/1.0") .build(); // Build device notification payload. Map<?, ?> notifications = Map.of( "ObjectDetection", Map.of( "priority", 0, "detectionTimestamp", 1534875126, "objects", Map.of("named", List.of("Alice"), "unclassifed", 2))); // Send notification. ReportStateAndNotificationRequest request = new ReportStateAndNotificationRequest() .setRequestId("PLACEHOLDER-REQUEST-ID") .setAgentUserId("PLACEHOLDER-USER-ID") .setEventId("PLACEHOLDER-EVENT-ID") .setPayload( new StateAndNotificationPayload() .setDevices( new ReportStateAndNotificationDevice() .setNotifications(Map.of("PLACEHOLDER-DEVICE-ID", notifications)))); homegraphService.devices().reportStateAndNotification(request);
ส่งเปย์โหลดการตอบกลับการติดตามผล
เพย์โหลดสำหรับการตอบกลับเพื่อติดตามผลจะมีสถานะของคำขอ รหัสข้อผิดพลาดสำหรับความล้มเหลวของเหตุการณ์ (หากมี) และ followUpToken
ที่ถูกต้องซึ่งระบุในระหว่างคำขอ Intent EXECUTE
คุณต้องใช้ followUpToken
ภายใน 5 นาทีเพื่อให้ยังคงใช้งานได้และเชื่อมโยงคำตอบกับคำขอเดิมได้อย่างถูกต้อง
ข้อมูลโค้ดต่อไปนี้แสดงตัวอย่างเพย์โหลดคำขอ EXECUTE
ที่มีช่อง followUpToken
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123", }], "execution": [{ "command": "action.devices.commands.TestNetworkSpeed", "params": { "testDownloadSpeed": true, "testUploadSpeed": false, "followUpToken": "PLACEHOLDER" } }] }] } }] };
Google จะใช้ followUpToken
เพื่อส่งการแจ้งเตือนในอุปกรณ์ที่ผู้ใช้โต้ตอบด้วยเท่านั้น และจะไม่ประกาศไปยังอุปกรณ์ทั้งหมดของผู้ใช้
หากต้องการเรียก API ให้เลือกตัวเลือกจากแท็บใดแท็บหนึ่งต่อไปนี้
HTTP
Home Graph API มีปลายทาง HTTP
- ใช้ไฟล์ JSON ของบัญชีบริการที่ดาวน์โหลดมาเพื่อสร้างโทเค็นเว็บ JSON (JWT) ดูข้อมูลเพิ่มเติมได้ที่ การตรวจสอบสิทธิ์โดยใช้บัญชีบริการ
- รับโทเค็นเพื่อการเข้าถึง OAuth 2.0 ที่มีขอบเขต
https://www.googleapis.com/auth/homegraph
โดยใช้ oauth2l: - สร้างคำขอ JSON ด้วย
agentUserId
ต่อไปนี้คือตัวอย่างคำขอ JSON สำหรับ Report State และการแจ้งเตือน - รวม Report State และ JSON สำหรับการแจ้งเตือน รวมถึงโทเค็นในคำขอ HTTP POST ไปยังปลายทาง Google Home Graph ตัวอย่างวิธีสร้างคำขอในบรรทัดคำสั่งโดยใช้
curl
เพื่อเป็นการทดสอบมีดังนี้
oauth2l fetch --credentials service-account.json \ --scope https://www.googleapis.com/auth/homegraph
{ "agentUserId": "PLACEHOLDER-USER-ID", "eventId": "PLACEHOLDER-EVENT-ID", "requestId": "PLACEHOLDER-REQUEST-ID", "payload": { "devices": { "notifications": { "PLACEHOLDER-DEVICE-ID": { "NetworkControl": { "priority": 0, "followUpResponse": { "status": "SUCCESS", "followUpToken": "PLACEHOLDER", "networkDownloadSpeedMbps": 23.3, "networkUploadSpeedMbps": 10.2 } } } } } } }
curl -X POST -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d @request-body.json \ "https://homegraph.googleapis.com/v1/devices:reportStateAndNotification"
gRPC
Home Graph API มีปลายทาง gRPC
- ดูคำจำกัดความของบริการบัฟเฟอร์โปรโตคอลสำหรับ Home Graph API
- ทำตามเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์ gRPC เพื่อสร้างสตับลูกค้าสำหรับภาษาที่รองรับ
- เรียกใช้เมธอด ReportStateAndNotification
Node.js
ไคลเอ็นต์ Node.js ของ Google APIs ให้การเชื่อมโยงสำหรับ Home Graph API
- เริ่มต้นบริการ
google.homegraph
โดยใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน - เรียกใช้เมธอด
reportStateAndNotification
ด้วย ReportStateAndNotificationRequest โดยจะแสดงผลPromise
พร้อม ReportStateAndNotificationResponse
const followUpToken = executionRequest.inputs[0].payload.commands[0].execution[0].params.followUpToken; const homegraphClient = homegraph({ version: 'v1', auth: new GoogleAuth({ scopes: 'https://www.googleapis.com/auth/homegraph' }) }); const res = await homegraphClient.devices.reportStateAndNotification({ requestBody: { agentUserId: 'PLACEHOLDER-USER-ID', eventId: 'PLACEHOLDER-EVENT-ID', requestId: 'PLACEHOLDER-REQUEST-ID', payload: { devices: { notifications: { 'PLACEHOLDER-DEVICE-ID': { NetworkControl: { priority: 0, followUpResponse: { status: 'SUCCESS', followUpToken, networkDownloadSpeedMbps: 23.3, networkUploadSpeedMbps: 10.2, } } } } } } } });
Java
ไลบรารีของไคลเอ็นต์ HomeGraph API สำหรับ Java มอบการเชื่อมโยงสำหรับ Home Graph API
- เริ่มต้น
HomeGraphApiService
โดยใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน - เรียกใช้เมธอด
reportStateAndNotification
ด้วยReportStateAndNotificationRequest
แสดงผลReportStateAndNotificationResponse
// Get Application Default credentials. GoogleCredentials credentials = GoogleCredentials.getApplicationDefault() .createScoped(List.of("https://www.googleapis.com/auth/homegraph")); // Create Home Graph service client. HomeGraphService homegraphService = new HomeGraphService.Builder( GoogleNetHttpTransport.newTrustedTransport(), GsonFactory.getDefaultInstance(), new HttpCredentialsAdapter(credentials)) .setApplicationName("HomeGraphExample/1.0") .build(); // Extract follow-up token. ExecuteRequest.Inputs executeInputs = (Inputs) executeRequest.getInputs()[0]; String followUpToken = (String) executeInputs .getPayload() .getCommands()[0] .getExecution()[0] .getParams() .get("followUpToken"); // Build device follow-up response payload. Map<?, ?> followUpResponse = Map.of( "NetworkControl", Map.of( "priority", 0, "followUpResponse", Map.of( "status", "SUCCESS", "followUpToken", followUpToken, "networkDownloadSpeedMbps", 23.3, "networkUploadSpeedMbps", 10.2))); // Send follow-up response. ReportStateAndNotificationRequest request = new ReportStateAndNotificationRequest() .setRequestId("PLACEHOLDER-REQUEST-ID") .setAgentUserId("PLACEHOLDER-USER-ID") .setEventId("PLACEHOLDER-EVENT-ID") .setPayload( new StateAndNotificationPayload() .setDevices( new ReportStateAndNotificationDevice() .setNotifications(Map.of("PLACEHOLDER-DEVICE-ID", followUpResponse)))); homegraphService.devices().reportStateAndNotification(request);
Logging
การแจ้งเตือนรองรับการบันทึกเหตุการณ์ตามที่อธิบายไว้ในเข้าถึงบันทึกเหตุการณ์ด้วย Cloud Logging บันทึกเหล่านี้มีประโยชน์สำหรับการทดสอบและรักษาคุณภาพการแจ้งเตือนภายในการดำเนินการของคุณ
สคีมาของรายการ notificationLog
มีดังนี้
พร็อพเพอร์ตี้ | คำอธิบาย |
---|---|
requestId |
รหัสคำขอการแจ้งเตือน |
structName |
ชื่อโครงสร้างการแจ้งเตือน เช่น "ObjectDetection" |
status |
ระบุสถานะของการแจ้งเตือน |
ช่อง status
มีสถานะต่างๆ ที่อาจบ่งชี้ถึงข้อผิดพลาดในเพย์โหลดการแจ้งเตือน โดยบางอย่างอาจใช้ได้เฉพาะกับการดำเนินการที่ยังไม่ได้เปิดตัวเวอร์ชันที่ใช้งานจริงเท่านั้น
ตัวอย่างสถานะมีดังนี้
สถานะ | คำอธิบาย |
---|---|
EVENT_ID_MISSING |
ระบุว่าไม่มีข้อมูลในช่อง eventId
|
PRIORITY_MISSING |
บ่งบอกว่าไม่มีช่อง priority
|
NOTIFICATION_SUPPORTED_BY_AGENT_FALSE |
ระบุว่าพร็อพเพอร์ตี้ notificationSupportedByAgent ของอุปกรณ์การแจ้งเตือนที่ระบุใน SYNC เป็นเท็จ
|
NOTIFICATION_ENABLED_BY_USER_FALSE |
ระบุว่าผู้ใช้ไม่ได้เปิดใช้การแจ้งเตือนในอุปกรณ์ที่แจ้งเตือนในGHA สถานะนี้ใช้ได้เฉพาะกับการดำเนินการที่ยังไม่เปิดตัวเป็นเวอร์ชันที่ใช้งานจริงเท่านั้น |
NOTIFYING_DEVICE_NOT_IN_STRUCTURE |
บ่งบอกว่าผู้ใช้ยังไม่ได้มอบหมายอุปกรณ์แจ้งไปยังบ้าน/โครงสร้าง สถานะนี้ใช้ได้เฉพาะกับการดำเนินการที่ยังไม่เปิดตัวเป็นเวอร์ชันที่ใช้งานจริงเท่านั้น |
นอกจากสถานะทั่วไปเหล่านี้ที่ใช้กับการแจ้งเตือนทั้งหมดแล้ว ช่อง status
ยังอาจมีสถานะที่เฉพาะเจาะจงของลักษณะด้วย (เช่น OBJECT_DETECTION_DETECTION_TIMESTAMP_MISSING
)