ফিটনেস ডেটা রেকর্ড করুন

রেকর্ডিং API আপনার অ্যাপকে সদস্যতা তৈরি করে ব্যাটারি-দক্ষ পদ্ধতিতে সেন্সর ডেটার স্বয়ংক্রিয় স্টোরেজ অনুরোধ করতে দেয়। একটি সাবস্ক্রিপশন একটি Android অ্যাপের সাথে যুক্ত এবং এতে একটি ফিটনেস ডেটা টাইপ বা একটি নির্দিষ্ট ডেটা উৎস থাকে।

আপনি আপনার অ্যাপে বিভিন্ন ডেটা প্রকার বা ডেটা উত্সের জন্য একাধিক সদস্যতা তৈরি করতে পারেন। Google Fit সক্রিয় সদস্যতা থেকে ফিটনেস ডেটা সঞ্চয় করে, এমনকি যখন আপনার অ্যাপ চলছে না, এবং সিস্টেম পুনরায় চালু হলে এটি এই সদস্যতাগুলি পুনরুদ্ধার করে।

রেকর্ড করা ডেটা ব্যবহারকারীর ফিটনেস ইতিহাসে পাওয়া যায়। আপনি যদি রিয়েল টাইমে আপনার অ্যাপে ডেটা দেখাতে চান তবে রেকর্ডিং API এর সাথে সেন্সর API ব্যবহার করুন। সেশন মেটাডেটা সহ ফিটনেস ডেটা রেকর্ড করতে, সেশন API ব্যবহার করুন।

ফিটনেস ডেটাতে সদস্যতা নিন

আপনার অ্যাপে সেন্সর ডেটার পটভূমি সংগ্রহের অনুরোধ করতে, নিম্নলিখিত কোড স্নিপেটে দেখানো হিসাবে, RecordingClient.subscribe পদ্ধতি ব্যবহার করুন:

কোটলিন

Fitness.getRecordingClient(this, GoogleSignIn.getAccountForExtension(this, fitnessOptions))
    // This example shows subscribing to a DataType, across all possible data
    // sources. Alternatively, a specific DataSource can be used.
    .subscribe(DataType.TYPE_STEP_COUNT_DELTA)
    .addOnSuccessListener {
        Log.i(TAG, "Successfully subscribed!")
    }
    .addOnFailureListener { e ->
        Log.w(TAG, "There was a problem subscribing.", e)
    }

জাভা

Fitness.getRecordingClient(this, GoogleSignIn.getAccountForExtension(this, fitnessOptions))
        // This example shows subscribing to a DataType, across all possible
        // data sources. Alternatively, a specific DataSource can be used.
        .subscribe(DataType.TYPE_STEP_COUNT_DELTA)
        .addOnSuccessListener(unused ->
                Log.i(TAG, "Successfully subscribed!"))
        .addOnFailureListener( e ->
        Log.w(TAG, "There was a problem subscribing.", e));

যদি সাবস্ক্রিপশনটি সফলভাবে যোগ করা হয়, Google Fit আপনার অ্যাপের হয়ে ফিটনেস ইতিহাসে TYPE_STEP_COUNT_DELTA প্রকারের ফিটনেস ডেটা সঞ্চয় করে। এই সাবস্ক্রিপশনটি আপনার অ্যাপের সক্রিয় সদস্যতার তালিকায় উপস্থিত হয়।

আপনার অ্যাপে আরও ধরনের ফিটনেস ডেটা সাবস্ক্রাইব করতে, আগের উদাহরণের ধাপগুলি অনুসরণ করুন কিন্তু প্রতিবার আলাদা ফিটনেস ডেটা টাইপ দিন৷

সক্রিয় সদস্যতা তালিকা

আপনার অ্যাপের সক্রিয় সদস্যতাগুলির একটি তালিকা পেতে, নিম্নলিখিত কোড স্নিপেটে দেখানো হিসাবে, RecordingClient.listSubscriptions পদ্ধতি ব্যবহার করুন:

কোটলিন

Fitness.getRecordingClient(this, GoogleSignIn.getAccountForExtension(this, fitnessOptions))
    .listSubscriptions()
    .addOnSuccessListener { subscriptions ->
        for (sc in subscriptions) {
            val dt = sc.dataType
            Log.i(TAG, "Active subscription for data type: ${dt.name}")
        }
    }

জাভা

Fitness.getRecordingClient(this, GoogleSignIn.getAccountForExtension(this, fitnessOptions))
        .listSubscriptions()
        .addOnSuccessListener(subscriptions -> {
            for (Subscription sc : subscriptions) {
                DataType dt = sc.getDataType();
                Log.i(TAG, "Active subscription for data type: ${dt.name}");
            }
    });
}

ফিটনেস ডেটা থেকে সদস্যতা ত্যাগ করুন

আপনার অ্যাপে সেন্সর ডেটা সংগ্রহ বন্ধ করতে, নিম্নলিখিত কোড স্নিপেটে দেখানো হিসাবে RecordingClient.unsubscribe পদ্ধতি ব্যবহার করুন:

কোটলিন

Fitness.getRecordingClient(this, GoogleSignIn.getAccountForExtension(this, fitnessOptions))
    // This example shows unsubscribing from a DataType. A DataSource should
    // be used where the subscription was to a DataSource. Alternatively, if
    // the client doesn't maintain its subscription information, they can use
    // an element from the return value of listSubscriptions(), which is of
    // type Subscription.
    .unsubscribe(DataType.TYPE_STEP_COUNT_DELTA)
    .addOnSuccessListener {
        Log.i(TAG,"Successfully unsubscribed.")
    }
    .addOnFailureListener { e->
        Log.w(TAG, "Failed to unsubscribe.")
        // Retry the unsubscribe request.
    }

জাভা

Fitness.getRecordingClient(this, GoogleSignIn.getAccountForExtension(this, fitnessOptions))
        // This example shows unsubscribing from a DataType. A DataSource
        // should be used where the subscription was to a DataSource.
        // Alternatively, if the client doesn’t maintain its subscription
        // information, they can use an element from the return value of
        // listSubscriptions(), which is of type Subscription.
        .unsubscribe(DataType.TYPE_STEP_COUNT_DELTA)
        .addOnSuccessListener(unused ->
            Log.i(TAG,"Successfully unsubscribed."))
        .addOnFailureListener(e -> {
            Log.w(TAG, "Failed to unsubscribe.");
            // Retry the unsubscribe request.
        });
}