Recording API を使用すると、アプリからセンサーデータの自動保存を サブスクリプションを作成してバッテリー効率を改善します。定期購入が関連付けられています フィットネスのデータタイプまたは特定のデータで あります。
データ型やデータソースごとに複数のサブスクリプションを作成できます。 説明しますGoogle Fit では、アクティブなサブスクリプションのフィットネス データ、 定期購入はアプリが実行されていない状態でも復元され、 サポートします。
記録されたデータは、ユーザーのフィットネス履歴から利用できます。さらに アプリでデータをリアルタイムで表示するには、 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) }
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. }); }