Otomatisasi yang dikelola aplikasi adalah otomatisasi yang dibuat secara terprogram oleh aplikasi partner menggunakan Automation API.
Otomatisasi tersebut tidak akan muncul dalam daftar otomatisasi Google Home app (GHA).
Informasi yang ditulis ke feed aktivitas Home API saat otomatisasi yang dikelola aplikasi dipicu dapat disesuaikan, atau dihentikan sepenuhnya. Misalnya, jika partner menawarkan layanan bermerek bernama "Arktik" yang diterapkan menggunakan otomatisasi yang dikelola aplikasi, partner dapat menentukan bahwa saat otomatisasi yang dikelola aplikasi mereka berjalan, layanan Arktik dirujuk di feed aktivitas, bukan nama otomatisasi sebenarnya.
Membuat otomatisasi yang dikelola aplikasi
Untuk membuat otomatisasi yang dikelola aplikasi, gunakan prosedur berikut.
Buat grafik logika otomatisasi.
Opsional Jika Anda ingin aktivitas otomatisasi muncul di feed aktivitas, Anda dapat mengisi instance
AppManagedAutomationConfigdengan pesan yang dilokalkan yang ingin Anda tampilkan di feed sebagai pengganti nama otomatisasi. Pesan ini dapat berupa nama aplikasi atau layanan yang dilokalkan, atau pesan lain yang Anda inginkan. Jika Anda tidak memberikan string yang dilokalkan, eksekusi otomatisasi dicatat seperti eksekusi otomatisasi lainnya. Google merekomendasikan agar Anda menyetel string yang dilokalkan ini untuk memastikan pengalaman pengguna terbaik.val myAutomationConfig = AppManagedAutomationConfig( managingAppDisplayNames = listOf( LocalizedText(text = "My custom SmartApp", locale = "en-US"), LocalizedText(text = "Mi aplicación personalizada", locale = "es-MX") ) )Buat instance otomatisasi menggunakan
Automation.Builder.- Tetapkan
nameotomatisasi. - Tetapkan
client_feature_groupke"APP_MANAGED_EXECUTION_REPORTED"jika Anda ingin histori eksekusi otomatisasi muncul di tab Aktivitas di GHA, atau"APP_MANAGED_EXECUTION_UNREPORTED"jika Anda tidak ingin histori eksekusi otomatisasi muncul. - Tetapkan
automationGraph. - Opsional Tetapkan
appManagedAutomationConfigotomatisasi (lihat Langkah 2).
- Tetapkan
Terakhir, panggil
build()untuk membuat instanceAutomation.
Contoh ini menunjukkan seluruh prosedur:
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