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

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

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

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

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

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

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

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

    val myAutomationConfig = AppManagedAutomationConfig(
        managingAppDisplayNames = listOf(
            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 com.google.home.automation.Automation
import com.google.home.automation.SequentialNode
import com.google.home.automation.StarterNode
import com.google.home.automation.ActionNode
import com.google.home.HomeDevice
import com.google.home.matter.standard.OnOff
import com.google.home.matter.standard.OnOffLightDevice
import com.google.home.matter.standard.MotionDetection
import com.google.home.matter.standard.OccupancySensorDevice

 HomeDevice mySensor = home.devices().list().first { device -> device.has(OccupancySensorDevice) }
 HomeDevice myLight = home.devices().list().first { device -> device.has(OnOffLightDevice) }

// 1. Create logic graph
val starterNode = StarterNode(
    device = mySensor,
    trait = OccupancySensing
)

val actionNode = ActionNode(
    device = myLight,
    command = OnOff.on()
)

// Bundle nodes into a sequential graph
val automationGraph = SequentialNode(
    nodes = listOf(starterNode, actionNode)
)

 // 2. Build the AppManagedAutomationConfig with the localized app names
val AppManagedAutomationConfig myAutomationConfig = 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
val myAutomation = Automation.Builder()
    .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(myCustomConfig)             // d. Set the automationConfig
    .build() // 4. build the automation