Documentation
Import from repository
Manual
Import from repository:

1. In build.gradle application level in the repositories add:
maven { url 'https://github.com/userxpro/userx/raw/maven/' }
2. In your build.gradle add new dependency:
compile "pro.userx:UserX:2.0.8@aar"
3. Activate UserX by calling the following code (It is necessary to call once. We strongly recommend that you initialize UserX in the overridden Application class in the onCreate method):
UserX.init("<YOUR_API_KEY>");
4. Launch your app for a few seconds and press the "Home" button

5. Now you are ready to use UserX! You can watch your first video

Manual SDK Installation:

1. Download the latest version of UserX Android SDK

2. Unzip downloaded file.

3. Open your project in Android Studio.

4. Add a new module File -> New -> New Module - select Import .JAR/.AAR Package, where specify the path to the downloaded userx.aar

5. Check that in settings.gradle added library: include ..., ':userx'

6. In your build.gradle add UserX as a dependency
compile project(":UserX-2.0.8")
7. Activate UserX by calling the following code (It is necessary to call once. We strongly recommend that you initialize UserX in the overridden Application class in the onCreate method):
UserX.init("<YOUR_API_KEY>");
8. Launch your app for a few seconds and press the "Home" button

9. Now you are ready to use UserX

Advanced Settings:

Important! If you are using ProGuard, add the following code at proguard-rules.pro:
-keep class pro.userx. { *; } 
-dontwarn pro.userx.** 
Get the detailed info for concrete users, just pass the ID of the user with a line of code:
UserX.setUserId("YOUR_INTERNAL_USER_ID");
To disable the collection of crash-logs:
UserX.setCatchExceptions(boolean catchExceptions)
You can filter your recordings by different parameters and events logged through users sessions. Following methods will help you to send your own parameters:
UserX.addSessionParam(String paramName);
UserX.addSessionParam(String paramName, String attributeName, String attributeValue);
UserX.addSessionParam(String paramName, Map.Entry... attribute);
UserX.addSessionParam(String paramName, HashMap attributes);
Register openable screens for recording UserFlows. UserX automatically registers only Activity screens, to register Fragment or other screens, call one of the following methods when you want to tell UserX that another screen has started:
/**
* @param currentClass Fragment or Activity which are displayed now on the screen
*/
addScreenName(Class currentClass)
/**
* @param currentClass Fragment or Activity which are displayed now on the screen
* @param title Title
*/
addScreenName(Class currentClass, String title)
/**
* @param currentClass Fragment which are displayed now on the screen
* @param title Title
* @param parentClass Fragment or Activity which are displayed now on the screen
* @param parentTitle Parent title
*/
addScreenName(Class currentClass, String title, Class parentClass, String parentTitle)
By default settings UserX doesn't record while users work with Google Maps. To allow UserX to render Google Maps, use one of the following methods (Attention: Google Maps rendering can reduce performance):
/
* @param mapContainerId MapFragment layout id
* @param googleMap GoogleMap
*/
UserX.setGoogleMap(int mapContainerId,
com.google.android.gms.maps.GoogleMap googleMap);
/
* @param mapContainerId MapFragment layout id
* @param googleMap GoogleMap
* @param googleMapSnapshotPeriod milliseconds, default = 1000ms
*/
UserX.setGoogleMap(int mapContainerId,
com.google.android.gms.maps.GoogleMap googleMap, long googleMapSnapshotPeriod);