피트니스 데이터 기록

Recording API를 사용하면 앱에서 센서 데이터의 자동 저장을 요청할 수 있습니다. 배터리 효율적인 방식으로 유지관리하는 방법을 배웠습니다 구독이 연결되어 있습니다. 피트니스 데이터 유형 또는 특정 데이터로 구성 있습니다.

다양한 데이터 유형 또는 데이터 소스에 대해 여러 구독을 만들 수 있음 확인할 수 있습니다. Google 피트니스는 활성 구독의 피트니스 데이터를 저장하므로 앱이 실행되고 있지 않아도 되며, 애플리케이션이 실행될 때 시스템 재시작

기록된 데이터는 사용자의 피트니스 기록에서 사용할 수 있습니다. 또한 앱에 데이터를 실시간으로 표시하려면 Sensors API 및 Recording API 녹화 파일 포함되어 있는 경우 Sessions API

피트니스 데이터 구독

앱에서 센서 데이터의 백그라운드 수집을 요청하려면 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)
    }

자바

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 피트니스에 피트니스 정보가 저장됩니다. 데이터 유형 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}")
        }
    }

자바

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