ব্যায়াম ইভেন্ট হ্যান্ডেল

স্বাস্থ্য পরিষেবাগুলি ExerciseEvents এর জন্য সমর্থন প্রদান করে, যা আপনার অ্যাপকে বিজ্ঞপ্তি দেয় যখন কোনো ব্যায়ামের সময় কোনো ঘটনা ঘটে থাকে এবং সংশ্লিষ্ট মেটাডেটা সরবরাহ করে।

নির্ভরতা যোগ করুন

ব্যায়াম ইভেন্টগুলি ব্যবহার করার জন্য স্বাস্থ্য পরিষেবা SDK-এর সর্বশেষ সংস্করণ প্রয়োজন৷

স্বাস্থ্য পরিষেবার উপর নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য, Google এর Maven সংগ্রহস্থল দেখুন।

তারপর, আপনার মডিউল-স্তরের build.gradle ফাইলে, নিম্নলিখিত নির্ভরতা যোগ করুন:

গ্রোভি

dependencies {
    implementation "androidx.health:health-services-client:1.1.0-alpha03"
}

কোটলিন

dependencies {
    implementation("androidx.health:health-services-client:1.1.0-alpha03")
}

ক্ষমতা পরীক্ষা করুন

স্বাস্থ্য পরিষেবাগুলিতে সমস্ত ব্যায়াম এবং ডেটা প্রকারের মতো, স্টার্টআপে ক্ষমতাগুলি পরীক্ষা করুন ৷ বিশেষ করে ExerciseEvents এর জন্য, ExerciseCapabilities অনুরোধ করার পাশাপাশি, প্রদত্ত ব্যায়ামের জন্য কোন ব্যায়াম ইভেন্টগুলি সমর্থিত তা যাচাই করতে ExerciseTypeCapabilities.supportedExerciseEvents ব্যবহার করুন। নির্দিষ্ট ExerciseEvent সমর্থিত তা নিশ্চিত করার পরে, আপনাকে getExerciseEventCapabilityDetails ব্যবহার করে ব্যায়াম ইভেন্টের ক্ষমতাগুলিও জিজ্ঞাসা করা উচিত।

নিম্নলিখিত উদাহরণটি দেখায় যে কীভাবে GOLF_SHOT_EVENT সমর্থিত তা নিশ্চিত করতে সক্ষমতাগুলি জিজ্ঞাসা করতে হয় এবং তারপর নিশ্চিত করুন যে GOLF_SHOT_EVENT সুইং টাইপ শ্রেণীবিভাগ সমর্থন করে৷

fun handleCapabilities(capabilities: ExerciseCapabilities) {
  val golfCapabilities = capabilities.typeToCapabilities[ExerciseType.GOLF]
  val golfShotEventSupported =
    golfCapabilities
      ?.supportedExerciseEvents
      ?.contains(ExerciseEventType.GOLF_SHOT_EVENT)
  val golfSwingTypeClassificationSupported =
    golfCapabilities
      ?.getExerciseEventCapabilityDetails(ExerciseEventType.GOLF_SHOT_EVENT)
      ?.isSwingTypeClassificationSupported ?: false
}

একটি ব্যায়াম ব্যায়াম ঘটনা অনুরোধ

অনুশীলন শুরু করতে এবং অনুশীলনের অংশ হিসাবে একটি অনুশীলন ইভেন্টের অনুরোধ করতে, অনুশীলনের জন্য ExerciseConfig ঘোষণা করুন এবং exerciseEventType জন্য একটি ক্ষেত্র যুক্ত করুন।

নিম্নলিখিত উদাহরণ একটি GOLF অনুশীলনের অংশ হিসাবে GOLF_SHOT_EVENT অনুরোধ করে:

val config = ExerciseConfig(
  exerciseType = ExerciseType.GOLF,
  dataTypes = setOf(....),
  // ...
  exerciseEventTypes = setOf(ExerciseEventType.GOLF_SHOT_EVENT),
)

ব্যায়াম ইভেন্ট আপডেটের জন্য নিবন্ধন করুন

ব্যায়ামের আপডেট পাওয়ার জন্য আপনার অ্যাপে বিদ্যমান পরিকাঠামোর অংশ হিসেবে আপনি ExerciseEvent আপডেট পেতে পারেন। নিম্নলিখিত উদাহরণটি দেখায় যে আপনি কীভাবে GolfShotEvent আপডেটগুলির জন্য সমর্থন অন্তর্ভুক্ত করবেন:

val callback = object : ExerciseUpdateCallback {
  override fun onExerciseUpdateReceived(update: ExerciseUpdate) {
      ...
  }
  // [ExerciseEvent] intended to come through with low latency and out of
  // band of onExerciseUpdateReceived()
  override fun onExerciseEventReceived(event: ExerciseEvent) {
    when (event) {
      is GolfShotEvent -> {
        if (it.swingType == GolfShotSwingType.PUTT) {
          println("Putt detected!")
        }
      }
    }
  }
}