फ़िटनेस डेटा रिकॉर्ड करें

रिकॉर्डिंग एपीआई की मदद से, आपका ऐप्लिकेशन इससे बैटरी की बचत होती है. सदस्यता जुड़ी हुई है जिसमें कोई Android ऐप्लिकेशन हो. साथ ही, इसमें फ़िटनेस डेटा टाइप या कोई खास डेटा शामिल हो स्रोत.

अलग-अलग डेटा टाइप या डेटा सोर्स के लिए, एक से ज़्यादा सदस्यताएं बनाई जा सकती हैं आपके ऐप्लिकेशन में. Google Fit, चालू सदस्यताओं का फ़िटनेस डेटा सेव करता है. भले ही आपका ऐप्लिकेशन न चल रहा हो और इन सदस्यताओं को वापस चालू करता है: सिस्टम रीस्टार्ट होता है.

रिकॉर्ड किया गया डेटा उपयोगकर्ता के फ़िटनेस इतिहास में उपलब्ध है. अगर आपको यह भी पसंद है रीयल टाइम में डेटा दिखाने के लिए, रिकॉर्डिंग एपीआई के साथ सेंसर एपीआई. रिकॉर्ड करने के लिए सत्र मेटाडेटा के साथ फ़िटनेस डेटा, तो इसका उपयोग करें सेशन एपीआई.

फ़िटनेस डेटा की सदस्यता लें

अपने ऐप्लिकेशन में सेंसर डेटा को बैकग्राउंड में इकट्ठा करने का अनुरोध करने के लिए, RecordingClient.subscribe तरीका, जैसा कि नीचे दिए गए कोड स्निपेट में दिखाया गया है:

Kotlin

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)
    }

Java

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 तरीका, जैसा कि नीचे दिए गए कोड स्निपेट में दिखाया गया है:

Kotlin

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}")
        }
    }

Java

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 तरीका, जैसा कि नीचे दिए गए कोड स्निपेट में दिखाया गया है:

Kotlin

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.
    }

Java

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.
        });
}