The SDK is a small headless binary your app spawns as a child process after the user opts in.
39a8ad5ee2117f8efc806a06457fccd1dfafb4b9f5a3fb1df2adef605a0d8949)Drop-in JAR for Android apps. Bundles all 3 Android ABIs and auto-selects at runtime — no NDK required.
39a8ad5ee2117f8efc806a06457fccd1dfafb4b9f5a3fb1df2adef605a0d8949INTERNET in AndroidManifest.xmlapp/libs/build.gradle: implementation files('libs/getpassive-sdk.jar')<uses-permission android:name="android.permission.INTERNET" /> to AndroidManifest.xmlGetPassive.start(context, "<your-api-key>") from a Service or Application classGetPassive.stop() when shutting downGetPassive.start(Context context, String apiKey);
GetPassive.stop();
GetPassive.Status getStatus();
GetPassive.setStatusListener(StatusListener listener);
Status enum values: STOPPED, STARTING, RUNNING, ERROR
Note: On first run, the matching native binary is extracted to internal storage (~2 MB). Subsequent starts are instant.
Advanced option for Android TV / STB / IPTV app integrators:
Bundle the appropriate binary in your APK's lib/<abi>/ directory or your firmware image. On user opt-in, spawn it via Runtime.getRuntime().exec() (Java) or ProcessBuilder (Kotlin) — pass --dev-api-key and --device-uuid as args (or GP_DEV_API_KEY / GP_DEVICE_UUID env vars).
For OEMs / firmware integrators: install the binary as a system service via init.rc or your existing service manager. It survives reboots cleanly.
No JNI wrapper required — the binary is fully self-contained.
getpassive-sdk --dev-api-key <YOUR_KEY> --device-uuid <STABLE_PER_DEVICE_UUID>
That's it. Test-mode keys (issued from the dashboard) let you verify integration before any real traffic flows. Promote to live mode from the dashboard when you're ready.
Or pass via env vars: GP_GATEWAY, GP_DEVICE_UUID, GP_DEV_API_KEY.
~2.1 MB on disk for the Linux build, ~4.1 MB resident memory at idle. No background activity until traffic is routed to it.