A premium, fully featured Java/Android integration example for the AuthVaultix authentication platform. This project demonstrates how to connect to the AuthVaultix API, register accounts, login using credentials or licenses, verify sessions, enforce bans, fetch variables, participate in live chats, and gather detailed native system telemetry on Android devices.
- π Secure Authentication Flows: Login, registration, license login, upgrades, and password resets.
- βοΈ Core SDK Actions: Session status checks, log submission, variable retrieval/updating, and binary file downloads.
- π¬ Live Social Features: Real-time client count, online status listing, and live chat sync (15-second intervals).
- π± System Telemetry Collector: Captures OS build version, active ABI architecture, runtime threads, and physical memory.
- π¨ Modern Dark UI: Flat dark-theme layout with non-intrusive
AlertDialogpopups.
- Java Development Kit (JDK) 17+
- Android SDK (Min SDK: 21, Target/Compile SDK: 36)
- Gradle 8.10+ (Android Gradle Plugin 8.2.2)
- Configure SDK Location: Create a
local.propertiesfile in the project root directory:sdk.dir=C\:\\Users\\royal\\AppData\\Local\\Android\\Sdk - Configure Gradle JVM in Android Studio: Open Settings and set the Gradle JDK to Java 17+ (Local system path:
D:\security-pach\New folder\temp-jdk\jdk-17.0.10+7).
Compile the debug APK using the local JDK path configuration:
$env:JAVA_HOME = "D:\security-pach\New folder\temp-jdk\jdk-17.0.10+7"
.\gradlew.bat clean assembleDebugThe output APK will be generated at: app/build/outputs/apk/debug/app-debug.apk
The core client logic is managed by AuthVaultixClient.java. Note: All SDK network calls must run on a background thread.
Declare the client as a class field and initialize it inside onCreate:
private AuthVaultixClient client;
client = new AuthVaultixClient(
this,
"APP-NAME",
"OWNER-ID",
"SECRET",
"1.0"
);Here are the primary functions provided by AuthVaultixClient and how to use them:
Connects to the server, completes handshakes, gathers local hardware telemetry, and validates application configuration.
// Returns true if initialization succeeded, false otherwise
boolean success = client.init();Logs a user in using credentials. Initializes user-session parameters upon success.
// Arguments: (username, password)
boolean success = client.login("my_username", "my_password");
if (success) {
AuthVaultixClient.UserInfo user = client.getCurrentUser();
} else {
String errorMsg = client.getResponseCollection(); // Returns failure details
}Creates a new user account linked to a specific license key.
// Arguments: (username, password, licenseKey, email)
boolean success = client.register("my_username", "my_password", "LICENSE-XXXX", "user@email.com");Authenticates users directly using their license key, without requiring a username/password setup.
// Arguments: (licenseKey)
boolean success = client.licenseLogin("LICENSE-XXXX");Upgrades an existing user account to a higher tier using a fresh license key.
// Arguments: (username, licenseKey)
boolean success = client.upgrade("my_username", "LICENSE-UPGRADE-XXXX");Validates if the current logged-in session token is active on the server. Useful for heartbeat checks.
boolean isSessionValid = client.check();Enforces a hardware/account ban on the user (e.g. upon detecting client tamper, reverse-engineering attempts).
String[] outMsg = new String[1];
// Arguments: (reason, outMsg)
boolean success = client.ban("Cheating detected", outMsg);Checks if the current device/HWID is blacklisted on the AuthVaultix console.
String[] outMsg = new String[1];
boolean isBlacklisted = !client.checkBlacklist(outMsg);Downloads a binary file securely from the developer panel into a byte array.
String[] outMsg = new String[1];
// Arguments: (fileId, outMsg)
byte[] fileBytes = client.download("EC5FF376", outMsg);Fetch developer-controlled dynamic data securely from the backend.
// Fetch global configuration variables
String buildPattern = client.getGlobalVar("global_key");
// Fetch account-specific user variable
String vipLevel = client.getVar("level");
// Set/Update account-specific user variable
boolean success = client.setVar("status", "in_game");Participate in live chat channels hosted in the backend.
String[] outMsg = new String[1];
// Send a text message to a channel (e.g. "test")
boolean sendOk = client.chatSend("Hello from Android!", "test", outMsg);
// Fetch chat logs of a channel
List<AuthVaultixClient.ChatMessage> chatLogs = client.chatFetch("test");Check if the user has subscription-based feature permissions (e.g., VIP module access).
boolean hasVip = client.checkFeaturePermission("VIP");