iOS için uygulama tarafından yönetilen otomasyonlar

Uygulama tarafından yönetilen otomasyonlar, Automation API kullanılarak bir iş ortağı uygulaması tarafından programatik olarak oluşturulan otomasyonlardır.

Bu tür otomasyonlar, Google Home app (GHA) otomasyon listesinde gösterilmez.

Uygulama tarafından yönetilen bir otomasyon tetiklendiğinde Home API'leri etkinlik feed'ine yazılan bilgiler özelleştirilebilir. Örneğin, bir iş ortağı, uygulamayla yönetilen otomasyonlar kullanılarak uygulanan "Arctic" adlı markalı bir hizmet sunuyorsa uygulamayla yönetilen otomasyonları çalıştığında etkinlik feed'inde gerçek otomasyon adı yerine Arctic hizmetine referans verildiğini belirtebilir.

Uygulama tarafından yönetilen otomasyon oluşturma

Uygulama tarafından yönetilen bir otomasyon oluşturmak için aşağıdaki prosedürü uygulayın.

  1. Otomasyonun mantık grafiğini oluşturun.

  2. Otomasyonunuzun etkinliğinin etkinlik feed'inde nasıl görüneceğini özelleştirmek için bir AppManagedAutomationConfig örneğini, feed'de otomasyon adı yerine görünmesini istediğiniz yerelleştirilmiş mesajla doldurun. Bu, bir uygulamanın veya hizmetin yerelleştirilmiş adları ya da istediğiniz başka bir mesaj olabilir. Yerelleştirilmiş dize sağlamazsanız otomasyon yürütmeleri diğer otomasyonlar gibi günlüğe kaydedilir. Google, en iyi kullanıcı deneyimini sağlamak için bu yerelleştirilmiş dizeleri ayarlamanızı önerir.

    let automationConfig = AppManagedAutomationConfig(
        managingAppDisplayNames: [
          LocalizedText(text: "My Custom SmartApp", locale: "en-US"),
          LocalizedText(text: "Mi aplicación personalizada", locale: "es-MX")
        ]
    )
    
  3. Automation.Builder kullanarak otomasyon örneğini oluşturun.

    1. Otomasyonun name değerini ayarlayın.
    2. Otomasyonun yürütme geçmişinin GHA uygulamasındaki Etkinlik sekmesinde görünmesi için client_feature_group ayarını "APP_MANAGED_EXECUTION_REPORTED" olarak belirleyin.
    3. automationGraph değerini ayarlayın.
    4. İsteğe bağlı Otomasyonun appManagedAutomationConfig ayarlayın (2. adıma bakın).
  4. Son olarak, Automation örneğini oluşturmak için build() yöntemini çağırın.

Bu örnekte tüm prosedür gösterilmektedir:


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