GetPassive SDK Integration

The SDK is a small headless binary your app spawns as a child process after the user opts in.

Download

Android (JAR wrapper)

Drop-in JAR for Android apps. Bundles all 3 Android ABIs and auto-selects at runtime — no NDK required.

Integration steps

  1. Drop the JAR into app/libs/
  2. Add to build.gradle: implementation files('libs/getpassive-sdk.jar')
  3. Add <uses-permission android:name="android.permission.INTERNET" /> to AndroidManifest.xml
  4. Call GetPassive.start(context, "<your-api-key>") from a Service or Application class
  5. Call GetPassive.stop() when shutting down

API reference

GetPassive.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.

Android native binaries

Advanced option for Android TV / STB / IPTV app integrators:

Integration pattern

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.

Integration

  1. Ship the binary alongside your app (or download on first use).
  2. When the user opts in, spawn it as a child process:

getpassive-sdk --dev-api-key <YOUR_KEY> --device-uuid <STABLE_PER_DEVICE_UUID>

  1. When the user opts out (or app closes), terminate the child process.

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.

Flags

Or pass via env vars: GP_GATEWAY, GP_DEVICE_UUID, GP_DEV_API_KEY.

Footprint

~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.