Le automazioni gestite dall'app sono automazioni create in modo programmatico da un'app partner utilizzando l'API Automation.
Queste automazioni non vengono visualizzate nell'elenco delle automazioni Google Home app (GHA).
Le informazioni scritte nel feed Attività delle API Home quando viene attivata un'automazione gestita dall'app possono essere personalizzate. Ad esempio, se un partner offre un servizio con brand chiamato "Arctic" implementato utilizzando automazioni gestite dall'app, il partner potrebbe specificare che, quando vengono eseguite le automazioni gestite dall'app, nel feed Attività viene fatto riferimento al servizio Arctic anziché al nome effettivo dell'automazione.
Crea un'automazione gestita dall'app
Per creare un'automazione gestita dall'app, utilizza la seguente procedura.
Crea il grafico logico dell'automazione.
Per personalizzare la modalità di visualizzazione dell'attività dell'automazione nel feed Attività, compila un'istanza
AppManagedAutomationConfigcon il messaggio localizzato che vuoi visualizzare nel feed al posto del nome dell'automazione. Può trattarsi dei nomi localizzati di un'app o di un servizio o di qualsiasi altro messaggio che vuoi. Se non fornisci stringhe localizzate, le esecuzioni dell'automazione vengono registrate come quelle di qualsiasi altra automazione. Google consiglia di impostare queste stringhe localizzate per garantire la migliore esperienza utente.val myAutomationConfig = AppManagedAutomationConfig( managingAppDisplayNames = listOf( LocalizedText(text = "My custom SmartApp", locale = "en-US"), LocalizedText(text = "Mi aplicación personalizada", locale = "es-MX") ) )Crea l'istanza di automazione utilizzando
Automation.Builder.- Imposta il
namedell'automazione. - Imposta
client_feature_groupsu"APP_MANAGED_EXECUTION_REPORTED"in modo che la cronologia di esecuzione dell'automazione venga visualizzata nella scheda Attività in GHA. - Imposta
automationGraph. - Facoltativo Imposta l'
appManagedAutomationConfigdell'automazione (vedi il passaggio 2).
- Imposta il
Infine, chiama
build()per creare l'istanzaAutomation.
Questo esempio mostra l'intera procedura:
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