Skip to main content
Version: Eyedid Beta

Android

Minify

Check that minify is enabled

When building an Android App with minify enabled, some rules must be added to proguard-rules.pro in order to make the SeeSo SDK work properly.

Android

In the build.gradle of your app, you can check and set the minifyEnabled value.

build-with-minify-enabled-1

Unity Android

Unity Editor -> ProjectSettings -> Player - > Publishing Settings -> Minify

you can check and set minify option(Proguard, Gradle).

build-with-minify-enabled-2

Add proguard rules

Android

Insert below code into proguard-rules.pro

-keep class     camp.visual.eyedid.libgaze.callbacks.JNICallbackDispatcher                { *; }

Unity Android

  1. Generate User Proguard File

build-with-minify-enabled-3

  1. Insert below code into your Assets/Plugins/Android/proguard-user.txt

-keep class camp.visual.eyedid.gazetracker.GazeTracker {
public <fields>;
public <methods>;
native <methods>;
}

-keep class **.R$* {
<fields>;
}
-keep interface camp.visual.eyedid.gazetracker.callback.CalibrationCallback {
*;
}
-keep interface camp.visual.eyedid.gazetracker.callback.TrackingCallback {
*;
}
-keep interface camp.visual.eyedid.gazetracker.callback.ImageCallback {
*;
}
-keep interface camp.visual.eyedid.gazetracker.callback.InitializationCallback {
*;
}
-keep interface camp.visual.eyedid.gazetracker.callback.StatusCallback {
*;
}
-keep enum camp.visual.eyedid.gazetracker.metrics.state.TrackingState {
*;
}
-keep enum camp.visual.eyedid.gazetracker.metrics.state.EyeMovementState {
*;
}
-keep enum camp.visual.eyedid.gazetracker.metrics.state.ScreenState {
*;
}
-keep enum camp.visual.eyedid.gazetracker.constant.CalibrationModeType {
*;
}
-keep enum camp.visual.eyedid.gazetracker.constant.AccuracyCriteria {
*;
}
-keep enum camp.visual.eyedid.gazetracker.constant.InitializationErrorType {
*;
}
-keep enum camp.visual.eyedid.gazetracker.constant.StatusErrorType {
*;
}
-keep class camp.visual.eyedid.gazetracker.metrics.GazeInfo {
*;
}
-keep class camp.visual.eyedid.gazetracker.metrics.FaceInfo {
*;
}
-keep class camp.visual.eyedid.gazetracker.metrics.BlinkInfo {
*;
}
-keep class camp.visual.eyedid.gazetracker.metrics.UserStatusInfo {
*;
}
-keep class camp.visual.eyedid.gazetracker.device.CameraPosition {
*;
}
-keep class camp.visual.eyedid.gazetracker.constant.GazeTrackerOptions {
*;
}
-keep enum camp.visual.eyedid.gazetracker.constant.CameraPreset {
*;
}
-keep class camp.visual.eyedid.gazetracker.util.ViewLayoutChecker {
*;
}
-keep class camp.visual.eyedid.gazetracker.filter.OneEuroFilterManager {
*;
}
-keep class camp.visual.eyedid.libgaze.callbacks.JNICallbackDispatcher { *; }


-keepattributes InnerClasses

Get Release certificate fingerprint

You can restrict the Android Production key to a specific Android application by providing a release certificate fingerprint.

keytool -list -v -keystore YOUR_KEY_STORE_NAME -alias YOUR_ALIAS_NAME
  • Replace YOUR_KEY_STORE_NAME with the fully-qualified path and name of the keystore, including the .keystore extension.

  • Replace YOUR_ALIAS_NAME with the alias that you assigned to the certificate when you created it.

certificate-fingerprint-1