Las automatizaciones administradas por apps son aquellas que una app de socio construye de forma programática con la API de Automation.
Estas automatizaciones se suprimen para que no aparezcan en la lista de automatizaciones de Google Home app (GHA).
Se puede personalizar la información que se escribe en el feed de actividad de las APIs de Home cuando se activa una automatización administrada por la app. Por ejemplo, si un socio ofrece un servicio de marca llamado "Arctic" que se implementa con automatizaciones administradas por la app, el socio podría especificar que, cuando se ejecuten sus automatizaciones administradas por la app, se haga referencia al servicio Arctic en el feed de actividad en lugar del nombre real de la automatización.
Cómo crear una automatización administrada por la app
Para crear una automatización administrada por la app, sigue este procedimiento.
Compila el gráfico de lógica de la automatización.
Para personalizar cómo aparece la actividad de tu automatización en el feed de actividad, propaga una instancia de
AppManagedAutomationConfigcon el mensaje localizado que deseas que aparezca en el feed en lugar del nombre de la automatización. Pueden ser los nombres localizados de una app o un servicio, o cualquier otro mensaje que desees. Si no proporcionas ninguna cadena localizada, las ejecuciones de la automatización se registran como las de cualquier otra automatización. Google recomienda que configures estas cadenas localizadas para garantizar la mejor experiencia del usuario.let automationConfig = AppManagedAutomationConfig( managingAppDisplayNames: [ LocalizedText(text: "My Custom SmartApp", locale: "en-US"), LocalizedText(text: "Mi aplicación personalizada", locale: "es-MX") ] )Crea la instancia de automatización con
Automation.Builder.- Establece el
namede la automatización. - Establece
client_feature_groupen"APP_MANAGED_EXECUTION_REPORTED"para que el historial de ejecución de la automatización aparezca en la pestaña Actividad en GHA. - Establece el
automationGraph. - Opcional: Configura el
appManagedAutomationConfigde la automatización (consulta el paso 2).
- Establece el
Por último, llama a
build()para compilar la instancia deAutomation.
En este ejemplo, se muestra todo el procedimiento:
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_REPORTED") // b. set the clientFeatureGroup
.setAutomationGraph(automationGraph) // c. Attach the logic graph
.setAppManagedAutomationConfig(automationConfig) // d. Set the automationConfig
.build() // 4. build the automation