การแจ้งเตือนช่วยให้การดำเนินการ smart home ใช้ Google Assistant เพื่อสื่อสารกับผู้ใช้เกี่ยวกับเหตุการณ์หรือการเปลี่ยนแปลงที่สำคัญที่เกี่ยวข้องกับอุปกรณ์ได้ คุณสามารถใช้การแจ้งเตือนเพื่อแจ้งเตือนผู้ใช้เกี่ยวกับเหตุการณ์ในอุปกรณ์อย่างทันท่วงที เช่น เมื่อมีคนอยู่ที่หน้าประตู หรือรายงานการเปลี่ยนแปลงสถานะอุปกรณ์ที่ขอ เช่น เมื่อมีการติดกลอนประตูล็อกเรียบร้อยแล้วหรือติดติดขัด
การดำเนินการ smart home สามารถส่งการแจ้งเตือนประเภทต่อไปนี้ถึงผู้ใช้
การแจ้งเตือนเชิงรุก: แจ้งเตือนผู้ใช้เกี่ยวกับเหตุการณ์ในอุปกรณ์ smart home โดยไม่มีคำขอจากอุปกรณ์ของผู้ใช้ก่อน เช่น เสียงกริ่งประตู
การตอบกลับเพื่อติดตามผล: การยืนยันว่าคำขอคำสั่งของอุปกรณ์สำเร็จหรือล้มเหลว เช่น เมื่อล็อกประตู ใช้การแจ้งเตือนเหล่านี้ กับคำสั่งอุปกรณ์ที่ใช้เวลาในการดำเนินการ ระบบจะรองรับการตอบกลับเพื่อติดตามผลเมื่อมีการส่งคำขอคำสั่งของอุปกรณ์จากลำโพงอัจฉริยะและ Smart Display เท่านั้น
Assistant จะส่งการแจ้งเตือนเหล่านี้ให้ผู้ใช้ เป็นประกาศทางลำโพงอัจฉริยะและจออัจฉริยะ การแจ้งเตือนเชิงรุกจะปิดไว้โดยค่าเริ่มต้น ผู้ใช้สามารถเปิดหรือปิดการแจ้งเตือนเชิงรุกทั้งหมดจาก Google Home app (GHA) ได้
เหตุการณ์ที่ทำให้เกิดการแจ้งเตือน
เมื่อมีเหตุการณ์ในอุปกรณ์เกิดขึ้น การดำเนินการตามคำสั่งซื้อจะส่งคำขอการแจ้งเตือนไปยัง Google ลักษณะเฉพาะของอุปกรณ์ที่การดำเนินการ smart home รองรับจะเป็นตัวกำหนดประเภทของเหตุการณ์การแจ้งเตือนที่ใช้ได้ และข้อมูลที่คุณจะรวมไว้ในการแจ้งเตือนเหล่านั้นได้
คุณลักษณะต่อไปนี้รองรับการแจ้งเตือนเชิงรุก
ลักษณะเฉพาะ | กิจกรรม |
---|---|
ObjectDetection | วัตถุที่อุปกรณ์ตรวจพบ เช่น เมื่อระบบตรวจพบใบหน้าที่รู้จักที่ประตู เช่น "Alice and Bob อยู่ที่ประตูหน้า" |
RunCycle | อุปกรณ์สิ้นสุดรอบ เช่น "โหมดเครื่องซักผ้าเสร็จสมบูรณ์แล้ว" |
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 และ Notification API
เปิดใช้ Google HomeGraph API
-
ใน Google Cloud Console ให้ไปที่หน้า HomeGraph API
ไปที่หน้า HomeGraph API - เลือกโปรเจ็กต์ที่ตรงกับรหัสโปรเจ็กต์ smart home ของคุณ
- คลิกเปิดใช้
สร้างคีย์บัญชีบริการ
ทำตามวิธีการต่อไปนี้เพื่อสร้างคีย์บัญชีบริการจาก Google Cloud Console
-
ในGoogle Cloud Console ให้ไปที่หน้าสร้างคีย์บัญชีบริการ
ไปที่หน้าสร้างคีย์บัญชีบริการ - จากรายการบัญชีบริการ ให้เลือกบัญชีบริการใหม่
- ป้อนชื่อในช่องชื่อบัญชีบริการ
- ป้อนรหัสในช่องรหัสบัญชีบริการ
จากรายการบทบาท ให้เลือกบัญชีบริการ > ผู้สร้างโทเค็นบัญชีบริการ
สำหรับประเภทคีย์ ให้เลือกตัวเลือก JSON
- คลิกสร้าง ไฟล์ JSON ที่มีคีย์ที่ดาวน์โหลดลงในคอมพิวเตอร์
ส่งการแจ้งเตือน
ทำการเรียกคำขอการแจ้งเตือนโดยใช้ API ของ devices.reportStateAndNotification
คำขอ 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 เพื่อสร้างสตับไคลเอ็นต์สำหรับภาษาที่รองรับ
- เรียกใช้เมธอด ReportStateAndNotifications
Node.js
ไคลเอ็นต์ Google APIs Node.js มีการผูกสำหรับ 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 เพื่อสร้างสตับไคลเอ็นต์สำหรับภาษาที่รองรับ
- เรียกใช้เมธอด ReportStateAndNotifications
Node.js
ไคลเอ็นต์ Google APIs Node.js มีการผูกสำหรับ 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
) ด้วย (เช่น OBJECT_DETECTION_DETECTION_TIMESTAMP_MISSING
)