ব্যবহারকারীদের তাদের ঘুমের অভ্যাস বুঝতে সাহায্য করুন

স্লিপ এপিআই, গুগল প্লে সার্ভিসেস দ্বারা চালিত একটি লাইব্রেরি, অ্যাপগুলোকে ব্যবহারকারীর ঘুমাতে যাওয়া এবং ঘুম থেকে ওঠার সময় নির্ধারণ করতে সাহায্য করে।

ব্যবহারকারীর অনুমতি পাওয়ার পর, গুগল প্লে সার্ভিসেস তার ঘুমিয়ে পড়া ও জেগে ওঠার সময় অনুমান করার জন্য চারপাশের আলোর তীব্রতা, ডিভাইসের নড়াচড়া এবং আরও অনেক তথ্য সংগ্রহ করে। আপনার অ্যাপ এই তথ্যের আপডেট পেতে সাবস্ক্রাইব করতে পারে। এর মাধ্যমে, আপনার অ্যাপ ব্যবহারকারীদের তাদের ঘুমের অভ্যাস সম্পর্কে জানাতে পারে এবং তাদের ঘুমের স্বাস্থ্যবিধি ও সার্বিক সুস্থতা উন্নত করতে উৎসাহিত করতে সাহায্য করতে পারে।

শুরু করার আগে

আপনার অ্যাপটি প্রস্তুত করতে, নিচের বিভাগগুলিতে দেওয়া ধাপগুলি সম্পূর্ণ করুন।

অ্যাপের পূর্বশর্ত

নিশ্চিত করুন যে আপনার অ্যাপের বিল্ড ফাইলে নিম্নলিখিত মানগুলি ব্যবহৃত হয়েছে:

  • minSdkVersion 29 বা তার বেশি হতে হবে।
  • compileSdkVersion 29 বা তার বেশি হতে হবে।
.

আপনার অ্যাপ কনফিগার করুন

আপনার প্রোজেক্ট-স্তরের build.gradle ফাইলে, buildscript এবং allprojects উভয় সেকশনেই Google-এর Maven রিপোজিটরি এবং Maven সেন্ট্রাল রিপোজিটরি অন্তর্ভুক্ত করুন:

 buildscript {
    repositories {
        google()
        mavenCentral()
    }
} 

allprojects { repositories { google() mavenCentral() } }

আপনার মডিউলের গ্রেডল বিল্ড ফাইলে (যা সাধারণত app/build.gradle হয়ে থাকে) স্লিপ এপিআই (Sleep API)-এর জন্য গুগল প্লে সার্ভিসেস ডিপেন্ডেন্সি যোগ করুন:

 dependencies {
    implementation 'com.google.android.gms:play-services-location:24.0.0'
} 

আপনার AndroidManifest.xmlACTIVITY_RECOGNITION পারমিশনটি যোগ করুন। android:name=”android.permission.ACTIVITY_RECOGNITION” ট্যাগটি ব্যবহার করুন।

 <manifest>
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
<application>...</application>
</manifest>

ঘুমের আপডেট পেতে নিবন্ধন করুন

আপডেটগুলির জন্য নিবন্ধন করার আগে, প্রথমে যাচাই করুন যে ব্যবহারকারী ACTIVITY_RECOGNITION অনুমতিটি দিয়েছেন কিনা। অনুমতি সম্পর্কে আরও তথ্যের জন্য, অ্যাপের অনুমতি অনুরোধ করুন (Request App Permissions) দেখুন।

অনুমতি দেওয়া হয়ে গেলে, ব্যবহারকারীর ঘুমের আচরণের আপডেট, যেমন ঘুমের অংশ এবং ঘুমের ঘটনা শ্রেণীকরণের ফলাফল, পাওয়ার জন্য requestSleepSegmentUpdates() কল করে নিবন্ধন করুন।

 val task = ActivityRecognition.getClient(context)
    .requestSleepSegmentUpdates(
        pendingIntent,
        SleepSegmentRequest.getDefaultSleepSegmentRequest())
    .addOnSuccessListener {
        viewModel.updateSubscribedToSleepData(true)
        Log.d(TAG, "Successfully subscribed to sleep data.")
    }
    .addOnFailureListener { exception ->
        Log.d(TAG, "Exception when subscribing to sleep data: $exception")
    }

Sleep API সম্পর্কে আরও জানুন

আপনার অ্যাপ প্রতিদিনের ঘুমের সেগমেন্ট আপডেট ইভেন্ট থেকে ঘুমের সময় সম্পর্কে তথ্য পুনরুদ্ধার করতে পারে।

প্রতিটি স্লিপ সেগমেন্ট ইভেন্টে এপিআই ঘুম শনাক্ত করেছে নাকি ঘুম শনাক্ত করতে পারে সে সম্পর্কে তথ্য রয়েছে। উপলভ্য সেন্সর ডেটার উপর ভিত্তি করে সেগমেন্ট ইভেন্টে সেই সময়গুলিও অন্তর্ভুক্ত থাকে যখন ব্যবহারকারী সম্ভবত ঘুমিয়ে পড়ে এবং জেগে ওঠে।

আপনার অ্যাপ ঘুমের শ্রেণীবিভাগের ইভেন্টগুলি সম্পর্কে নিয়মিত আপডেটও পেতে পারে।

প্রতিটি ঘুমের শ্রেণিবিন্যাস ইভেন্ট একটি টাইমস্ট্যাম্প প্রদান করে, সাথে মানগুলি যা ডিভাইসের গতি, পরিবেশের উজ্জ্বলতা এবং সেই সময়ে ব্যবহারকারীর ঘুমিয়ে থাকার সম্ভাবনাকে উপস্থাপন করে। উদাহরণস্বরূপ, যদি একটি টাইমস্ট্যাম্প এবং পরবর্তী টাইমস্ট্যাম্পের মধ্যে ঘুমের আত্মবিশ্বাস উল্লেখযোগ্যভাবে বৃদ্ধি পায় এবং যদি একই 2টি টাইমস্ট্যাম্পের মধ্যে আশেপাশের উজ্জ্বলতা উল্লেখযোগ্যভাবে কমে যায়, তাহলে সম্ভবত ব্যবহারকারী সম্প্রতি ঘুমিয়ে পড়েছেন।

ব্যবহারকারী কখন ঘুমিয়ে পড়ে এবং জেগে ওঠে তা আরও আত্মবিশ্বাসের সাথে নির্ধারণ করতে আপনার অ্যাপটি অতিরিক্ত ব্যবহারকারী-প্রদত্ত ডেটার সাথে এই তথ্যগুলিকে একত্রিত করতে পারে।

SleepSampleKotlin নমুনা অ্যাপটি Sleep API ব্যবহার করে এন্ড-টু-এন্ড ওয়ার্কফ্লো প্রদর্শন করে।