خودکارسازی‌های مدیریت‌شده توسط برنامه برای iOS

خودکارسازی‌های مدیریت‌شده توسط برنامه خودکارسازی‌هایی هستند که به‌صورت برنامه‌نویسی‌شده توسط برنامه شریک بااستفاده از Automation API ساخته می‌شوند.

این خودکارسازی‌ها در فهرست خودکارسازی‌های Google Home app (GHA) نشان داده نمی‌شوند.

اطلاعاتی که هنگام راه‌اندازی خودکارسازی مدیریت‌شده توسط برنامه در فید فعالیت Home APIs نوشته می‌شود، قابل‌سفارشی‌سازی است. برای مثال، اگر شریکی سرویسی با نمانام «Arctic» ارائه دهد که بااستفاده از خودکارسازی‌های مدیریت‌شده توسط برنامه پیاده‌سازی شده باشد، شریک می‌تواند مشخص کند که وقتی خودکارسازی‌های مدیریت‌شده توسط برنامه او اجرا می‌شود، به‌جای نام واقعی خودکارسازی، به سرویس Arctic در فید فعالیت ارجاع داده شود.

ایجاد خودکارسازی مدیریت‌شده با برنامه

برای ایجاد خودکارسازی تحت مدیریت برنامه، از روال زیر استفاده کنید.

  1. نمودار منطقی خودکارسازی را بسازید.

  2. برای سفارشی‌سازی نحوه نمایش فعالیت خودکارسازی در فید فعالیت، یک نمونه AppManagedAutomationConfig را با پیام بومی‌سازی‌شده‌ای که می‌خواهید به‌جای نام خودکارسازی در فید نمایش داده شود پر کنید. این می‌تواند نام بومی‌سازی‌شده برنامه یا سرویس، یا هر پیام دیگری باشد که می‌خواهید. اگر رشته‌های بومی‌سازی‌شده ارائه نکنید، اجراهای خودکارسازی مانند هر خودکارسازی دیگری ثبت می‌شود. Google توصیه می‌کند این رشته‌های بومی‌سازی‌شده را تنظیم کنید تا بهترین تجربه کاربری تضمین شود.

    let automationConfig = AppManagedAutomationConfig(
        managingAppDisplayNames: [
          LocalizedText(text: "My Custom SmartApp", locale: "en-US"),
          LocalizedText(text: "Mi aplicación personalizada", locale: "es-MX")
        ]
    )
    
  3. نمونه خودکارسازی را بااستفاده از Automation.Builder ایجاد کنید.

    1. name خودکارسازی را تنظیم کنید.
    2. client_feature_group را روی "APP_MANAGED_EXECUTION_REPORTED" تنظیم کنید تا سابقه اجرای خودکارسازی در برگه «فعالیت» در GHA نشان داده شود.
    3. automationGraph را تنظیم کنید.
    4. اختیاری appManagedAutomationConfig خودکارسازی را تنظیم کنید (مرحله ۲ را ببینید).
  4. درنهایت، build() را فراخوانی کنید تا نمونه Automation ساخته شود.

این مثال کل فرایند را نشان می‌دهد:


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