App-verwaltete Automatisierungen für iOS

App-verwaltete automatisierte Abläufe sind automatisierte Abläufe, die von einer Partner-App mithilfe der Automation API programmatisch erstellt werden.

Solche Automatisierungen werden in der Liste der Google Home app (GHA)-Automatisierungen nicht angezeigt.

Die Informationen, die in den Aktivitätsfeed der Home-APIs geschrieben werden, wenn eine von einer App verwaltete Automatisierung ausgelöst wird, können angepasst werden. Wenn ein Partner beispielsweise einen Markendienst namens „Arctic“ anbietet, der mithilfe von App-verwalteten automatisierten Abläufen implementiert wird, kann er festlegen, dass bei der Ausführung seiner App-verwalteten automatisierten Abläufe im Aktivitätsfeed auf den Dienst „Arctic“ verwiesen wird, anstatt den tatsächlichen Namen des automatisierten Ablaufs zu verwenden.

App-verwaltete Automatisierung erstellen

So erstellst du eine App-verwaltete Automatisierung:

  1. Erstelle das Logikdiagramm der Automatisierung.

  2. Wenn du anpassen möchtest, wie die Aktivität deiner Automatisierung im Aktivitätsfeed angezeigt wird, fülle eine AppManagedAutomationConfig-Instanz mit der lokalisierten Nachricht, die anstelle des Automatisierungsnamens im Feed angezeigt werden soll. Das können die lokalisierten Namen einer App oder eines Dienstes oder eine beliebige andere Nachricht sein. Wenn du keine lokalisierten Strings angibst, werden die Automatisierungsausführungen wie die aller anderen Automatisierungen protokolliert. Google empfiehlt, diese lokalisierten Strings festzulegen, um die bestmögliche Nutzererfahrung zu bieten.

    let automationConfig = AppManagedAutomationConfig(
        managingAppDisplayNames: [
          LocalizedText(text: "My Custom SmartApp", locale: "en-US"),
          LocalizedText(text: "Mi aplicación personalizada", locale: "es-MX")
        ]
    )
    
  3. Erstellen Sie die Automatisierungsinstanz mit Automation.Builder.

    1. Lege den name der Automatisierung fest.
    2. Setze client_feature_group auf "APP_MANAGED_EXECUTION_REPORTED", damit der Ausführungsverlauf der Automatisierung auf dem Tab „Aktivität“ in GHA angezeigt wird.
    3. Legen Sie den automationGraph fest.
    4. Optional: Lege die appManagedAutomationConfig der Automatisierung fest (siehe Schritt 2).
  4. Rufen Sie schließlich build() auf, um die Automation-Instanz zu erstellen.

In diesem Beispiel wird das gesamte Verfahren gezeigt:


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