Release Note

Introduction

  • Release Date:

    Nov 3, 2020

  • Release Contents

Content Description
Libraries

Libraries to sync health data with Samsung Health

Sample

Sample app codes with SimpleHealth, StepDiary, and FoodNote
Tool

DataViewer to test a created app
Documents

API Reference, Programming Guide

Change History

Service Package removal

  • From Samsung Health v6.15, the Service package doesn't work.
  • The Data library is not changed.

Data 1.5.0

[Changes]
  • Data library
    • The data library is provided with 'aar' from 1.5.0.
  • Compatible Samsung Health version
    • Samsung Health 6.12 or above works with the Data package 1.5.0.
  • Data Types
    • "com.samsung.shealth.step_daily_trend" is defined with a new interface. Use HealthConstants.StepDailyTrend instead of it.
      The new interface doesn't affect to existing apps that use "com.samsung.shealth.step_daily_trend".
    • VO2_MAX is added to HealthConstants.Exercise.
  • Data Viewer Tool
    • Removing Electrocardiogram and HealthDocument from a data type list.
[Deprecation]
[Changes]
  • Developer Mode
  • Data Viewer Tool
  • StepDiary sample app
    • It is provided with Kotlin.
Service package - Deprecated
  • The Service package is deprecated. Do not use this feature any more.
Service 1.4.0
[Android 10 support]
  • In Samsung Health 6.8, TrackerManager.startActivity() is updated for Android 10 to work well even Samsung Health is on the background.
[Deprecation]
  • The following trackers are deprecated in TrackerManager.TrackerId.
    • SPO2
    • THERMO_HYGROMETER
    • UV

Data 1.4.0

[Important Notice]
  • Data 1.4.0 library includes important changes. All partner app must use this version until July 2019. Otherwise, your app will do not work with Samsung Health properly.
    • It supports security enhancements in Android 8.0. Applications that target Android 9 or higher cannot share data with other applications using socket.
    • It works with Samsung Health 6.2 or above.
      HealthConnectionErrorResult.OLD_VERSION_PLATFORM must be handled to install the latest Samsung Health.
    • Update your app by applying all changes below to make a seamless service.
[New]
  • HealthConstants.Nutrition
    • A Nutrition data type is added.
    • Replace HealthConstants.FoodInfo & HealthConstants.FoodIntake to HealthConstants.Nutrition. They will be removed in the next release.
[Deprecation & Behavior Changes]
  • HealthDataService is deprecated.
    • Call just HealthDataStore.connectService() without after calling HealthDataService.initialize().
    • Remove sdk-v1.0.0.jar.
  • HealthUserProfile’s some APIs are deprecated and have a behavior change.
    • getUserId() is not valid anymore. Its behavior is changed to return an empty string for privacy policy enhancement. It will be removed in the next release.
    • getImage() is not valid anymore. Its behavior is changed to return null for privacy policy enhancement. It will be removed in the next release.
  • HealthDataResolver's inserting and updating data APIs have a behavior change:
    `HealthDataResolver.insert()`  <br>
    `HealthDataResolver.update()`  <br>
    `HealthDataResolver.insertWithPermission()`
    
-   `IllegalArgumentException` is returned only if the request contains invalid instance type.
-   Check the result with `getStatus()` of `HealthResultHolder.BaseResult`. A data validation error is received as `STATUS_INVALID_INPUT_DATA` in `HealthResultHolder.ResultListener.onResult()`.  
    The data validation includes missing mandatory fields, wrong field type, out of the data value range and oversized BLOB.
-   See its [example](https://img-developer.samsung.com/onlinedocs/health/android/data/com/samsung/android/sdk/healthdata/HealthDataResolver.InsertRequest.html).
[Sample & Tool Update]
  • Sample apps
    • FoodNote is updated as replacing HealthConstants.
      HealthConstants.FoodInfo and HealthConstants.FoodIntake to HealthConstants.Nutrition.
    • StepDiary's typo is fixed.
  • DataViewer
    • A data type list is updated with HealthConstants.Nutrition.
      HealthConstants.FoodInfo and HealthConstants.FoodIntake is dropped out.

Service 1.3.1

  • TrackerManager.Destination
    • REWARD destination is deprecated. It goes to an error page from Samsung Health 6.0.
  • TrackerTile
    • Setting date and content color in a tracker tile is not available from Samsung Health 6.0.
    • setDate() is deprecated.
    • setContentColor() is deprecated.
  • Tracker Design Guide is updated.

Data 1.3.0

  • Daily Step Count Trend ("com.samsung.shealth.step_daily_trend")
    • "1" and "2" source type values that indicate wearable and activity trackers are deprecated. See deprecated info here.
    • The data library is same.

Data 1.3.0

  • HealthConstants.FoodInfo
    • Deprecated as he data library is same. Do not use it any more. It will be removed.
  • HealthConstants.FoodIntake
    • FOOD_INFO_ID is deprecated.

Service 1.3.0

  • TrackerManager.TrackerId added.
    • The existing fields for Samsung Health's trackers are deprecated. Use the new class fields.
  • Jumping to a tracker's specific destination like TRENDS is available.
    • TrackerManager.Destination added.
    • A new startActivity() API that has a destination param is added to TrackerManager.
  • Sample app is updated to SampleService.
  • For more detailed information, refer to here.
  • The SDK name became "Samsung Health Android SDK".
  • DataViewer tool is updated. A minor defect is patched.

Data 1.3.0

  • New data types
    • Supported data types are added including floors climbed and health document.
  • Instant permission
    • Instant permission APIs to handle health document are added.
  • Some properties are added:
    • HealthConstants.Common: CUSTOM
    • HealthConstants.Exercise: ADDITIONAL, MAX_RPM
    • HealthConstants.HeartRate: MIN, MAX, BINNING_DATA
    • HealthConstants.Weight: BODY_FAT_MASS, FAT_FREE, FAT_FREE_MASS, SKELETAL_MUSCLE_MASS, TOTAL_BODY_WATER
  • HealthData
    • APIs to handle InputStream are added.
  • setLocalTimeRange() is added to handle the local time zone change easily.
    • HealthDataResolver.AggregateRequest.Builder
    • HealthDataResolver.ReadRequest.Builder
  • iterator() and close() are added to HealthDataResolver.AggregateResult.
  • More health data units are added.
  • HealthDataUtil class is added.
  • A new sample app StepDiary is added.
  • The DataViewer tool is updated.
    • More supported data types are added.
    • The user interfaces are improved.
  • For more detailed information, refer to here.
  • Some terms are changed:
    • "S Health" app name is rebranded to "Samsung Health".
    • "Samsung Health SDK" is used for the SDK’s name instead of "Samsung Digital Health SDK".
    • Only the library names are changed according to the SDK naming. You don’t need to update your app.
  • Sample apps are updated by the changed terms.
  • Related documents are updated by the changed terms.

Service 1.2.0

  • APIs for the feature availability check are added in the Shealth class.
    • FEATURE_TRACKER_LAUNCH
    • FEATURE_TRACKER_TILE
    • isFeatureEnabled(int...)
  • Shealth.isFeatureEnabled(int) was the default implementation and didn't work. It is updated to check the feature availability.
  • To launch the S Health’s specific tracker with TrackerInfo and TrackerManager, S Health 4.8 or above is needed.

Data 1.2.1

  • A new meal type, MEAL_TYPE_BEFORE_SLEEP is added to HealthConstants.BloodGlucose.
  • MEAN_RPM is added to HealthConstants.Exercise.
  • In 1.2.0, HealthConnectionErrorResult.UNKNOWN had been retrieved when S Health prior to 4.6 is installed on the device. In this release, a bug for the wrong error value is fixed to give HealthConnectionErrorResult.OLD_VERSION_PLATFORM. You can solve the error situation by calling HealthConnectionErrorResult.resolve().
  • The following APIs are deprecated:
    • HealthResultHolder.cancel()
    • HealthResultHolder.BaseResult.STATUS_CANCELED

Data 1.2.0

  • HealthDevApp is removed. Use DataViewer to test your application.
    • "com.samsung.android.health.platform_type" in manifest to use HealthDevApp is not required.
  • To make a clear operation after the Permission UI is popped up, the existing PermissionManager.requestPermissions() is deprecated. Use new API with the activity parameter instead of it.
  • connectService() with the timeout parameter is added to HealthDataStore.
  • HealthConstants.SleepStage to present detailed sleep data is added.
  • Body fat, skeletal muscle, muscle mass, and basal metabolic rate properties are added to HealthConstants.Weight.
  • The minimum heart rate property is added to HealthConstants.Exercise.
  • The user name and user’s picture image can be retrieved through HealthUserProfile.
  • For more detailed information, refer to here.

Service 1.1.0

  • S Health Simulator is removed from the SDK tool because S Health’s available devices had been expanded.
  • Shealth.initialize() doesn’t throw SsdkUnsupportedException and SecurityException.
  • com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY permission is not required.
  • The title of tile design guidelines is changed to Tracker Design Guidelines.

Data 1.1.0

  • Sample application projects are updated to import them on Android Studio.
  • HealthConnectionErrorResult
    • The device that supports S Health 4.x can be checked with hasResolution().
    • hasResolution() and resolve() require the android.permission.INTERNET permission.
  • HealthConstants.BloodGlucose
    • MEAL_TYPE BEFORE_MEAL and MEAL_TYPE GENERAL are added.
    • MEAL_TYPE_AFTER_BEDTIME is deprecated.
  • "Treadmill" and "Elliptical trainer" are added to the predefined type of HealthConstants.Exercise.
  • putNull() to set a value of data property as null is added to HealthData.
  • Available ranges or operations of some APIs are changed. For more detailed information, refer to here.

Data 1.0.0

  • HealthConnectionErrorResult.resolve()'s operation is changed without a dialog.
  • Some constants for unit are added and descriptions of HealthConstants interfaces are changed.
  • If the handler parameter of the HealthDataObserver’s constructor is null, the looper of the current thread will be used for the callback.
  • A permissible range of medical data for countries is expanded.
  • For more detailed information, refer to here.

Service 1.0.0

  • Guide for TrackerEventListener is supplemented. Check your application after referring to the API Reference and Programming Guide.
  • Description of Tile Design Guideline for Tracker is supplemented.
  • The icon size of TRACKER_TILE_TYPE_1 is changed to 60.

Known Issues

  • None

Features

Health Data Store

  • Handles the service connection.

  • Inserts, reads, updates and deletes health data.

Health Data Type

  • Predefined data types such as counting steps or Nutrition.

Data Permission

  • Checks and requests permissions to handle health data.