As automações gerenciadas pelo app são construídas de maneira programática por um app parceiro usando a API Automation.
Essas automações não aparecem na lista de automações do Google Home app (GHA).
As informações gravadas no feed de atividades das APIs Home quando uma automação gerenciada por app é acionada podem ser personalizadas ou suprimidas completamente. Por exemplo, se um parceiro oferecer um serviço de marca chamado "Arctic" implementado usando automações gerenciadas por apps, ele poderá especificar que, quando as automações gerenciadas por apps forem executadas, o serviço Arctic será referenciado no feed de atividades em vez do nome real da automação.
Criar uma automação gerenciada pelo app
Para criar uma automação gerenciada pelo app, use o procedimento a seguir.
Crie o gráfico de lógica da automação.
Opcional: se você quiser que a atividade da sua automação apareça no feed de atividades, preencha uma instância
AppManagedAutomationConfigcom a mensagem localizada que você quer que apareça no feed em vez do nome da automação. Pode ser o nome localizado de um app ou serviço, ou qualquer outra mensagem que você quiser. Se você não fornecer strings localizadas, as execuções de automação serão registradas como as de qualquer outra automação. O Google recomenda que você defina essas strings localizadas para garantir a melhor experiência do usuário.val myAutomationConfig = AppManagedAutomationConfig( managingAppDisplayNames = listOf( LocalizedText(text = "My custom SmartApp", locale = "en-US"), LocalizedText(text = "Mi aplicación personalizada", locale = "es-MX") ) )Crie a instância de automação usando
Automation.Builder.- Defina o
nameda automação. - Defina
client_feature_groupcomo"APP_MANAGED_EXECUTION_REPORTED"se quiser que o histórico de execução da automação apareça na guia "Atividade" em GHA ou"APP_MANAGED_EXECUTION_UNREPORTED"se não quiser que o histórico de execução da automação apareça. - Defina o
automationGraph. - Opcional: defina o
appManagedAutomationConfigda automação (consulte a etapa 2).
- Defina o
Por fim, chame
build()para criar a instânciaAutomation.
Este exemplo mostra todo o procedimento:
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