Automatisations gérées par l'application pour iOS

Les automatisations gérées par l'application sont des automatisations créées de manière programmatique par une application partenaire à l'aide de l'API Automation.

Ces automatisations n'apparaissent pas dans la liste des automatisations Google Home app (GHA).

Les informations écrites dans le flux d'activité des API Home lorsqu'une automatisation gérée par l'application est déclenchée peuvent être personnalisées. Par exemple, si un partenaire propose un service de marque appelé "Arctic" qui est implémenté à l'aide d'automatisations gérées par l'application, il peut spécifier que lorsque ses automatisations gérées par l'application s'exécutent, le service Arctic est référencé dans le flux d'activité au lieu du nom réel de l'automatisation.

Créer une automatisation gérée par l'application

Pour créer une automatisation gérée par l'application, suivez la procédure ci-dessous.

  1. Créez le graphique logique de l'automatisation.

  2. Pour personnaliser l'affichage de l'activité de votre automatisation dans le flux d'activité, renseignez une instance AppManagedAutomationConfig avec le message localisé que vous souhaitez voir apparaître dans le flux à la place du nom de l'automatisation. Il peut s'agir des noms localisés d'une application ou d'un service, ou de tout autre message de votre choix. Si vous ne fournissez pas de chaînes localisées, les exécutions d'automatisation sont enregistrées comme celles de n'importe quelle autre automatisation. Google vous recommande de définir ces chaînes localisées pour garantir une expérience utilisateur optimale.

    let automationConfig = AppManagedAutomationConfig(
        managingAppDisplayNames: [
          LocalizedText(text: "My Custom SmartApp", locale: "en-US"),
          LocalizedText(text: "Mi aplicación personalizada", locale: "es-MX")
        ]
    )
    
  3. Créez l'instance d'automatisation à l'aide de Automation.Builder.

    1. Définissez le name de l'automatisation.
    2. Définissez client_feature_group sur "APP_MANAGED_EXECUTION_REPORTED" pour que l'historique d'exécution de l'automatisation s'affiche dans l'onglet "Activité" de GHA.
    3. Définissez automationGraph.
    4. Facultatif : Définissez le appManagedAutomationConfig de l'automatisation (voir l'étape 2).
  4. Enfin, appelez build() pour créer l'instance Automation.

Cet exemple illustre l'ensemble de la procédure :


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