@@ -53,7 +53,7 @@ class MyApplication : Application() {
5353 override fun onCreate () {
5454 super .onCreate()
5555
56- val config = SdkConfig .Builder (" your-api-key " )
56+ val config = SdkConfig .Builder (123456 ) // Your MaxMind account ID
5757 .enableLogging(BuildConfig .DEBUG )
5858 .build()
5959
@@ -109,27 +109,27 @@ Collect device data without sending:
109109
110110``` kotlin
111111val deviceData = DeviceTracker .getInstance().collectDeviceData()
112- println (" Device: ${deviceData.manufacturer} ${deviceData.model} " )
112+ println (" Device: ${deviceData.build. manufacturer} ${deviceData.build .model} " )
113113```
114114
115115## Configuration Options
116116
117117### SdkConfig.Builder
118118
119119``` kotlin
120- val config = SdkConfig .Builder (" your-api-key " )
120+ val config = SdkConfig .Builder (123456 ) // Your MaxMind account ID
121121 .serverUrl(" https://custom-server.com/api" ) // Optional: Custom server URL
122122 .enableLogging(true ) // Optional: Enable debug logging
123123 .collectionInterval(60_000 ) // Optional: Auto-collect every 60 seconds
124124 .build()
125125```
126126
127- | Option | Type | Default | Description |
128- | --------| ------| ---------| -------------|
129- | ` apiKey ` | String | * required* | Your MaxMind API key |
130- | ` serverUrl ` | String | ` https://device-api.maxmind.com/v1 ` | MaxMind API endpoint |
131- | ` enableLogging ` | Boolean | ` false ` | Enable debug logging |
132- | ` collectionIntervalMs ` | Long | ` 0 ` | Auto-collection interval (0 = disabled) |
127+ | Builder Method | Type | Default | Description |
128+ | ---------------- | ------| ---------| -------------|
129+ | ` Builder(accountID) ` | Int | * required* | Your MaxMind account ID |
130+ | ` . serverUrl(url) ` | String | Default servers | Custom server URL |
131+ | ` . enableLogging(enabled) ` | Boolean | ` false ` | Enable debug logging |
132+ | ` .collectionInterval(ms) ` | Long | ` 0 ` | Auto-collection interval in milliseconds (0 = disabled) |
133133
134134## Permissions
135135
@@ -142,17 +142,37 @@ The SDK requires the following permissions (automatically included):
142142
143143## Collected Data
144144
145- The SDK collects the following device information:
146-
147- - ** Device ID** : Optional unique identifier
148- - ** Manufacturer** : Device manufacturer (e.g., "Samsung", "Google")
149- - ** Model** : Device model name
150- - ** Brand** : Device brand name
151- - ** OS Version** : Android version
152- - ** SDK Version** : Android SDK/API level
153- - ** Screen Resolution** : Display resolution
154- - ** Screen Density** : Display density
155- - ** Timestamp** : Collection timestamp
145+ The SDK collects comprehensive device fingerprinting data:
146+
147+ ### Device Identifiers
148+ - ** Stored ID** : Server-generated persistent ID (similar to browser cookies)
149+ - ** Device IDs** : MediaDRM ID, Android ID (where available)
150+
151+ ### Device Info
152+ - ** Build** : Manufacturer, model, brand, device, product, board, hardware, OS version, SDK version, security patch, supported ABIs
153+ - ** Display** : Resolution, density, refresh rate, HDR capabilities
154+ - ** Hardware** : CPU cores, total memory, total storage
155+
156+ ### Subsystems
157+ - ** GPU** : Renderer, vendor, GL version, extensions
158+ - ** Audio** : Output sample rate, frames per buffer
159+ - ** Sensors** : Full list with type, vendor, max range
160+ - ** Cameras** : IDs, facing, physical sensor size, supported resolutions, focal lengths
161+ - ** Codecs** : Available audio/video codecs with details
162+
163+ ### System State
164+ - ** System Features** : All available ` PackageManager.FEATURE_* ` values
165+ - ** Network** : Connection type, metered status, WiFi info
166+ - ** Installation** : First install time, last update, installer package, version code/name
167+ - ** Settings** : Screen timeout, developer settings, animator scale, boot count
168+ - ** Behavior** : Enabled keyboards, accessibility services
169+
170+ ### Additional Signals
171+ - ** Telephony** : Network operator, SIM state, phone type
172+ - ** Fonts** : Available system fonts (helps identify device/ROM)
173+ - ** Locale/Timezone** : Language, country, timezone with DST offset
174+ - ** WebView User Agent** : Default WebView user agent string
175+ - ** Timestamp** : Collection time
156176
157177All data collection respects user privacy and Android security policies.
158178
0 commit comments