Las automatizaciones administradas por la app son automatizaciones que se construyen de forma programática con la API de Automation por una app de socio.
Estas automatizaciones no aparecen en la lista de automatizaciones de Google Home app (GHA).
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 se puede personalizar o suprimir por completo. Por ejemplo, si un socio ofrece un servicio de marca llamado "Ártico" 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 de Ártico en el feed de actividades en lugar del nombre de la automatización real.
Crea una automatización administrada por la app
Para crear una automatización administrada por la app, sigue este procedimiento.
Crea el gráfico de lógica de la automatización.
Opcional: Si quieres que la actividad de tu automatización aparezca en el feed de actividad, puedes completar una instancia de
AppManagedAutomationConfigcon el mensaje localizado que quieras 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 automatización se registrarán como las de cualquier otra automatización. Google recomienda que establezcas 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"si quieres que el historial de ejecución de la automatización aparezca en la pestaña Actividad de GHA, o en"APP_MANAGED_EXECUTION_UNREPORTED"si no quieres que aparezca. - Establece el
automationGraph. - Opcional: Establece 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 el procedimiento completo:
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