Automatyzacje zarządzane przez aplikacje to automatyzacje tworzone programowo przez aplikację partnera za pomocą interfejsu Automation API.
Takie automatyzacje nie są wyświetlane na liście automatyzacji Google Home app (GHA).
Informacje zapisywane na karcie aktywności interfejsów API Google Home po uruchomieniu automatyzacji zarządzanej przez aplikację można dostosować. Jeśli na przykład partner oferuje usługę o nazwie „Arctic”, która jest wdrażana za pomocą automatyzacji zarządzanych przez aplikację, może określić, że gdy te automatyzacje są uruchamiane, w kanale aktywności zamiast rzeczywistej nazwy automatyzacji jest wyświetlana nazwa usługi Arctic.
Tworzenie automatyzacji zarządzanej przez aplikację
Aby utworzyć automatyzację zarządzaną przez aplikację, wykonaj te czynności.
Utwórz wykres logiczny automatyzacji.
Aby dostosować sposób wyświetlania aktywności automatyzacji na karcie aktywności, wypełnij instancję
AppManagedAutomationConfigzlokalizowanym komunikatem, który ma się pojawiać na karcie zamiast nazwy automatyzacji. Może to być zlokalizowana nazwa aplikacji lub usługi albo dowolny inny komunikat. Jeśli nie podasz żadnych zlokalizowanych ciągów znaków, wykonania automatyzacji będą rejestrowane tak samo jak w przypadku innych automatyzacji. Google zaleca ustawienie tych zlokalizowanych ciągów znaków, aby zapewnić użytkownikom jak najlepsze wrażenia.val myAutomationConfig = AppManagedAutomationConfig( managingAppDisplayNames = listOf( LocalizedText(text = "My custom SmartApp", locale = "en-US"), LocalizedText(text = "Mi aplicación personalizada", locale = "es-MX") ) )Utwórz instancję automatyzacji za pomocą
Automation.Builder.- Ustaw
nameautomatyzacji. - Ustaw
client_feature_groupna"APP_MANAGED_EXECUTION_REPORTED", aby historia wykonywania automatyzacji była widoczna na karcie Aktywność w aplikacji GHA. - Ustaw
automationGraph. - Opcjonalnie: ustaw
appManagedAutomationConfigautomatyzacji (patrz krok 2).
- Ustaw
Na koniec wywołaj
build(), aby utworzyć instancjęAutomation.
Ten przykład pokazuje całą procedurę:
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