การทำงานอัตโนมัติที่จัดการโดยแอปคือการทำงานอัตโนมัติที่สร้างขึ้นแบบเป็นโปรแกรมโดยแอปของพาร์ทเนอร์ที่ใช้ Automation API
ระบบจะระงับการทำงานอัตโนมัติดังกล่าวไม่ให้ปรากฏในรายการการทำงานอัตโนมัติของ Google Home app (GHA)
คุณสามารถปรับแต่งหรือระงับข้อมูลที่เขียนลงในฟีดกิจกรรมของ Home API เมื่อมีการเรียกใช้การทำงานอัตโนมัติที่จัดการโดยแอปได้ทั้งหมด ตัวอย่างเช่น หากพาร์ทเนอร์เสนอบริการที่มีแบรนด์ชื่อ "Arctic" ซึ่งติดตั้งใช้งานโดยใช้การทำงานอัตโนมัติที่จัดการโดยแอป พาร์ทเนอร์สามารถระบุได้ว่าเมื่อการทำงานอัตโนมัติที่จัดการโดยแอปทำงาน ระบบจะอ้างอิงบริการ Arctic ในฟีดกิจกรรมแทนชื่อการทำงานอัตโนมัติจริง
สร้างการทำงานอัตโนมัติที่จัดการโดยแอป
หากต้องการสร้างการทำงานอัตโนมัติที่จัดการโดยแอป ให้ทำตามขั้นตอนต่อไปนี้
สร้างกราฟตรรกะของการทำงานอัตโนมัติ
ไม่บังคับ หากต้องการให้กิจกรรมของการทำงานอัตโนมัติปรากฏในฟีดกิจกรรม คุณสามารถป้อนข้อมูลอินสแตนซ์
AppManagedAutomationConfigด้วยข้อความที่แปลแล้วซึ่งต้องการให้ปรากฏในฟีดแทนชื่อการทำงานอัตโนมัติ ซึ่งอาจเป็นชื่อที่แปลแล้วของแอปหรือบริการ หรือข้อความอื่นๆ ที่คุณต้องการ หากคุณไม่ได้ระบุสตริงที่แปลแล้ว ระบบจะบันทึกการดำเนินการอัตโนมัติเหมือนกับการดำเนินการอัตโนมัติอื่นๆ Google ขอแนะนำให้คุณตั้งค่าสตริงที่แปลแล้วเหล่านี้เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ดีที่สุดlet automationConfig = AppManagedAutomationConfig( managingAppDisplayNames: [ LocalizedText(text: "My Custom SmartApp", locale: "en-US"), LocalizedText(text: "Mi aplicación personalizada", locale: "es-MX") ] )สร้างอินสแตนซ์การทำงานอัตโนมัติโดยใช้
Automation.Builder- ตั้งค่า
nameของการทำงานอัตโนมัติ - ตั้งค่า
client_feature_groupเป็น"APP_MANAGED_EXECUTION_REPORTED"หากต้องการให้ประวัติการดำเนินการของการทำงานอัตโนมัติปรากฏในแท็บกิจกรรมใน GHA หรือ"APP_MANAGED_EXECUTION_UNREPORTED"หากไม่ต้องการให้ประวัติการดำเนินการของการทำงานอัตโนมัติปรากฏ - ตั้งค่า
automationGraph - ไม่บังคับ ตั้งค่า
appManagedAutomationConfigของการทำงานอัตโนมัติ (ดูขั้นตอนที่ 2)
- ตั้งค่า
สุดท้าย ให้เรียก
build()เพื่อสร้างอินสแตนซ์Automation
ตัวอย่างนี้แสดงขั้นตอนทั้งหมด
import GoogleHomeSDK
import GoogleHomeTypes
let devices = try await home.devices().list()
let mySensor: HomeDevice = devices.first(where: {
$0.types.contains(OccupancySensorDeviceType.self) &&
$0.structureID == structure.id
})
let myLight: HomeDevice = devices.first(
where: {
$0.types.contains(OnOffLightDeviceType.self) &&
$0.structureID == structure.id
}
)
// 1. Create logic graph
let starterNode = StarterNode(
device: mySensor,
trait: Matter.OccupancySensingTrait.self
)
let actionNode = ActionNode(
device: myLight,
command: Matter.OnOffTrait.on()
)
// Bundle nodes into a sequential graph
let automationGraph = SequentialFlow(
nodes: [starterNode, actionNode]
)
// 2. Build the AppManagedAutomationConfig with the localized app names
let automationConfig = AppManagedAutomationConfig(
managingAppDisplayNames: [
LocalizedText(text: "My Custom SmartApp", locale: "en-US"),
LocalizedText(text: "Mi aplicación personalizada", locale: "es-MX")
]
)
// 3. Build the Automation with both configuration and the graph
let myFunctionalAutomation = try AutomationBuilder()
.setName("Motion Activated Light") // a. Set the name
.setClientFeatureGroup("APP_MANAGED_EXECUTION_UNREPORTED") // b. set the clientFeatureGroup
.setAutomationGraph(automationGraph) // c. Attach the logic graph
.setAppManagedAutomationConfig(automationConfig) // d. Set the automationConfig
.build() // 4. build the automation