アプリ管理の自動化とは、パートナー アプリが Automation API を使用してプログラムで構築する自動化のことです。
このような自動化は、Google Home app (GHA) 自動化リストに表示されないように抑制されます。
アプリ管理の自動化がトリガーされたときに Home API のアクティビティ フィードに書き込まれる情報は、カスタマイズすることも、完全に抑制することもできます。たとえば、パートナーがアプリ管理の自動化を使用して実装された「Arctic」というブランド サービスを提供している場合、パートナーは、アプリ管理の自動化が実行されるときに、実際には自動化名ではなく、アクティビティ フィードで Arctic サービスが参照されるように指定できます。
アプリ管理の自動化を作成する
アプリ管理の自動化を作成する手順は次のとおりです。
自動化のロジック グラフを構築します。
省略可: 自動化のアクティビティをアクティビティ フィードに表示する場合は、自動化の名前の代わりにフィードに表示するローカライズされたメッセージを
AppManagedAutomationConfigインスタンスに設定します。アプリやサービスのローカライズされた名前や、任意のメッセージを指定できます。ローカライズされた文字列を指定しない場合、自動化の実行は他の自動化と同様にログに記録されます。最適なユーザー エクスペリエンスを実現するため、これらのローカライズされた文字列を設定することをおすすめします。val myAutomationConfig = AppManagedAutomationConfig( managingAppDisplayNames = listOf( LocalizedText(text = "My custom SmartApp", locale = "en-US"), LocalizedText(text = "Mi aplicación personalizada", locale = "es-MX") ) )Automation.Builderを使用して自動化インスタンスを作成します。- 自動化の
nameを設定します。 - 自動化の実行履歴を GHA の [アクティビティ] タブに表示する場合は
client_feature_groupを"APP_MANAGED_EXECUTION_REPORTED"に設定し、自動化の実行履歴を表示しない場合は"APP_MANAGED_EXECUTION_UNREPORTED"に設定します。 automationGraphを設定します。- 省略可: 自動化の
appManagedAutomationConfigを設定します(ステップ 2 を参照)。
- 自動化の
最後に、
build()を呼び出してAutomationインスタンスをビルドします。
この例は、手順全体を示しています。
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