Le automazioni gestite dalle app sono automazioni create a livello di programmazione da un'app partner utilizzando l'API Automation.
Queste automazioni non vengono visualizzate nell'elenco delle automazioni Google Home app (GHA).
Le informazioni scritte nel feed Attività delle API Home quando viene attivata un'automazione gestita dall'app possono essere personalizzate o eliminate completamente. Ad esempio, se un partner offre un servizio brandizzato chiamato "Arctic" implementato utilizzando automazioni gestite dall'app, il partner potrebbe specificare che quando vengono eseguite le automazioni gestite dall'app, il servizio Arctic viene citato nel feed attività anziché il nome effettivo dell'automazione.
Creare un'automazione gestita dall'app
Per creare un'automazione gestita dall'app, utilizza la seguente procedura.
Crea il grafico logico dell'automazione.
(Facoltativo) Se vuoi che l'attività dell'automazione venga visualizzata nel feed dell'attività, puoi compilare un'istanza di
AppManagedAutomationConfigcon il messaggio localizzato che vuoi visualizzare nel feed al posto del nome dell'automazione. Possono essere i nomi localizzati di un'app o di un servizio oppure qualsiasi altro messaggio che preferisci. Se non fornisci stringhe localizzate, le esecuzioni dell'automazione vengono registrate come quelle di qualsiasi altra automazione. Google consiglia di impostare queste stringhe localizzate per garantire la migliore esperienza utente.let automationConfig = AppManagedAutomationConfig( managingAppDisplayNames: [ LocalizedText(text: "My Custom SmartApp", locale: "en-US"), LocalizedText(text: "Mi aplicación personalizada", locale: "es-MX") ] )Crea l'istanza di automazione utilizzando
Automation.Builder.- Imposta il
namedell'automazione. - Imposta
client_feature_groupsu"APP_MANAGED_EXECUTION_REPORTED"se vuoi che la cronologia di esecuzione dell'automazione venga visualizzata nella scheda Attività di GHA oppure"APP_MANAGED_EXECUTION_UNREPORTED"se non vuoi che la cronologia di esecuzione dell'automazione venga visualizzata. - Imposta
automationGraph. - (Facoltativo) Imposta
appManagedAutomationConfigdell'automazione (vedi il passaggio 2).
- Imposta il
Infine, chiama
build()per creare l'istanzaAutomation.
Questo esempio mostra l'intera procedura:
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