Skip to main content

Android SDK


Oct 18, 2023


  • Modified
    • The coordinates of FaceInfo for left, top, right, and bottom have been changed to the coordinate system when the face is oriented frontally in the image.


August 8, 2023


  • Fixed
    • GazeTracker's removeAttentionRegion bug fixed.


July 24, 2023


  • Added
    • startTracking, stopTracking, isTracking added synchronized.
    • FaceCallback,FaceInfo
    • fixationX, fixationY, leftOpenness, rightOpenness in GazeInfo
    • intensity in UserStatusDelegate.onDrowsiness()
  • Modified
    • eyeOpenness has separated to leftOpenness/rightOpenness in UserStatusDelegate.onBlink()
  • Fixed
    • Migrated openssl.
    • Face Rect bug fixed.
    • Android 7.0 Camera status bug fixed when MultiWindow.
    • Fixed crash error when running init/deinit consecutively.
    • CameraPostion bug fixed.
    • Calibration Data fixed.


April 17, 2023

  • fixed
    • initialization bug fix


November 08, 2022

  • fixed
    • Migrated openssl.


july 14, 2022

  • fixed.
    • Longer Axis positioned Device bug fixed.


April 5, 2022

  • updates
    • Deprecated GazeDevice.
    • Removed GazeDevice from parameters in GazeTracker.initGazeTracker(...)
  • new
    • A new class called CameraPosition has been added.
    • Added API to GazeTracker for camera position.


March 8, 2022

  • fixed
    • Fixed a bug where the getAttentionRegion functions did not work properly.
  • new
    • authenication now retries when failed up to three times
    • added StatusCode debug log


February 9, 2022

  • fixed
    • Fixed a bug where the onDrowsiness functions did not work properly.


January 20, 2022

  • fixed
    • Fixed a bug where the UserStatusOption functions did not work properly.


December 23, 2021

  • Updates
    • Print error message when failed to connect SeeSo authentication server.
    • setAttentionRegion(), getAttentionRegion() removeAttentionRegion() is added.
    • Device screen is set as default Status-ROI.


May 17, 2021

Common Changes

  • The enum InitializationErrorType in onInitailzed() API has been changed.

    • (16): .AUTH_EXPIRED_KEY means using expired license key.
    • (17): .ERROR_NOT_ADVANCED_TIER means trying to use User Status Detector with basic production license key.
  • General

    • User Status Mode in GazeTracker is now available.
  • Added User Status:

    • User Attention
    • User Drowsiness
    • User Eye Blinks
  • In developement mode:

    • User Status Mode can be activated with initGazeTracker in development environment.
  • In production mode:

    • User Status Mode requires extra license activation step in production environment.
  • Please contact to the SeeSo team for more information.

Only Android

  • Target Android API level is now set to 30.

  • User Status Mode is available:


March 26, 2021

Common Changes

  • Fixed internal logic.


March 9, 2021

Common Changes

  • Fixed internal logic.


February 18, 2021

Only Android

  • Performance on low-end Android devices is improved.
  • A crashing bug caused by calling the initGazeTracker function on some devices is fixed.


February 4, 2021

Common changes

  • This version is hotfix of SDK 2.2.2.

Only Android

  • The Gaze Device information, added in 2.2.1, had signature identification error.
  • Additional Gaze Device information were not applied during the eye tracking process.
  • This error is fixed, and the Gaze Device information is now applied during the eye tracking process.


February 1, 2021

Common Chnages

  • This version is hotfix of SDK 2.2.1 😎

  • The TrackingState in GazeInfo has been modified.

    • In this version, .LOW_CONFIDENCE will be returned as .SUCCESS.
  • We assume many users are still using .SUCCESSin thier validation check, to avoid confusion, we decided to provide .SUCCESS for all usable tracking results.

  • Please make sure both .SUCCESS and .LOW_CONFIDENCE are used for the validation check.

  • In our future release, both .SUCCESS and .LOW_CONFIDENCE will be provided in TrackingState.

  • The onInitailzed() API now provides Error Log.

    • If any validation error happens during the initialization step, Error Log will be displayed.


January 29, 2021

Common Changes

  • The eye tracking model has been updated. Compared to the previous version (2.2.0), there is a small improvement in accuracy.

  • The enum InitializationError in onInitailzed() API has been changed. more

  • The startCalibration API contians enum AccuracyCriteria option.

  • .DEFAULT starts normal calibration.

  • .LOW starts easy calibration, easier to pass each step (high possibility to have low accuracy).

  • .HIGH starts strict calibration, harder to pass each step (high possibility to have high accuracy).

  • The GazeInfo in onGaze API contains more types of enum TrackingState.

    • .SUCCESS means current face alignment is in a best position for gaze tracking (returns valid x and y).
    • .LOW_CONFIDENCE means current face alignment is not in the best position, should not be used for precise gaze tracking (returns valid, but less accurate x and y).
    • .UNSUPPORTED means current face alignment is not suitable for gaze tracking (returns invalid x and y).
    • .FACE_MISSING means face is not found.

Only Android

  • Gaze Device information of SAMSUNG and LG devices, launched in last 3 years, are added.
  • Realtime GazePath demo is now available in Android Sample Project.
  • Few camera format related errors are solved.


November 6, 2020

Common changes

  • The eye tracking model has been updated. Compared to the previous version (2.1.0), it has higher accuracy.

  • The onEyeMovement have been integrated into onGaze(Gazeinfo gazeInfo).

    • Now onGaze API passes GazeInfo.
    • The GazeInfo class provides integrated information related to Gaze.
  • The onFilteredGaze API has been deleted.

    • Filtered gaze coordinates can be obtained using a Filter class for unfiltered(raw) gaze coordinates of onGaze.
  • The definition of the Calibration Region in startCalibration area has been changed.

    • ONE_POINT mode, a calibration point is created at the center point of the Calibration Region(Rect).
    • FIVE_POINT mode, a calibration point is created at the center and Each vertex of the Calibration Region(Rect).
    • SIX_POINT mode, a calibration point is created at the Each vertex and center of each long side of the Calibration Region(Rect).
  • The TrackingState has been updated.

    • It provides two states: SUCCESS and FACE_MISSING.
    • Blink and EYE_MISSING values ​​will be added in the next version.
  • The ScreenState has been added.

    • It provides three states: INSIDE_OF_SCREEN, OUTSIDE_OF_SCREEN and UNKNOWN.
  • The CalibrationModeType has been updated.

    • SIX_POINT mode has been added.

Only Android

  • Constant related to all status and error codes has been changed to Enum.


September 10, 2020

Common Changes

  • Improvement of eye tracking performance.

  • Compared to the previous version (2.0.0), it has higher accuracy and improved computational performance.

  • Fixed a bug in which gaze data was not delivered sequentially in time when face missing

  • SDK stability improvement

  • The onCalibrationFinished API has been updated.

    • Now, onCalibrationFinished passes calibrationData as parameter.
    • You can save calibrationData and load the this calibration data directly into GazeTracker without new calibration by calling setCalibrationData(calibrationData) in situations such as restarting the app etc...
  • The onEyeMovement API has been updated.

    • return value even when the face is not detected.
  • The setCalibrationData API has been added.