اتوماسیونهای مدیریتشده توسط برنامه، اتوماسیونهایی هستند که به صورت برنامهنویسیشده توسط یک برنامهی همکار با استفاده از API اتوماسیون ساخته میشوند.
چنین اتوماسیونهایی از نمایش در فهرست اتوماسیونهای Google Home app (GHA) منع میشوند.
اطلاعاتی که هنگام فعال شدن اتوماسیون مدیریتشده توسط برنامه در فید فعالیت Home APIs نوشته میشود، میتواند سفارشیسازی شود یا بهطور کامل حذف شود. بهعنوان مثال، اگر یک شریک، سرویسی با نام تجاری «Arctic» ارائه دهد که با استفاده از اتوماسیونهای مدیریتشده توسط برنامه پیادهسازی شده است، شریک میتواند مشخص کند که هنگام اجرای اتوماسیونهای مدیریتشده توسط برنامه، سرویس Arctic در فید فعالیت به جای نام واقعی اتوماسیون ارجاع داده شود.
یک اتوماسیون مدیریتشده توسط برنامه ایجاد کنید
برای ایجاد یک اتوماسیون مدیریتشده توسط برنامه، از روش زیر استفاده کنید.
نمودار منطقی اتوماسیون را بسازید.
اختیاری اگر میخواهید فعالیت اتوماسیون شما در فید فعالیتها نمایش داده شود، میتوانید به جای نام اتوماسیون، یک نمونه
AppManagedAutomationConfigرا با پیام محلیشدهای که میخواهید در فید نمایش داده شود، پر کنید. این میتواند نامهای محلیشده یک برنامه یا سرویس یا هر پیام دیگری باشد که میخواهید. اگر هیچ رشته محلیشدهای ارائه ندهید، اجرای اتوماسیون مانند هر اتوماسیون دیگری ثبت میشود. گوگل توصیه میکند که این رشتههای محلیشده را تنظیم کنید تا بهترین تجربه کاربری تضمین شود.val myAutomationConfig = AppManagedAutomationConfig( managingAppDisplayNames = listOf( LocalizedText(text = "My custom SmartApp", locale = "en-US"), LocalizedText(text = "Mi aplicación personalizada", locale = "es-MX") ) )با استفاده از
Automation.Builderنمونه اتوماسیون را ایجاد کنید.-
nameاتوماسیون را تنظیم کنید. - اگر میخواهید تاریخچه اجرای اتوماسیون در تب Activity در GHA نمایش داده شود،
client_feature_groupرا روی"APP_MANAGED_EXECUTION_REPORTED"تنظیم کنید، یا اگر نمیخواهید تاریخچه اجرای اتوماسیون نمایش داده شود، آن را روی"APP_MANAGED_EXECUTION_UNREPORTED"تنظیم کنید. -
automationGraphرا تنظیم کنید. - اختیاری
appManagedAutomationConfigمربوط به اتوماسیون را تنظیم کنید (به مرحله ۲ مراجعه کنید).
-
در نهایت، برای ساخت نمونه
Automation، تابعbuild()را فراخوانی کنید.
این مثال کل روش را نشان میدهد:
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_UNREPORTED") // b. set the clientFeatureGroup
.setAutomationGraph(automationGraph) // c. Attach the logic graph
.setAppManagedAutomationConfig(myCustomConfig) // d. Set the automationConfig
.build() // 4. build the automation
اتوماسیونهای مدیریتشده توسط برنامه، اتوماسیونهایی هستند که به صورت برنامهنویسیشده توسط یک برنامهی همکار با استفاده از API اتوماسیون ساخته میشوند.
چنین اتوماسیونهایی از نمایش در فهرست اتوماسیونهای Google Home app (GHA) منع میشوند.
اطلاعاتی که هنگام فعال شدن اتوماسیون مدیریتشده توسط برنامه در فید فعالیت Home APIs نوشته میشود، میتواند سفارشیسازی شود یا بهطور کامل حذف شود. بهعنوان مثال، اگر یک شریک، سرویسی با نام تجاری «Arctic» ارائه دهد که با استفاده از اتوماسیونهای مدیریتشده توسط برنامه پیادهسازی شده است، شریک میتواند مشخص کند که هنگام اجرای اتوماسیونهای مدیریتشده توسط برنامه، سرویس Arctic در فید فعالیت به جای نام واقعی اتوماسیون ارجاع داده شود.
یک اتوماسیون مدیریتشده توسط برنامه ایجاد کنید
برای ایجاد یک اتوماسیون مدیریتشده توسط برنامه، از روش زیر استفاده کنید.
نمودار منطقی اتوماسیون را بسازید.
اختیاری اگر میخواهید فعالیت اتوماسیون شما در فید فعالیتها نمایش داده شود، میتوانید به جای نام اتوماسیون، یک نمونه
AppManagedAutomationConfigرا با پیام محلیشدهای که میخواهید در فید نمایش داده شود، پر کنید. این میتواند نامهای محلیشده یک برنامه یا سرویس یا هر پیام دیگری باشد که میخواهید. اگر هیچ رشته محلیشدهای ارائه ندهید، اجرای اتوماسیون مانند هر اتوماسیون دیگری ثبت میشود. گوگل توصیه میکند که این رشتههای محلیشده را تنظیم کنید تا بهترین تجربه کاربری تضمین شود.val myAutomationConfig = AppManagedAutomationConfig( managingAppDisplayNames = listOf( LocalizedText(text = "My custom SmartApp", locale = "en-US"), LocalizedText(text = "Mi aplicación personalizada", locale = "es-MX") ) )با استفاده از
Automation.Builderنمونه اتوماسیون را ایجاد کنید.-
nameاتوماسیون را تنظیم کنید. - اگر میخواهید تاریخچه اجرای اتوماسیون در تب Activity در GHA نمایش داده شود،
client_feature_groupرا روی"APP_MANAGED_EXECUTION_REPORTED"تنظیم کنید، یا اگر نمیخواهید تاریخچه اجرای اتوماسیون نمایش داده شود، آن را روی"APP_MANAGED_EXECUTION_UNREPORTED"تنظیم کنید. -
automationGraphرا تنظیم کنید. - اختیاری
appManagedAutomationConfigمربوط به اتوماسیون را تنظیم کنید (به مرحله ۲ مراجعه کنید).
-
در نهایت، برای ساخت نمونه
Automation، تابعbuild()را فراخوانی کنید.
این مثال کل روش را نشان میدهد:
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_UNREPORTED") // b. set the clientFeatureGroup
.setAutomationGraph(automationGraph) // c. Attach the logic graph
.setAppManagedAutomationConfig(myCustomConfig) // d. Set the automationConfig
.build() // 4. build the automation
اتوماسیونهای مدیریتشده توسط برنامه، اتوماسیونهایی هستند که به صورت برنامهنویسیشده توسط یک برنامهی همکار با استفاده از API اتوماسیون ساخته میشوند.
چنین اتوماسیونهایی از نمایش در فهرست اتوماسیونهای Google Home app (GHA) منع میشوند.
اطلاعاتی که هنگام فعال شدن اتوماسیون مدیریتشده توسط برنامه در فید فعالیت Home APIs نوشته میشود، میتواند سفارشیسازی شود یا بهطور کامل حذف شود. بهعنوان مثال، اگر یک شریک، سرویسی با نام تجاری «Arctic» ارائه دهد که با استفاده از اتوماسیونهای مدیریتشده توسط برنامه پیادهسازی شده است، شریک میتواند مشخص کند که هنگام اجرای اتوماسیونهای مدیریتشده توسط برنامه، سرویس Arctic در فید فعالیت به جای نام واقعی اتوماسیون ارجاع داده شود.
یک اتوماسیون مدیریتشده توسط برنامه ایجاد کنید
برای ایجاد یک اتوماسیون مدیریتشده توسط برنامه، از روش زیر استفاده کنید.
نمودار منطقی اتوماسیون را بسازید.
اختیاری اگر میخواهید فعالیت اتوماسیون شما در فید فعالیتها نمایش داده شود، میتوانید به جای نام اتوماسیون، یک نمونه
AppManagedAutomationConfigرا با پیام محلیشدهای که میخواهید در فید نمایش داده شود، پر کنید. این میتواند نامهای محلیشده یک برنامه یا سرویس یا هر پیام دیگری باشد که میخواهید. اگر هیچ رشته محلیشدهای ارائه ندهید، اجرای اتوماسیون مانند هر اتوماسیون دیگری ثبت میشود. گوگل توصیه میکند که این رشتههای محلیشده را تنظیم کنید تا بهترین تجربه کاربری تضمین شود.val myAutomationConfig = AppManagedAutomationConfig( managingAppDisplayNames = listOf( LocalizedText(text = "My custom SmartApp", locale = "en-US"), LocalizedText(text = "Mi aplicación personalizada", locale = "es-MX") ) )با استفاده از
Automation.Builderنمونه اتوماسیون را ایجاد کنید.-
nameاتوماسیون را تنظیم کنید. - اگر میخواهید تاریخچه اجرای اتوماسیون در تب Activity در GHA نمایش داده شود،
client_feature_groupرا روی"APP_MANAGED_EXECUTION_REPORTED"تنظیم کنید، یا اگر نمیخواهید تاریخچه اجرای اتوماسیون نمایش داده شود، آن را روی"APP_MANAGED_EXECUTION_UNREPORTED"تنظیم کنید. -
automationGraphرا تنظیم کنید. - اختیاری
appManagedAutomationConfigمربوط به اتوماسیون را تنظیم کنید (به مرحله ۲ مراجعه کنید).
-
در نهایت، برای ساخت نمونه
Automation، تابعbuild()را فراخوانی کنید.
این مثال کل روش را نشان میدهد:
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_UNREPORTED") // b. set the clientFeatureGroup
.setAutomationGraph(automationGraph) // c. Attach the logic graph
.setAppManagedAutomationConfig(myCustomConfig) // d. Set the automationConfig
.build() // 4. build the automation