iOS-এর জন্য হোম এপিআইগুলি একটি ফ্যাব্রিকে একটি ডিভাইস চালু করতে একটি Matter হাব ব্যবহার করে। কমিশনিংয়ের সময়, অ্যাপটি SDK এবং তারপর হাবে একটি কমান্ড পাঠায়।
একটি Matter ডিভাইস কমিশন করতে:
- structure.prepareForMatterCommissioning()এর সাথে Matter কমিশনিং অনুরোধের জন্য প্রস্তুত করতে- Home APIs iOS SDKঅবহিত করুন। এই কমান্ড নিম্নলিখিত কাজ করবে:- অনুমতি দেওয়া হয়েছে যাচাই করুন.
- নিশ্চিত করুন যে হাব অনলাইন এবং পৌঁছানো যায়।
- নিশ্চিত করুন যে অন্য কোন সক্রিয় কমিশনিং সেশন নেই।
 - do { try await structure.prepareForMatterCommissioning() } catch { Logger.error("Failed to prepare for Matter Commissioning: \(error).") return }
- অ্যাপলের Matter সাপোর্ট ফ্লো শুরু করতে - MatterAddDeviceRequest()দিয়ে একটি অনুরোধ তৈরি করুন।- let topology = MatterAddDeviceRequest.Topology( ecosystemName: "Google Home", homes: [MatterAddDeviceRequest.Home(displayName: structure.name)] ) let request = MatterAddDeviceRequest(topology: topology)
- perform()দিয়ে অনুরোধটি সম্পাদন করুন। কোনো ত্রুটি দেখা দিলে,- structure.cancelMatterCommissioning()দিয়ে কমিশনিং অনুরোধ বাতিল করুন।- do { Logger.info("Starting MatterAddDeviceRequest.") try await request.perform() Logger.info("Successfully completed MatterAddDeviceRequest.") let commissionedDeviceIDs = try structure.completeMatterCommissioning() Logger.info("Commissioned device IDs: \(commissionedDeviceIDs).") } catch let error { structure.cancelMatterCommissioning() Logger.error("Failed to complete MatterAddDeviceRequest: \(error).") }
- অ্যাপল ডেভেলপার কনসোলে একটি - App Group IDতৈরি করুন যাতে অ্যাপটিকে ডিভাইসটি চালু করার সময়- MatterAddDeviceএক্সটেনশনের সাথে যোগাযোগ করতে দেয়।- এই গ্রুপ আইডি ব্যবহার করার জন্য আপনাকে আপনার অ্যাপ্লিকেশন বান্ডেল শনাক্তকারী এবং প্রভিশনিং প্রোফাইল আপডেট করতে হবে। 
- আরম্ভ করার সময়, গ্রুপ শনাক্তকারী ব্যবহার করতে - Homeইনস্ট্যান্স কনফিগার করুন।- func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { Home.configure { $0.sharedAppGroup = "group.com.sample.app.commissioning" } return true }
- Apple থেকে iOS Matter অ্যাপ এক্সটেনশন প্রয়োগ করুন। - নমুনা কোড অ্যাপলের - MatterAddDeviceExtensionRequestHandlerAPI- এর একটি সাবক্লাস বাস্তবায়নের একটি উদাহরণ দেখায়।- সর্বনিম্নভাবে, এক্সটেনশন টার্গেটে - GoogleHomeMatterCommissionerSDKফ্রেমওয়ার্ক যোগ করুন এবং Google Home platform- HomeMatterCommissionerAPIs কল করার জন্য তিনটি পদ্ধতি ওভাররাইড করুন।-  commissionDevice
-  rooms
-  configureDevice
 - import MatterSupport import GoogleHomeMatterCommissionerSDK import OSLog final class RequestHandler: MatterAddDeviceExtensionRequestHandler { // The App Group ID defined by the application to share information between the extension and main app. private static var appGroup = "group.com.sample.app.commissioning" ... // MARK: - Home API commissioning handlers /// Commissions a device to the Google Home ecosystem. /// - Parameters: /// - home: The home that the device will be added to /// - onboardingPayload: The payload to be sent to the Matter Commissioning SDK to commission the device. /// - commissioningID: An identifier not used by the Home API SDK. override func commissionDevice(in home: MatterAddDeviceRequest.Home?, onboardingPayload: String, commissioningID: UUID) async throws { Logger.info("Commission Matter device with payload: '\(onboardingPayload)'.") var onboardingPayloadForHub = onboardingPayload let homeMatterCommissioner = try HomeMatterCommissioner(appGroup: RequestHandler.appGroup) try await homeMatterCommissioner.commissionMatterDevice( onboardingPayload: onboardingPayloadForHub) } /// Obtains rooms from the Home Ecosystem to present to the user during the commissioning flow. /// - Parameter home: The home that the device will be added to. /// - Returns: A list of rooms if obtained from the Google Home ecosystem or an empty list if there was an error in getting them. override func rooms(in home: MatterAddDeviceRequest.Home?) async -> [MatterAddDeviceRequest.Room] { do { let homeMatterCommissioner = try HomeMatterCommissioner(appGroup: RequestHandler.appGroup) let fetchedRooms = try homeMatterCommissioner.fetchRooms() Logger.info("Returning \(fetchedRooms.count) fetched rooms.") return fetchedRooms } catch { Logger.info("Failed to fetch rooms with error: \(error).") return [] } } /// Pushes the device's configurations to the Google Home Ecosystem. /// - Parameters: /// - name: The friendly name the user chose to set on the device. /// - room: The room identifier that the user chose to put the device in. override func configureDevice(named name: String, in room: MatterAddDeviceRequest.Room?) async { Logger.info("Configure Device name: '\(name)', room: \(room?.displayName ?? "").") do { let homeMatterCommissioner = try HomeMatterCommissioner(appGroup: RequestHandler.appGroup) await homeMatterCommissioner.configureMatterDevice( deviceName: name, roomName: room?.displayName) } catch { Logger.info("Configure Device failed with error: \(error).") } } }
-