Automazioni gestite dalle app per iOS

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.

  1. Crea il grafico logico dell'automazione.

  2. (Facoltativo) Se vuoi che l'attività dell'automazione venga visualizzata nel feed dell'attività, puoi compilare un'istanza di AppManagedAutomationConfig con 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")
        ]
    )
    
  3. Crea l'istanza di automazione utilizzando Automation.Builder.

    1. Imposta il name dell'automazione.
    2. Imposta client_feature_group su "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.
    3. Imposta automationGraph.
    4. (Facoltativo) Imposta appManagedAutomationConfig dell'automazione (vedi il passaggio 2).
  4. Infine, chiama build() per creare l'istanza Automation.

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