هي عمليات تشغيل آلي يتم إنشاؤها آليًا بواسطة تطبيق شريك باستخدام Automation API.
ويتم منع ظهور عمليات التشغيل الآلي هذه في قائمة عمليات التشغيل الآلي في Google Home app (GHA).
يمكن تخصيص المعلومات التي تتم كتابتها في خلاصة أنشطة واجهات برمجة تطبيقات Home عند تفعيل عملية تشغيل آلي يديرها التطبيق. على سبيل المثال، إذا كان الشريك يقدّم خدمة تحمل علامة تجارية باسم "Arctic" ويتم تنفيذها باستخدام عمليات التشغيل الآلي التي يديرها التطبيق، يمكن للشريك تحديد أنّه عند تشغيل عمليات التشغيل الآلي التي يديرها التطبيق، تتم الإشارة إلى خدمة Arctic في خلاصة الأنشطة بدلاً من اسم عملية التشغيل الآلي الفعلي.
إنشاء عملية تشغيل آلي يديرها التطبيق
لإنشاء عملية أتمتة يديرها التطبيق، اتّبِع الإجراء التالي.
أنشِئ الرسم البياني المنطقي لعملية التشغيل الآلي.
لتخصيص طريقة ظهور نشاط التشغيل الآلي في خلاصة الأنشطة، يمكنك تعبئة مثيل
AppManagedAutomationConfigبالرسالة المترجَمة التي تريد ظهورها في الخلاصة بدلاً من اسم التشغيل الآلي. يمكن أن تكون هذه الأسماء المترجَمة لتطبيق أو خدمة، أو أي رسالة أخرى تريدها. إذا لم تقدّم أي سلاسل مترجَمة، سيتم تسجيل عمليات تنفيذ التشغيل الآلي مثل أي عملية تشغيل آلي أخرى. تنصحك Google بضبط هذه السلاسل المترجَمة لضمان تقديم أفضل تجربة للمستخدم.let automationConfig = AppManagedAutomationConfig( managingAppDisplayNames: [ LocalizedText(text: "My Custom SmartApp", locale: "en-US"), LocalizedText(text: "Mi aplicación personalizada", locale: "es-MX") ] )أنشئ مثيل التشغيل الآلي باستخدام
Automation.Builder.- اضبط
nameالتشغيل الآلي. - اضبط
client_feature_groupعلى"APP_MANAGED_EXECUTION_REPORTED"ليظهر سجلّ تنفيذ عملية التشغيل الآلي في علامة التبويب "النشاط" في GHA. - اضبط السمة
automationGraph. - اختياري اضبط
appManagedAutomationConfigلعملية التشغيل الآلي (راجِع الخطوة 2).
- اضبط
أخيرًا، استدعِ
build()لإنشاء مثيلAutomation.
يوضّح هذا المثال الإجراء بأكمله:
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_REPORTED") // b. set the clientFeatureGroup
.setAutomationGraph(automationGraph) // c. Attach the logic graph
.setAppManagedAutomationConfig(automationConfig) // d. Set the automationConfig
.build() // 4. build the automation