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.let automationConfig = AppManagedAutomationConfig( managingAppDisplayNames: [ 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 GoogleHomeSDK
import GoogleHomeTypes
let devices = try await home.devices().list()
let mySensor: HomeDevice = devices.first(where: {
$0.types.contains(OccupancySensorDeviceType.self) &&
$0.structureID == structure.id
})
let myLight: HomeDevice = devices.first(
where: {
$0.types.contains(OnOffLightDeviceType.self) &&
$0.structureID == structure.id
}
)
// 1. Create logic graph
let starterNode = StarterNode(
device: mySensor,
trait: Matter.OccupancySensingTrait.self
)
let actionNode = ActionNode(
device: myLight,
command: Matter.OnOffTrait.on()
)
// Bundle nodes into a sequential graph
let automationGraph = SequentialFlow(
nodes: [starterNode, actionNode]
)
// 2. Build the AppManagedAutomationConfig with the localized app names
let automationConfig = 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
let myFunctionalAutomation = try AutomationBuilder()
.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(automationConfig) // d. Set the automationConfig
.build() // 4. build the automation