-
public class KaidnThe public entry point.
Kaidn.collect(context, Kaidn.Config(publishableKey = "pk_live_…")) { report -> Log.d("app", "device=${report.deviceId} emulator=${report.signals.isEmulator}") }Call it once around signup, login, or cash-out. It collects, attests, and beacons on a background thread, then hands back what it found. Your server then calls
POST /v1/scoreas usual and inherits these signals through the device id, exactly the way the browser tracker already works.It never returns a verdict to the device, and it holds no secret API key. A verdict rendered on a phone is a verdict the phone's owner can patch out, and a secret key in an APK is a secret key on the internet. Scoring stays server-to-server; this only contributes the evidence.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public final classKaidn.Configpublic final classKaidn.ReportWhat one collection found, and whether it reached us.
-
Method Summary
Modifier and Type Method Description final static Unitcollect(Context context, Kaidn.Config config, Function1<Kaidn.Report, Unit> callback)Collect and beacon. final static Unitcollect(Context context, Kaidn.Config config)Collect and beacon. final StringgetVERSION()-
-
Method Detail
-
collect
@JvmOverloads() final static Unit collect(Context context, Kaidn.Config config, Function1<Kaidn.Report, Unit> callback)
Collect and beacon. Returns immediately; callback fires on a background thread once the beacon has been answered.
-
collect
@JvmOverloads() final static Unit collect(Context context, Kaidn.Config config)
Collect and beacon. Returns immediately; callback fires on a background thread once the beacon has been answered.
-
getVERSION
final String getVERSION()
-
-
-
-