Las automatizaciones administradas por apps son aquellas que una app de socio construye de forma programática con la API de Automation.
Estas automatizaciones se suprimen para que no aparezcan en la lista de automatizaciones de Google Home app (GHA).
La información que se escribe en el feed de actividad de las APIs de Home cuando se activa una automatización administrada por la app se puede personalizar o suprimir por completo. Por ejemplo, si un socio ofrece un servicio de marca llamado "Arctic" que se implementa con automatizaciones administradas por la app, el socio podría especificar que, cuando se ejecuten sus automatizaciones administradas por la app, se haga referencia al servicio Arctic en el feed de actividad en lugar del nombre real de la automatización.
Cómo crear una automatización administrada por la app
Para crear una automatización administrada por la app, sigue este procedimiento.
Compila el gráfico de lógica de la automatización.
Opcional Si quieres que la actividad de tu automatización aparezca en el feed de actividad, puedes propagar una instancia de
AppManagedAutomationConfigcon el mensaje localizado que quieres que aparezca en el feed en lugar del nombre de la automatización. Pueden ser los nombres localizados de una app o un servicio, o cualquier otro mensaje que desees. Si no proporcionas ninguna cadena localizada, las ejecuciones de la automatización se registran como las de cualquier otra automatización. Google recomienda que configures estas cadenas localizadas para garantizar la mejor experiencia del usuario.val myAutomationConfig = AppManagedAutomationConfig( managingAppDisplayNames = listOf( LocalizedText(text = "My custom SmartApp", locale = "en-US"), LocalizedText(text = "Mi aplicación personalizada", locale = "es-MX") ) )Crea la instancia de automatización con
Automation.Builder.- Establece el
namede la automatización. - Establece el
client_feature_groupen"APP_MANAGED_EXECUTION_REPORTED"si quieres que el historial de ejecución de la automatización aparezca en la pestaña Actividad de GHA, o"APP_MANAGED_EXECUTION_UNREPORTED"si no quieres que aparezca el historial de ejecución de la automatización. - Establece el
automationGraph. - Opcional: Configura el
appManagedAutomationConfigde la automatización (consulta el paso 2).
- Establece el
Por último, llama a
build()para compilar la instancia deAutomation.
En este ejemplo, se muestra todo el procedimiento:
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