কমিশনিং এপিআই একটি অ্যাপকে নিম্নলিখিতগুলির মধ্যে যেকোনো একটি কমিশন করার অনুমতি দেয়:
- তোমার কাপড় আর গুগলের কাপড়।
- শুধুমাত্র গুগল ফ্যাব্রিক।
ম্যাটার ডিভাইসগুলি কমিশন করার উপায়
কমিশনিং প্রক্রিয়া শুরু করা যেতে পারে:
আপনার অ্যাপে সরাসরি কমিশনিংয়ের অনুরোধ করুন
অ্যাপে সরাসরি কমিশনিংয়ের অনুরোধ অ্যাপের একটি বোতামের মাধ্যমে ট্রিগার করা যেতে পারে এবং এটি দুটি উপায়ে করা যেতে পারে:
একক কাপড়ের জন্য
কমিশনিং অনুরোধ করতে:
আপনার অ্যাক্টিভিটিতে একটি
ActivityResultLauncherচালু করুন। যদি ব্যবহারকারী Google ফ্যাব্রিকে ডিভাইসটি চালু করে থাকেন, তাহলে ফলাফলে ব্যবহারকারীর দ্বারা নির্ধারিত নামটি অন্তর্ভুক্ত থাকতে পারে।private val commissioningLauncher = registerForActivityResult(StartIntentSenderForResult()) { result -> val resultCode = result.resultCode if (resultCode == RESULT_OK) { Log.i("CommissioningActivity", "Commissioning success") val deviceName = CommissioningResult.fromIntentSenderResult(result.resultCode, result.data).deviceName } else { Log.i("CommissioningActivity", "Commissioning failed") } }setStoreToGoogleFabricব্যবহার করে, প্রাপ্ত পেলোড ডেটা সহ একটিCommissioningRequestতৈরি করুন এবং ডিভাইসটিকে Google ফ্যাব্রিকে কমিশন করার বিকল্পটি সেট করুন:val commissioningRequest = CommissioningRequest.builder() .setOnboardingPayload(payload) .setStoreToGoogleFabric(true) // set all other options that you care about .build()আপনি যদি ডিভাইসটিকে গুগল ফ্যাব্রিকের পাশাপাশি আপনার নিজস্ব ফ্যাব্রিকে কমিশন করতে চান, তাহলে
CommissioningRequestএsetCommissioningServiceদিয়ে আপনার কমিশনিং পরিষেবা সেট করুন।কমিশনিং শুরু করতে
CommissioningClientইনস্ট্যান্স ব্যবহার করুন:commissioningClient .commissionDevice(commissioningRequest) .addOnSuccessListener { result -> Log.i("CommissioningActivity", "Commissioning success") _commissioningIntentSender.postValue(result) } .addOnFailureListener { error -> Log.i("CommissioningActivity", "Commissioning failed") }যেখানে
_commissioningIntentSenderকে এভাবে সংজ্ঞায়িত করা হয়েছে:private val _commissioningIntentSender = MutableLiveData<IntentSender?>() val commissioningIntentSender: LiveData<IntentSender?> get() = _commissioningIntentSenderCommissioningClientএকবার ইনটেন্ট প্রেরক ফেরত দিলে, প্রেরক চালু করুন:commissioningIntentSender.observe(this) { sender -> if (sender != null) { commissioningLauncher.launch(IntentSenderRequest.Builder(sender).build()) } }
একাধিক কাপড়ের জন্য (মাল্টি-অ্যাডমিন)
যদি আপনার একটি ডিভাইসে একাধিক Matter ফ্যাব্রিক সেট আপ করার প্রয়োজন হয়, তাহলে Android-এ Commissioning API-এর জন্য Multi-admin দেখুন।
ফাস্ট পেয়ার বা QR-কোড স্ক্যানিংয়ের জন্য ম্যাটার কমিশনিং এন্ট্রি পয়েন্ট (শুধুমাত্র অ্যান্ড্রয়েড)
অ্যান্ড্রয়েডে ফাস্ট পেয়ার বা QR কোডের মাধ্যমে কমিশনিংয়ের অনুরোধ দুটি উপায়ে করা যেতে পারে:
একক কাপড়ের জন্য
GHA ছাড়াই একটি অ্যাপের সম্পূর্ণ কমিশনিং ক্ষমতা প্রদান করতে ACTION_START_COMMISSIONING ইন্টেন্ট ফিল্টার ব্যবহার করুন। Google ফ্যাব্রিকে কমিশন করার সময়, ব্যবহারকারীকে ডিভাইসের একটি নাম নির্ধারণ করার অনুমতি দেওয়া অন্তর্ভুক্ত।

ACTION_START_COMMISSIONING ব্যবহার করে কমিশনিং ফ্লো Google ফ্যাব্রিক কমিশনিংয়ের জন্য সমর্থন নির্দেশ করতে, আপনার AndroidManifest.xml ফাইলের মধ্যে নির্বাচিত কার্যকলাপ ঘোষণায় নিম্নলিখিত intent-filter যোগ করুন:
<intent-filter>
<action android:name="com.google.android.gms.home.matter.ACTION_START_COMMISSIONING" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
কমিশনিং APIs অ্যাপ পিকারে প্রস্তাবিত Matter অ্যাপের তালিকায় আপনার অ্যাপটি অন্তর্ভুক্ত করার জন্য intent-filter ব্যবহার করা হয়। যদি আপনার অ্যাপটি প্রস্তাবিত অ্যাপগুলির মধ্যে একটি না হয়, তাহলে এটি "অন্য অ্যাপ বেছে নিন" বিকল্পে প্রদর্শিত হবে।
ব্যবহারকারী আপনার অ্যাপটি নির্বাচন করার পর, আপনার অ্যাপটি চালু হবে এবং ACTION_START_COMMISSIONING অভিপ্রায় সহ নির্বাচিত কার্যকলাপে পরিচালিত হবে।
একাধিক কাপড়ের জন্য (মাল্টি-অ্যাডমিন)
আপনি মাল্টি-অ্যাডমিন পরিস্থিতিতেও FastPair প্রবাহ ব্যবহার করতে পারেন। আরও তথ্যের জন্য, Android এ API কমিশন করার জন্য মাল্টি-অ্যাডমিন দেখুন।
আগত উদ্দেশ্য পরিচালনা করুন
আপনার কার্যকলাপ চালু হয়ে গেলে, এটি বিদ্যমান ACTION_START_COMMISSIONING উদ্দেশ্য পরীক্ষা করবে এবং পেলোড পুনরুদ্ধার করবে:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val payload = if (Matter.ACTION_START_COMMISSIONING.equals(intent.getAction())) {
intent.getStringExtra(Matter.EXTRA_ONBOARDING_PAYLOAD)
} else {
null
}
CommissioningRequest.builder()
.setOnboardingPayload(payload)
.setStoreToGoogleFabric(true)
// set all other options that you care about
startCommissioning(commissioningRequest)
}
একটি পেলোড মান যা null নয় তা নির্দেশ করে যে ব্যবহারকারী ইতিমধ্যেই ডিভাইসের QR কোড স্ক্যান করেছেন, অথবা পেয়ারিং কী প্রবেশ করিয়েছেন। একটি null পেলোড মান মানে এই নয় যে কমিশনিং বাতিল করা উচিত।
কমিশনযোগ্য আবিষ্কারের বিজ্ঞপ্তিগুলি দমন করুন

ডিফল্টরূপে, Android Google Play services "হাফশিট" বিজ্ঞপ্তি ব্যবহার করে যা মোবাইল ডিভাইসের স্ক্রিনের নীচের অর্ধেক অংশ জুড়ে থাকে যাতে ব্যবহারকারীদের একটি সক্রিয় ইঙ্গিত দেওয়া হয় যে কমিশনযোগ্য Matter ডিভাইসগুলি কাছাকাছি রয়েছে।
আপনার অ্যাপটি ফোরগ্রাউন্ডে থাকাকালীন কোনও বাধা এড়াতে, আপনি suppressHalfSheetNotification() পদ্ধতিটি কল করে এই বিজ্ঞপ্তিগুলি বন্ধ করতে পারেন। আরও তথ্যের জন্য API ডকুমেন্টেশন দেখুন।
যদি আপনার অ্যাপটি ১৫ মিনিটের বেশি সময় ধরে ফোরগ্রাউন্ডে থাকে, তাহলে এই API দ্বারা সক্রিয় করা সাপ্রেশনের সময়সীমা শেষ হয়ে যায়। টাইমআউটের পরে সাপ্রেশন পুনরায় সক্ষম করতে, আবার suppressHalfSheetNotification() কল করুন, অন্যথায় হাফশিট বিজ্ঞপ্তিগুলি প্রদর্শিত হতে শুরু করবে।
আপনার কাপড়ের ম্যাটার ডিভাইসগুলি গুগলের সাথে কীভাবে শেয়ার করা উচিত?
গুগল দৃঢ়ভাবে সুপারিশ করছে যে আপনি আপনার নিজস্ব ফ্যাব্রিকে সেট আপ করা ডিভাইসটি গুগল ফ্যাব্রিকের সাথে শেয়ার করার প্রাথমিক মাধ্যম হিসেবে কমিশনিং এপিআই ব্যবহার করুন। শেয়ার এপিআই-এর কিছু সীমাবদ্ধতা রয়েছে এবং অন্যান্য ব্যবহারের ক্ষেত্রে এটি সংরক্ষিত থাকা উচিত।
কেন আপনার শেয়ার এপিআই-এর পরিবর্তে কমিশনিং এপিআই ব্যবহার করা উচিত?
কমিশনিং এপিআই আপনাকে গুগল ফ্যাব্রিকের সাথে সরাসরি ডিভাইস শেয়ারিং ট্রিগার করতে দেয়, যা কার্যকর হলে পছন্দের পদ্ধতি। শেয়ার এপিআইয়ের ক্ষেত্রে, শেষ ব্যবহারকারীর জন্য আরও পদক্ষেপের প্রয়োজন হয়। উদাহরণস্বরূপ, শেষ ব্যবহারকারীর অবশ্যই GHA ইনস্টল করা থাকতে হবে এবং সাফল্য নিশ্চিত করার জন্য তাদের অবশ্যই প্রক্রিয়া চলাকালীন GHA নির্বাচন করতে জানতে হবে।
কমিশনিং এপিআই ব্যবহার করার জন্য, আপনার কমিশনিং উইন্ডোটি খুলতে হবে এবং কমিশনিং এপিআই কল করতে হবে, যেমনটি সেকেন্ডারি ম্যাটার কমিশনার হিসেবে কমিশনিং এপিআই কীভাবে ব্যবহার করবেন তা বর্ণনা করা হয়েছে।
আপনার কখন শেয়ার API ব্যবহার করা উচিত?
আপনি শেয়ার API ব্যবহার করে শেষ ব্যবহারকারীকে অন্যান্য Matter ইকোসিস্টেমের সাথে একটি ডিভাইস সাধারণভাবে শেয়ার করার জন্য একটি যোগ্য অ্যাপ্লিকেশন বেছে নিতে দিতে পারেন।