Automatizaciones administradas por la app para iOS

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.

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

  2. Para personalizar cómo aparece la actividad de tu automatización en el feed de actividad, propaga una instancia de AppManagedAutomationConfig con 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")
        ]
    )
    
  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" para que el historial de ejecución de la automatización aparezca en la pestaña Actividad en GHA.
    3. Establece el automationGraph.
    4. Opcional: Configura 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 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