Automatizaciones administradas por la app para iOS

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.

  1. Crea el gráfico de lógica de la automatización.

  2. Opcional: Si quieres que la actividad de tu automatización aparezca en el feed de actividad, puedes completar una instancia de AppManagedAutomationConfig con 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")
        ]
    )
    
  3. Crea la instancia de automatización con Automation.Builder.

    1. Establece el name de la automatización.
    2. Establece client_feature_group en "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.
    3. Establece el automationGraph.
    4. Opcional: Establece el appManagedAutomationConfig de la automatización (consulta el paso 2).
  4. Por último, llama a build() para compilar la instancia de Automation.

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