ওয়্যারেবল ডেটা লেয়ার এপিআই, যা গুগল প্লে সার্ভিসের একটি অংশ, পরিধানযোগ্য ডিভাইস (যেমন স্মার্ট ঘড়ি) এবং সংযুক্ত হ্যান্ডহেল্ড ডিভাইস (সাধারণত স্মার্টফোন)-এর মধ্যে যোগাযোগের একটি মাধ্যম প্রদান করে। এটি ডিভাইসগুলোর মধ্যে ডেটা সিঙ্ক্রোনাইজ এবং স্থানান্তর করার একটি উপায়।
দ্রষ্টব্য: এই API শুধুমাত্র Wear OS ঘড়ি এবং পেয়ার করা অ্যান্ড্রয়েড ডিভাইসে উপলব্ধ। iOS ফোনের সাথে পেয়ার করা Wear OS ঘড়ির ক্ষেত্রে, ইন্টারনেট সংযোগ থাকলে অ্যাপগুলি অন্যান্য ক্লাউড-ভিত্তিক API ব্যবহার করতে পারে। এই অন্যান্য API সম্পর্কে আরও তথ্যের জন্য, Wear OS-এ নেটওয়ার্ক অ্যাক্সেস এবং সিঙ্ক দেখুন।
সতর্কতা: যেহেতু ডেটা লেয়ার এপিআইগুলো হ্যান্ডহেল্ড এবং ওয়্যারেবল ডিভাইসগুলোর মধ্যে যোগাযোগের জন্য ডিজাইন করা হয়েছে, তাই এই ডিভাইসগুলোর মধ্যে যোগাযোগ স্থাপন করতে আপনি শুধুমাত্র এই এপিআইগুলোই ব্যবহার করতে পারবেন। উদাহরণস্বরূপ, একটি কমিউনিকেশন চ্যানেল তৈরি করার জন্য লো-লেভেল সকেট খোলার চেষ্টা করবেন না।
সাধারণ ব্যবহারের ক্ষেত্রগুলি
যখন মিথস্ক্রিয়াটি শুধুমাত্র ঘড়ি এবং ফোনের মধ্যে হয়, তখন ডেটা লেয়ার এপিআই ব্যবহার করুন। উদাহরণস্বরূপ:
- রিমোট কন্ট্রোল : ঘড়িটি ফোনের রিমোট হিসেবে কাজ করে (যেমন, ফোনে চলা মিউজিক প্লেয়ার নিয়ন্ত্রণ করা, প্রেজেন্টেশন স্লাইড করা, ক্যামেরার শাটার হিসেবে কাজ করা)।
- হ্যান্ডহেল্ড অ্যাপ চালু করা : "ফোনে খুলুন" বোতাম বৈশিষ্ট্য।
- প্রমাণীকরণ ব্রিজিং : প্রাথমিক সেটআপের সময় ফোন থেকে ঘড়িতে একটি সেশন টোকেন পাঠানো।
অনেক সাধারণ পরিস্থিতিতে এর পরিবর্তে আপনার বিদ্যমান ক্লাউড পরিকাঠামো ব্যবহার করা উচিত, উদাহরণস্বরূপ:
- ডেটা সংরক্ষণ : ওয়ার্কআউট, নোট।
- বিষয়বস্তু সংগ্রহ করা : পূর্ববর্তী ওয়ার্কআউটের তালিকা লোড করা, গান ডাউনলোড করা, আবহাওয়ার তথ্য সংগ্রহ করা।
- অবস্থা সিঙ্ক করা : যদি ব্যবহারকারী ওয়েবে তার প্রোফাইল ফটো পরিবর্তন করেন, তাহলে ঘড়িটি ফোনের সাথে যোগাযোগ না করে ক্লাউড ব্যবহার করে আপডেট হয়।
এইসব ক্ষেত্রে, ডেটা লেয়ার এপিআই-এর পরিবর্তে আপনার নিজস্ব বিদ্যমান এন্ডপয়েন্ট ও পরিকাঠামো ব্যবহার করুন।
যোগাযোগের বিকল্প
নিম্নলিখিত উপায়গুলির মধ্যে কোনো একটিতে ডেটা স্থানান্তর করা হয়:
- সরাসরি , যখন Wear OS ডিভাইস এবং অন্য কোনো ডিভাইসের মধ্যে একটি ব্লুটুথ সংযোগ স্থাপিত হয়।
- এলটিই বা ওয়াই-ফাই-এর মতো কোনো উপলব্ধ নেটওয়ার্কের মাধ্যমে , গুগলের সার্ভারে থাকা একটি নেটওয়ার্ক নোডকে মধ্যস্থতাকারী হিসেবে ব্যবহার করে।
সমস্ত ডেটা লেয়ার ক্লায়েন্ট, ডিভাইসগুলিতে উপলব্ধ সংযোগের উপর নির্ভর করে, ব্লুটুথ অথবা ক্লাউড ব্যবহার করে ডেটা আদান-প্রদান করতে পারে। ধরে নিন যে, ডেটা লেয়ার ব্যবহার করে প্রেরিত ডেটা কোনো এক পর্যায়ে গুগলের মালিকানাধীন সার্ভার ব্যবহার করতে পারে।
ব্লুটুথ
যখন ডিভাইসগুলো ব্লুটুথ ব্যবহার করে সংযুক্ত করা হয়, তখন ডেটা লেয়ার এই সংযোগটি ব্যবহার করে। ডিভাইসগুলোর মধ্যে একটিমাত্র এনক্রিপ্টেড চ্যানেল থাকে, যা স্ট্যান্ডার্ড ব্লুটুথ এনক্রিপশন ব্যবহার করে এবং গুগল প্লে সার্ভিসেস দ্বারা পরিচালিত হয়।
ক্লাউড
ব্লুটুথ উপলব্ধ না থাকলে ডেটা স্বয়ংক্রিয়ভাবে গুগল ক্লাউডের মাধ্যমে প্রেরিত হয়। গুগল ক্লাউডের মাধ্যমে স্থানান্তরিত সমস্ত ডেটা এন্ড-টু-এন্ড এনক্রিপ্টেড থাকে।
যোগাযোগের নিরাপত্তা
একটি Wear OS ডিভাইসে ইনস্টল করা অ্যাপ এবং কাছাকাছি থাকা কোনো হ্যান্ডহেল্ড ডিভাইসে ইনস্টল করা একই অ্যাপের মধ্যে আরও সুরক্ষিত যোগাযোগ নিশ্চিত করতে Google Play পরিষেবা নিম্নলিখিত বিধিনিষেধগুলি প্রয়োগ করে:
- ডিভাইস নির্বিশেষে প্যাকেজের নামটি অবশ্যই একই হতে হবে।
- প্যাকেজের স্বাক্ষরটি সমস্ত ডিভাইসে অবশ্যই একই হতে হবে।
সংযোগের ধরন নির্বিশেষে অন্য কোনো অ্যাপ ডেটা অ্যাক্সেস করতে পারবে না।
সেটআপ
Wearable Data Layer API-এর নিম্নলিখিত নির্ভরতাগুলো রয়েছে:
- গুগল প্লে পরিষেবার সর্বশেষ সংস্করণ।
- একটি Wear OS ডিভাইস বা Wear OS এমুলেটর।
আপনার Wear মডিউলের build.gradle ফাইলে নিম্নলিখিত ডিপেন্ডেন্সিটি অন্তর্ভুক্ত করুন:
dependencies {
...
implementation("com.google.android.gms:play-services-wearable:19.0.0")
}
প্রাথমিক জোড়া বাঁধার প্রক্রিয়া সহজতর করুন
Horologist প্ল্যাটফর্ম এপিআই-এর উপর ভিত্তি করে বেশ কিছু সহায়ক লাইব্রেরি প্রদান করে। এর মধ্যে একটি ডেটা লেয়ার লাইব্রেরি রয়েছে যা একটি মোবাইল ডিভাইস এবং একটি Wear OS ডিভাইসের মধ্যে সংযোগ স্থাপন করতে সাহায্য করে। এছাড়াও, এটি নিম্নলিখিত কাজগুলো করার জন্য সুবিধাজনক এপিআই প্রদান করে:
- অন্য ডিভাইসটিতে অ্যাপটি ইনস্টল করুন।
- অন্য ডিভাইসটিতে অ্যাপটি চালু করুন।
- অন্য ডিভাইসটিতে একটি নির্দিষ্ট কার্যকলাপ চালু করুন।
- সহযোগী অ্যাপটি চালু করুন।
ডেটা লেয়ার অ্যাক্সেস করুন
ডেটা লেয়ার এপিআই কল করতে, Wearable ক্লাস ব্যবহার করে DataClient এবং MessageClient মতো বিভিন্ন ক্লায়েন্ট ক্লাসের ইনস্ট্যান্সগুলো নিন।
আরও তথ্যের জন্য, ডেটালেয়ার নমুনাটি দেখুন।
ন্যূনতম ক্লায়েন্ট ব্যবহার করুন
ক্লায়েন্ট তৈরি করতে, নিম্নলিখিত উদাহরণ কোডটি দেখুন:
val dataClient = Wearable.getDataClient(this)
val available = try { GoogleApiAvailability.getInstance() .checkApiAvailability(client) .await() true } catch (e: AvailabilityException) { // API is not available in this device. false }
কন্টেক্সট যেকোনো বৈধ অ্যান্ড্রয়েড কন্টেক্সট হতে পারে। আপনি যদি কোনো Activity স্কোপের মধ্যে এপিআই ব্যবহার করেন, তাহলে Wearable ক্লাসের getDataClient() মেথডটি ব্যবহার করুন। এর ফলে কিছু নির্দিষ্ট ইন্টারঅ্যাকশন নোটিফিকেশনের পরিবর্তে ডায়ালগ হিসেবে প্রদর্শিত হয়, যেমন যখন ব্যবহারকারীকে তাদের গুগল প্লে সার্ভিসের ভার্সন আপডেট করতে বলা হয়।
ডিফল্টরূপে, লিসেনারগুলিতে কলব্যাকগুলি অ্যাপের প্রধান UI থ্রেডে করা হয়। কলব্যাকগুলি একটি ভিন্ন থ্রেডে করার জন্য, একটি কাস্টম Looper নির্দিষ্ট করতে একটি WearableOptions অবজেক্ট ব্যবহার করুন।
আরও তথ্যের জন্য, WearableOptions.Builder রেফারেন্সটি দেখুন।
প্রয়োজন অনুযায়ী ক্লায়েন্ট ইনস্ট্যান্সগুলো পুনরায় তৈরি করুন।
DataClient এবং MessageClient মতো পরিধানযোগ্য এপিআই ক্লায়েন্ট তৈরি করা সাশ্রয়ী। তাই ক্লায়েন্টগুলো জমিয়ে না রেখে, আপনার অ্যাপের উপযোগী স্টাইল ব্যবহার করে প্রয়োজন অনুযায়ী সেগুলো পুনরায় তৈরি করুন।
ক্লায়েন্টের অবস্থা, যেমন নিবন্ধিত লিসেনারগুলোর সেট, সমস্ত ক্লায়েন্টের মধ্যে শেয়ার করা হয় এবং কোনো অ্যাপ চলার সময় গুগল প্লে পরিষেবা আপডেট করা হলেও তা সংরক্ষিত থাকে।