Automatyzacje zarządzane przez aplikację to automatyzacje tworzone programowo przez aplikację partnera za pomocą interfejsu Automation API.
Takie automatyzacje nie będą wyświetlane na liście automatyzacjiGoogle Home app (GHA).
Informacje zapisywane na karcie działań interfejsów Home API po uruchomieniu automatyzacji zarządzanej przez aplikację można dostosować lub całkowicie pominąć. Jeśli na przykład partner oferuje usługę marki o nazwie „Arctic”, która jest wdrażana za pomocą automatyzacji zarządzanych przez aplikację, może określić, że gdy uruchamiane są automatyzacje zarządzane przez aplikację, w kanale aktywności zamiast rzeczywistej nazwy automatyzacji pojawia się odniesienie do usługi Arctic.
Tworzenie automatyzacji zarządzanej przez aplikację
Aby utworzyć automatyzację zarządzaną przez aplikację, wykonaj te czynności.
Zbuduj graf logiki automatyzacji.
Opcjonalnie: jeśli chcesz, aby aktywność automatyzacji pojawiała się w pliku aktywności, możesz wypełnić instancję
AppManagedAutomationConfigzlokalizowaną wiadomością, która ma się w nim pojawiać zamiast nazwy automatyzacji. Mogą to być zlokalizowane nazwy aplikacji lub usługi albo dowolne inne wiadomości. Jeśli nie podasz żadnych zlokalizowanych ciągów znaków, wykonania automatyzacji będą rejestrowane tak jak w przypadku każdej innej automatyzacji. Aby zapewnić użytkownikom jak najlepsze wrażenia, zalecamy ustawienie tych zlokalizowanych ciągów tekstowych.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", jeśli chcesz, aby historia wykonania automatyzacji pojawiała się na karcie Aktywność w GHA, lub na"APP_MANAGED_EXECUTION_UNREPORTED", jeśli nie chcesz, aby historia wykonania automatyzacji się pojawiała. - Ustaw
automationGraph. - Opcjonalnie: ustaw
appManagedAutomationConfigautomatyzacji (patrz krok 2).
- Ustaw
Na koniec wywołaj
build(), aby utworzyć instancjęAutomation.
Przykład pokazujący 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_UNREPORTED") // b. set the clientFeatureGroup
.setAutomationGraph(automationGraph) // c. Attach the logic graph
.setAppManagedAutomationConfig(myCustomConfig) // d. Set the automationConfig
.build() // 4. build the automation