সেশন হলো ব্যবহারকারীদের জন্য তাদের করা সমস্ত প্রধান কার্যকলাপের একটি তালিকা দ্রুত এবং সহজে দেখার একটি উপায়। এগুলি গুগল ফিট অ্যাপের জার্নাল পৃষ্ঠায় দেখা যায়। উদাহরণস্বরূপ, একটি শ্বাস-প্রশ্বাসের সেশন, হাঁটা, দৌড়ানো বা এক রাতের ঘুম—এগুলোর প্রত্যেকটিই একটি সেশনের উদাহরণ।
সেশনগুলো একটি নির্দিষ্ট সময়কালের ডেটাসেটকে একত্রিত করে, যা কোনো একটি কার্যকলাপের সময় সংগ্রহ করা হয়েছিল। উদাহরণস্বরূপ, যদি কোনো ব্যবহারকারী ৩ কিলোমিটার দৌড় কখন শুরু এবং শেষ করেছেন তা ট্র্যাক করেন, তাহলে একটি সেশন তৈরি করা যেতে পারে এবং সেই সময়কালের মধ্যেকার সমস্ত ফিটনেস ডেটা (যেমন পদক্ষেপ, গতি, দূরত্ব) সেই সেশনের সাথে যুক্ত হয়ে যাবে।
সেশনগুলোর নিজেদের মধ্যে কার্যকলাপ সম্পর্কিত বিস্তারিত তথ্য থাকে না। এই তথ্য ডেটাসেটে থাকে। সেশনগুলোর এই বৈশিষ্ট্যগুলো রয়েছে:
- একটি বর্ণনামূলক, বন্ধুত্বপূর্ণ নাম (যেমন, 'সকালের দৌড়')
- একটি বর্ণনা
- একটি অনন্য শনাক্তকারী
- এটি যে ধরনের কার্যকলাপ রেকর্ড করছে (উদাহরণস্বরূপ, একটি দৌড়)
সেশন ব্যবহারের সুবিধা
- ব্যবহারকারীদের জন্য উপকারী : সেশন আপনাকে ব্যবহারকারীদের জন্য কার্যকলাপের ডেটা এবং ওয়ার্কআউটগুলি অর্থপূর্ণভাবে সাজাতে সাহায্য করে। তারা Google Fit অ্যাপের জার্নাল পৃষ্ঠায় তাদের দিনের সমস্ত কার্যকলাপ দেখতে পারে।
- সামঞ্জস্যপূর্ণ ব্যবহারকারীর অভিজ্ঞতা : যদি আপনার অ্যাপ বা সহযোগী ডিভাইসে অ্যাক্টিভিটি ট্র্যাকিংয়ের সুবিধা থাকে (যেখানে ব্যবহারকারীরা কোনো অ্যাক্টিভিটি শুরু ও বন্ধ করতে পারেন), তবে এই ওয়ার্কআউটগুলোর জন্য সেশন থাকলে ব্যবহারকারীরা উভয় অ্যাপেই তাদের অ্যাক্টিভিটি দেখতে পারেন।
- আরও সম্পূর্ণ ডেটা : গুগল ফিট আপনার সেশনের তথ্যকে পরিপূরক ও সমৃদ্ধ করতে একাধিক উৎস থেকে ডেটা একত্রিত করে। এটি ব্যবহারকারীদের তাদের কার্যকলাপের একটি আরও সম্পূর্ণ চিত্র দেয়।
- গুগল ফিট প্ল্যাটফর্ম ব্যবহার করুন : যদি আপনার ব্যবহারকারীরা তাদের কার্যকলাপ ট্র্যাক না করেন, অথবা আপনার অ্যাপ ট্র্যাকিং সমর্থন না করে, তবুও আপনি গুগল ফিট-এ সেশনগুলো পড়তে পারবেন। আপনি নিজস্ব স্কিমা এবং স্টোরেজ প্রয়োগ করার প্রয়োজন ছাড়াই ফিটনেস স্টোর থেকে বিস্তারিত বা সমষ্টিগত ডেটা কোয়েরি করতে এবং উপলব্ধ সেশনগুলো খুঁজে বের করতে পারবেন।
- ব্যবহারকারীর সম্পৃক্ততা বৃদ্ধি : আপনি আপনার ব্যবহারকারীদের উপলব্ধ সেশন এবং যে অ্যাপগুলো সেগুলো তৈরি করেছে তা দেখাতে পারেন। এইভাবে অন্যান্য ফিটনেস অ্যাপের সাথে মিথস্ক্রিয়া আপনার ব্যবহারকারীর সম্পৃক্ততা বাড়াতে পারে।
সেশনের জন্য ব্যবহারকারীর অনুমোদন নেওয়া
আপনি যদি সেশন পড়তে বা লিখতে চান, তাহলে আপনার অ্যাপকে অবশ্যই ব্যবহারকারীর অনুমতি নিতে হবে। সেশন অ্যাক্সেস করার জন্য ডেটা টাইপের মতোই অথরাইজেশন স্কোপ ব্যবহৃত হয়, যার জন্য আপনাকে নিম্নোক্তভাবে অনুরোধ করতে হবে:
অ্যান্ড্রয়েড
FitnessOptions থেকে উপযুক্ত পদ্ধতিগুলো ব্যবহার করে আপনার অ্যাপকে কোন ধরনের সেশন অ্যাক্সেস করতে হবে তা নির্দিষ্ট করুন। উদাহরণস্বরূপ, দৌড়-সম্পর্কিত সেশনগুলো পড়ার জন্য আপনি বেছে নিতে পারেন:
val fitnessOptions = FitnessOptions.builder()
.accessActivitySessions(FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_HEART_RATE_BPM, FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_SPEED, FitnessOptions.ACCESS_READ)
.addDataType(DataType.TYPE_LOCATION_SAMPLE, FitnessOptions.ACCESS_READ)
.build()
এই উদাহরণটি নির্দেশ করে যে আপনার অ্যাপ অ্যাক্টিভিটি সেশন মেটাডেটা অ্যাক্সেস করতে চায় এবং এটি সেই সেশনগুলির মধ্যে কোন ডেটা টাইপগুলি পড়তে চায় তাও নির্দিষ্ট করে; এই উদাহরণে হার্ট রেট, স্পিড এবং লোকেশন ডেটা টাইপগুলি ব্যবহার করা হয়েছে।
বিশ্রাম
অনুরোধের পরিধি নিম্নরূপ:
- ঘুমের কার্যকলাপের প্রকারভেদ সহ সেশন:
-
https://www.googleapis.com/auth/fitness.sleep.read -
https://www.googleapis.com/auth/fitness.sleep.write
-
- অন্যান্য সকল অধিবেশন:
-
https://www.googleapis.com/auth/fitness.activity.read -
https://www.googleapis.com/auth/fitness.activity.write
-
সেশন ব্যবহার করে
অ্যান্ড্রয়েড
আপনি সেশনস এপিআই ব্যবহার করতে পারেন:
- রিয়েল টাইমে সেশন তৈরি করুন
- ফিটনেস স্টোরে সেশনগুলি প্রবেশ করান
- ওয়ার্কআউটের সময় বিরতি দেওয়ার জন্য অ্যাক্টিভিটি সেগমেন্ট যুক্ত করুন।
- তাদের সাথে সম্পর্কিত সেশন এবং ডেটাসেটগুলি পড়ুন
- সেশন সম্পর্কিত তথ্য দেখানোর জন্য অন্য একটি অ্যাপ চালু করুন যা এটি তৈরি করেছে।
- অন্য কোনো অ্যাপ সেশন শুরু করলে একটি ইন্টেন্ট গ্রহণ করুন।
বিশ্রাম
আপনি সেশনস এপিআই ব্যবহার করতে পারেন:
- রিয়েল টাইমে সেশন তৈরি করুন
- ফিটনেস স্টোরে সেশনগুলি প্রবেশ করান
- ওয়ার্কআউটের সময় বিরতি দেওয়ার জন্য অ্যাক্টিভিটি সেগমেন্ট যুক্ত করুন।
- তাদের সাথে সম্পর্কিত সেশন এবং ডেটাসেটগুলি পড়ুন
ডেটাসেট এবং সেগমেন্টগুলি কীভাবে সেশনগুলির সাথে মিথস্ক্রিয়া করে
গুগল ফিটে:
- একটি ডেটাসেট হলো একটি নির্দিষ্ট সময়কাল ধরে কোনো বিশেষ ডেটা উৎস থেকে সংগৃহীত ডেটা পয়েন্টের সমষ্টি । ডেটাসেট আলাদাভাবেও যুক্ত করা যায়। কিন্তু আপনি যদি একটি সেশন তৈরি করেন, তবে সেশন এবং এর ডেটাসেটগুলো একসাথে তৈরি করা সহজতর হতে পারে।
- একটি সেগমেন্ট একটি সেশনের ডেটাসেটগুলোকে ব্যবহারকারী সেই সেশনে ঠিক কী কাজ করছিলেন, তার উপর ভিত্তি করে ভাগ করে। উদাহরণস্বরূপ, যদি ব্যবহারকারী ৩০ মিনিটের একটি দৌড় (সেশন) ট্র্যাক করেন কিন্তু এর মধ্যে কিছুক্ষণ হাঁটেন, তবে এটিকে বিভিন্ন সেগমেন্টে ভাগ করা যেতে পারে। সেক্ষেত্রে দৌড়ের জন্য একটি সেগমেন্ট থাকবে, তারপর হাঁটার বিরতির জন্য, এবং তারপর আবার দৌড়ের জন্য।

চিত্র ১-এ ফিটনেস স্টোরের একটি সময়কাল দেখানো হয়েছে, যে সময়ে অ্যাপ A, B, এবং C কিছু ডেটাসেট ও সেশন যুক্ত করেছে:
- অ্যাপ A, সেশন ১-এর সাথে একত্রে A1 ও A2 ডেটাসেট এবং কোনো সেশন ছাড়াই A3 ডেটাসেট সন্নিবেশ করেছে।
- অ্যাপ B, সেশন 2-এর সাথে ডেটাসেট B1 এবং B2 একসাথে সন্নিবেশ করেছে।
- অ্যাপ C কোনো সেশন ছাড়াই ডেটাসেট C1 সন্নিবেশ করেছে।
ফিটনেস স্টোর থেকে সেশন ডেটা পড়ার সময়, একটি সেশনের সময়সীমার মধ্যে থাকা সমস্ত ফিটনেস ডেটা স্বয়ংক্রিয়ভাবে সেই সেশনের সাথে যুক্ত হয়ে যায়, এমনকি যদি আপনি সেশন তৈরি করার পরে ডেটা প্রবেশ করান, অথবা ডেটা নিষ্ক্রিয়ভাবে ট্র্যাক করার পরে একটি সেশন তৈরি করেন। উদাহরণস্বরূপ, সেশন ১ থেকে ফিটনেস ডেটার জন্য একটি কোয়েরি করলে যা ফেরত আসবে তা হলো:
- ডেটাসেট A1
- ডেটাসেট A2
- ডেটাসেট A3-এর t1 এবং t2-এর মধ্যবর্তী অংশ
- ডেটা সেট C1-এর t1 এবং t2-এর মধ্যবর্তী অংশ
কোন অ্যাপ প্রতিটি সেশন এবং ডেটাসেট যুক্ত করেছে তা আপনি জানতে পারবেন।
সেশন তৈরি করা
সেশন বিভিন্ন উপায়ে তৈরি করা যেতে পারে:
- আপনার অ্যাপ সক্রিয়ভাবে যেকোনো একটিতে সেশন তৈরি করতে পারে
- রিয়েল টাইমে যখন কোনো ব্যবহারকারী ডিভাইসে সক্রিয়ভাবে কোনো কার্যকলাপ ট্র্যাক করে (শুধুমাত্র অ্যান্ড্রয়েড), অথবা
- হাতে করে ঢুকিয়ে ।
- যখন কোনো ব্যবহারকারী গুগল ফিট অ্যাপে নিজে থেকে কোনো ওয়ার্কআউট বা অ্যাক্টিভিটি যোগ করেন।
কখন সেশন তৈরি করতে হবে
আপনি কি ঘুমের তথ্য যোগ করছেন?
- হ্যাঁ - একটি সেশন তৈরি করুন এবং এটিকে ম্যানুয়ালি ফিটনেস স্টোরে যুক্ত করুন। উদাহরণস্বরূপ, একটি স্লিপ সেশন যুক্ত করা। এর কারণ হলো, স্লিপ-ট্র্যাকিং অ্যাপ বা ডিভাইস ব্যবহারকারীরা তাদের ঘুমের কার্যকলাপ শুরু বা বন্ধ করার জন্য ডিভাইসগুলো ব্যবহার করেন না (এটি স্বয়ংক্রিয়ভাবে ট্র্যাক করা হয়)।
- না - আপনার অ্যাপ কি ব্যবহারকারীদের কার্যকলাপ শুরু এবং বন্ধ করতে দেয়?
- না - কোনো সেশন তৈরি করবেন না। শুধুমাত্র আপনার অ্যাপ থেকে ডেটাসেট যোগ করুন।
- হ্যাঁ - অ্যান্ড্রয়েড এপিআই (Android API) ব্যবহার করে, ব্যবহারকারীরা তাদের কার্যকলাপ ট্র্যাক করলে রিয়েল-টাইমে অথবা ম্যানুয়ালি একটি সেশন তৈরি করুন। রেস্ট এপিআই (REST API) ব্যবহার করে, একটি সেশন তৈরি করুন এবং ম্যানুয়ালি এটিকে ফিটনেস স্টোরে যুক্ত করুন ।
- আপনার অ্যাপ কি আরও বিস্তারিতভাবে শনাক্ত করতে পারে যে একজন ব্যবহারকারী কখন বিভিন্ন কার্যকলাপ করছেন (উদাহরণস্বরূপ, হাঁটা বনাম দৌড়ানো)?
- হ্যাঁ - সেগমেন্ট যোগ করুন।
- না - শুধু ডেটাসেট যোগ করুন । আপাতত সেগমেন্ট উপেক্ষা করুন এবং গুগল ফিটকে নিজে থেকেই এগুলো তৈরি করতে দিন।
পঠন অধিবেশন
আপনার অ্যাপ কয়েকটি উপায়ে সেশন পড়তে পারে:
- এটি দ্বারা তৈরি/সন্নিবেশিত একটি নির্দিষ্ট সেশন খুঁজুন
- নাম বা
- আইডি
- সময়কাল অনুযায়ী এর তৈরি/সন্নিবেশিত সমস্ত সেশন খুঁজুন।
- সময়কাল অনুযায়ী সব অ্যাপ (গুগল ফিট সহ) দ্বারা তৈরি সমস্ত উপলব্ধ সেশন খুঁজুন।
কোন উৎসগুলো একটি সেশন তৈরি করেছে তা জানুন
আপনি আপনার ব্যবহারকারীদের দেখাতে পারেন যে তাদের প্রতিটি সেশন কোন অ্যাপ বা ডিভাইস থেকে তৈরি হয়েছে। প্রতিটি সেশনের সাথে একটি ডেটা সোর্স যুক্ত থাকে, যেখানে সেই অ্যাপ বা ডিভাইস সম্পর্কিত তথ্য থাকে যা ডেটা সংগ্রহ বা রূপান্তর করেছে।
অ্যান্ড্রয়েড
বর্তমানে আপনি শুধুমাত্র একটি অ্যান্ড্রয়েড ক্লায়েন্ট দ্বারা তৈরি সেশনের প্যাকেজ নেম পেতে পারেন। যে অ্যাপটি সেশনটি তৈরি করেছে তার প্যাকেজ নেম পেতে, getAppPackageName মেথডটি ব্যবহার করুন। আপনার অ্যাপে এই তথ্য ব্যবহার করে আপনি ব্যবহারকারীদের দেখাতে পারেন যে অন্য কোন কোন অ্যাপ ফিটনেস সেশন যুক্ত করেছে। ব্যবহারকারীদের অ্যাপগুলো শনাক্ত করতে সাহায্য করার জন্য আপনি সেগুলোর প্রত্যেকটির আইকন প্রদর্শন করতে পারেন।
অন্যান্য অ্যাপ তাদের তৈরি করা সেশনের বিবরণ দেখানোর জন্য আপনি একটি ইন্টেন্ট ফায়ার করে সেই অ্যাপগুলো চালু করতে পারেন। অন্যান্য অ্যাপও আপনার অ্যাপ চালু করার জন্য একটি ইন্টেন্ট ফায়ার করতে পারে।
সেশন তৈরি করা উৎস খুঁজে বের করার বিষয়ে আরও জানুন।
বিশ্রাম
যে অ্যান্ড্রয়েড অ্যাপটি সেশন তৈরি করেছে তার প্যাকেজ নেম পেতে, session.application প্রপার্টিটি ব্যবহার করুন। REST API ব্যবহার করে তৈরি করা সেশনগুলোর জন্য, এর পরিবর্তে session.name প্রপার্টিটি ব্যবহার করুন। আপনার অ্যাপে এই তথ্য ব্যবহার করে ব্যবহারকারীদের দেখাতে পারেন যে অন্য কোন কোন অ্যাপ ফিটনেস সেশন যুক্ত করেছে। ব্যবহারকারীদের অ্যাপগুলো শনাক্ত করতে সাহায্য করার জন্য আপনি প্রতিটি অ্যাপের আইকনও দেখাতে পারেন।
সেশন তৈরি করা উৎস খুঁজে বের করার বিষয়ে আরও জানুন।