Автоматизация, управляемая приложением, — это автоматизация, которая создается программно партнерским приложением с использованием API автоматизации.
Подобные автоматизации не отображаются в списке автоматизаций Google Home app (GHA) .
Информация, записываемая в ленту активности Home API при запуске автоматизации, управляемой приложением, может быть настроена или полностью скрыта. Например, если партнер предлагает фирменный сервис под названием «Arctic», реализованный с помощью автоматизации, управляемой приложением, партнер может указать, что при запуске его автоматизации в ленте активности будет упоминаться сервис Arctic, а не фактическое название автоматизации.
Создайте автоматизацию, управляемую приложением.
Для создания автоматизации, управляемой приложением, выполните следующую процедуру.
Создайте логический граф автоматизации.
Если вы хотите , чтобы действия вашей автоматизации отображались в ленте активности, вы можете заполнить экземпляр
AppManagedAutomationConfigлокализованным сообщением, которое вы хотите видеть в ленте вместо имени автоматизации. Это могут быть локализованные названия приложения или службы, или любое другое сообщение по вашему желанию. Если вы не укажете локализованные строки, выполнение автоматизации будет регистрироваться так же, как и для любой другой автоматизации. Google рекомендует указывать локализованные строки для обеспечения наилучшего пользовательского опыта.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автоматизации. - Установите для
client_feature_groupзначение"APP_MANAGED_EXECUTION_REPORTED"если вы хотите, чтобы история выполнения автоматизации отображалась на вкладке "Действия" в GHA , или"APP_MANAGED_EXECUTION_UNREPORTED"если вы не хотите, чтобы история выполнения автоматизации отображалась. - Настройте
automationGraph. - Необязательно. Задайте
appManagedAutomationConfigдля автоматизации (см. Шаг 2).
- Задайте
Наконец, вызовите
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_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 API при запуске автоматизации, управляемой приложением, может быть настроена или полностью скрыта. Например, если партнер предлагает фирменный сервис под названием «Arctic», реализованный с помощью автоматизации, управляемой приложением, партнер может указать, что при запуске его автоматизации в ленте активности будет упоминаться сервис Arctic, а не фактическое название автоматизации.
Создайте автоматизацию, управляемую приложением.
Для создания автоматизации, управляемой приложением, выполните следующую процедуру.
Создайте логический граф автоматизации.
Если вы хотите , чтобы действия вашей автоматизации отображались в ленте активности, вы можете заполнить экземпляр
AppManagedAutomationConfigлокализованным сообщением, которое вы хотите видеть в ленте вместо имени автоматизации. Это могут быть локализованные названия приложения или службы, или любое другое сообщение по вашему желанию. Если вы не укажете локализованные строки, выполнение автоматизации будет регистрироваться так же, как и для любой другой автоматизации. Google рекомендует указывать локализованные строки для обеспечения наилучшего пользовательского опыта.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автоматизации. - Установите для
client_feature_groupзначение"APP_MANAGED_EXECUTION_REPORTED"если вы хотите, чтобы история выполнения автоматизации отображалась на вкладке "Действия" в GHA , или"APP_MANAGED_EXECUTION_UNREPORTED"если вы не хотите, чтобы история выполнения автоматизации отображалась. - Настройте
automationGraph. - Необязательно. Задайте
appManagedAutomationConfigдля автоматизации (см. Шаг 2).
- Задайте
Наконец, вызовите
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_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 API при запуске автоматизации, управляемой приложением, может быть настроена или полностью скрыта. Например, если партнер предлагает фирменный сервис под названием «Arctic», реализованный с помощью автоматизации, управляемой приложением, партнер может указать, что при запуске его автоматизации в ленте активности будет упоминаться сервис Arctic, а не фактическое название автоматизации.
Создайте автоматизацию, управляемую приложением.
Для создания автоматизации, управляемой приложением, выполните следующую процедуру.
Создайте логический граф автоматизации.
Если вы хотите , чтобы действия вашей автоматизации отображались в ленте активности, вы можете заполнить экземпляр
AppManagedAutomationConfigлокализованным сообщением, которое вы хотите видеть в ленте вместо имени автоматизации. Это могут быть локализованные названия приложения или службы, или любое другое сообщение по вашему желанию. Если вы не укажете локализованные строки, выполнение автоматизации будет регистрироваться так же, как и для любой другой автоматизации. Google рекомендует указывать локализованные строки для обеспечения наилучшего пользовательского опыта.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автоматизации. - Установите для
client_feature_groupзначение"APP_MANAGED_EXECUTION_REPORTED"если вы хотите, чтобы история выполнения автоматизации отображалась на вкладке "Действия" в GHA , или"APP_MANAGED_EXECUTION_UNREPORTED"если вы не хотите, чтобы история выполнения автоматизации отображалась. - Настройте
automationGraph. - Необязательно. Задайте
appManagedAutomationConfigдля автоматизации (см. Шаг 2).
- Задайте
Наконец, вызовите
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_UNREPORTED") // b. set the clientFeatureGroup
.setAutomationGraph(automationGraph) // c. Attach the logic graph
.setAppManagedAutomationConfig(myCustomConfig) // d. Set the automationConfig
.build() // 4. build the automation