ডেটা লেয়ার API ব্যবহার করে নেটওয়ার্কে ডিভাইসগুলি আবিষ্কার করুন

ডিভাইসগুলি সরাসরি Wi-Fi বা সেলুলার সংযোগ ব্যবহার করে বা পরোক্ষভাবে একটি জোড়া ব্লুটুথ ডিভাইসের মাধ্যমে ইন্টারনেটের সাথে একটি সংযোগ স্থাপন করতে পারে।

নাগালযোগ্য এবং কাছাকাছি নোড

একটি ডিভাইস যখন অনলাইনে থাকে এবং অন্য ডিভাইসের সাথে যোগাযোগের জন্য উপলব্ধ থাকে তখন তা সরাসরি ব্লুটুথের মাধ্যমে বা পরোক্ষভাবে ক্লাউডকে মধ্যস্থতাকারী হিসেবে ব্যবহার করার জন্য উপলব্ধ বলে বিবেচিত হয়।

ক্লাউড ব্যবহার না করেই ব্লুটুথের মাধ্যমে সরাসরি সংযুক্ত করা গেলে একটি ডিভাইসকে কাছাকাছি বলে মনে করা হয়।

ক্রিয়াকলাপ যা পুনঃসংযোগের সময়কে প্রভাবিত করে

নির্দিষ্ট পরিস্থিতিতে, ডিভাইসগুলির একটি সংযোগ পুনঃস্থাপন করতে 4 মিনিট পর্যন্ত সময় লাগতে পারে৷ এই পরিস্থিতিতে নিম্নলিখিত অন্তর্ভুক্ত:

  • Wear OS ডিভাইসের নিষ্ক্রিয়তা: যদি একটি Wear OS ডিভাইস ব্যবহারকারীর কব্জি থেকে সরানো হয় বা অন্যথায় একটি বর্ধিত সময়ের জন্য সক্রিয়ভাবে ব্যবহার না করা হয়, তাহলে পুনরায় সংযোগের সময় বাড়ানো হতে পারে।
  • ডোজ স্টেট: একটি হ্যান্ডহেল্ডের পাওয়ার-সেভিং ডোজ স্টেট ব্যাকগ্রাউন্ড প্রসেস সীমিত করতে পারে, সম্ভাব্যভাবে ডিভাইসের পুনঃসংযোগের সময় বাড়িয়ে দেয়।
  • ব্যবহারকারীর মিথস্ক্রিয়া: ব্যবহারকারী যদি প্রায় একই সময়ে একটি হ্যান্ডহেল্ড ডিভাইস এবং একটি Wear OS ডিভাইস উভয়ের সাথে ইন্টারঅ্যাক্ট শুরু করে, তবে এটি প্রায়শই পুনরায় সংযোগ প্রক্রিয়াটিকে ত্বরান্বিত করে।

একটি নোড ক্লায়েন্ট ব্যবহার করে সমস্ত ডিভাইস আবিষ্কার করুন

একটি NodeClient অবজেক্ট প্রতিটি ডিভাইসের সক্ষমতা নির্বিশেষে একটি নেটওয়ার্কের সাথে সংযুক্ত Android-চালিত ডিভাইসের তালিকায় শনাক্ত করে এবং সম্প্রচার করে। একটি ডিভাইসের সমস্ত অ্যাপ এই ইভেন্ট বিজ্ঞপ্তিগুলি পায়, যেমন একটি নতুন ডিভাইস নেটওয়ার্কে যোগদান করা বা একটি বিদ্যমান ডিভাইস অফলাইনে যাচ্ছে।

NodeClient ক্লাসটি আপনার অ্যাপ ইনস্টল করা নেই এমন ডিভাইসগুলি আবিষ্কার করার জন্য বিশেষভাবে সহায়ক।

একটি সক্ষমতা ক্লায়েন্ট ব্যবহার করে নির্দিষ্ট ডিভাইস আবিষ্কার করুন

একটি CapabilityClient অবজেক্ট Wear OS নেটওয়ার্কের কোন ডিভাইসগুলি নির্দিষ্ট অ্যাপের ক্ষমতা সমর্থন করে সে সম্পর্কে তথ্য প্রদান করে। একটি ক্ষমতা হল এমন একটি বৈশিষ্ট্য যা একটি অ্যাপ বিল্ড টাইমে সংজ্ঞায়িত করে বা রানটাইমে গতিশীলভাবে কনফিগার করে

উদাহরণস্বরূপ, একটি মোবাইল অ্যান্ড্রয়েড অ্যাপ বিজ্ঞাপন দিতে পারে যে এটি ভিডিও প্লেব্যাকের রিমোট কন্ট্রোল সমর্থন করে। অ্যাপটির Wear OS সংস্করণটি CapabilityClient ব্যবহার করে অ্যাপের মোবাইল সংস্করণটি কাছাকাছি কোনও ডিভাইসে ইনস্টল করা আছে কিনা এবং সেই বৈশিষ্ট্যটিকে সমর্থন করে কিনা তা পরীক্ষা করতে পারে। যদি এটি হয়ে থাকে, Wear OS অ্যাপ প্লে এবং পজ বোতামগুলি দেখাতে পারে যাতে ব্যবহারকারীরা তাদের Wear OS ডিভাইস থেকে তাদের মোবাইল ডিভাইসে চালানো একটি ভিডিও নিয়ন্ত্রণ করতে পারে। ক্ষমতা সম্প্রচার বিপরীত দিকেও কাজ করে; Wear OS অ্যাপগুলি তাদের সমর্থন করে এমন ক্ষমতার তালিকা করতে পারে।

আপনার অ্যাপের নতুন ক্ষমতা পরীক্ষা করুন

আপনার সাথে যোগাযোগ করতে হবে এমন একটি ডিভাইসের নোড আইডি নির্ধারণ করতে CapabilityClient ব্যবহার করুন। উদাহরণস্বরূপ, যদি আপনার হ্যান্ডহেল্ড ডিভাইসগুলিতে আপনার অ্যাপে একটি নতুন বৈশিষ্ট্যের উপস্থিতি পরীক্ষা করতে হয় তবে হ্যান্ডহেল্ডের পাশে সেই নতুন বৈশিষ্ট্যটির জন্য একটি ক্ষমতা তৈরি করুন। আপনার Wear OS অ্যাপটি সেই ক্ষমতা সমর্থন করে এমন ডিভাইসগুলির জন্য অনুসন্ধান করতে পারে। যদি সমস্ত ডিভাইসে সক্ষমতা অনুপস্থিত থাকে, তাহলে এর মানে হল যে ব্যবহারকারীর কাছে আপনার অ্যাপের এমন কোনো সংস্করণ নেই যা এই বৈশিষ্ট্যটিকে সমর্থন করে, যেটি আপনার অ্যাপের যুক্তিতে আপনাকে সুন্দরভাবে পরিচালনা করা উচিত। আপনি যদি ধরে নেন যে হ্যান্ডহেল্ড ডিভাইসটি সর্বদা যোগাযোগের জন্য সঠিক নোড, তাহলে আপনার বার্তাগুলি শেষ না হতে পারে, কারণ ফোন অ্যাপটি বৈশিষ্ট্যটিকে সমর্থন করে না।

একটি Wear OS ডিভাইস একটি নেটওয়ার্কে একমাত্র কিনা তা নির্ধারণ করুন

আপনার অ্যাপটি অবশ্যই স্বতন্ত্র মোডে কাজ করবে কিনা তা পরীক্ষা করতে আপনি CapabilityClient ব্যবহার করতে পারেন কারণ অন্য কোনও Android-চালিত ডিভাইস কাছাকাছি নেই। FILTER_ALL এ পাস করলে, ফলাফলে অন্য কোনো ডিভাইস উপস্থিত হবে না।