অ্যাপ-ম্যানেজড অটোমেশন হল এমন অটোমেশন যা অটোমেশন API ব্যবহার করে পার্টনার অ্যাপের মাধ্যমে প্রোগ্রাম্যাটিকভাবে তৈরি করা হয়।
এই ধরনের অটোমেশন Google Home app (GHA) অটোমেশন তালিকায় দেখানো হয় না।
অ্যাপ-ম্যানেজড অটোমেশন ট্রিগার করা হলে Home API অ্যাক্টিভিটি ফিডে লেখা তথ্য কাস্টমাইজ করা যেতে পারে। যেমন, কোনও পার্টনার যদি "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সেট করুন (ধাপ ২ দেখুন)।
- অটোমেশনের
শেষে,
Automationইনস্ট্যান্স তৈরি করতেbuild()কল করুন।
এই উদাহরণে সম্পূর্ণ পদ্ধতি দেখানো হয়েছে:
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