{"id":"cmv065jeg000lpj2o3y37u2lr","slug":"device-control","judul":"Device Control","deskripsi":"Kontrol perangkat anak — screen time, app blocker, GPS, geo-fence","parentId":"cmv05qyqx000htm4dwawyj1ll","urut":3,"kategori":"mobile","tag":"[\"android\",\"device\",\"gps\"]","status":"aktif","versi":null,"konsep":"","createdAt":"2026-10-08T23:29:58.648Z","updatedAt":"2026-10-10T03:56:43.210Z","bagian":[{"id":"cmv065jpi000npj2o6543ak8x","blueprintId":"cmv065jeg000lpj2o3y37u2lr","judul":"Ringkasan","konten":"Device control via Android agent (zx-agent app).\n\n**Model:** `DeviceSession`\n- `sessionLimit` (default 120 menit)\n- `cooldown` (default 30 menit)\n- `dailyLimit` (default 180 menit)\n- `curfewMulai`/`curfewSelesai` (default null)\n- `masterUnlock` (toggle ortu)\n- `appBlokir` (daftar package name Android)\n- `gpsAktif`, `latNow`/`lngNow`/`akurasi`/`posisiAt`\n- `geoAktif`, `geoLat`/`geoLng`/`geoRadius` (geo-fence rumah)\n- `lastSeen`\n\n**Model:** `ActivityLog` — tipe (app_open/browser/quiz_lock/geo_exit), detail JSON\n\n**API:**\n- `GET /api/device-session` — list device anak\n- `PATCH /api/device-session/[id]` — edit limit/blokir/gps/geo\n- `DELETE /api/device-session/[id]` — hapus device\n- `GET /api/aktivitas?anakId=X` — activity log anak\n\n**App ortu:** `LayarAturan.kt` — set limit, curfew, app blocker\n**App anak (zx-agent):** overlay blocker, report GPS, enforce curfew","media":"[]","urut":0,"createdAt":"2026-10-08T23:29:59.047Z","updatedAt":"2026-10-08T23:29:59.047Z"},{"id":"cmv065js7000ppj2oi8t0lfsb","blueprintId":"cmv065jeg000lpj2o3y37u2lr","judul":"Pitfall","konten":"⚠ GPS data minimized — hanya posisi TERAKHIR, tanpa histori\n⚠ Geo-fence: 1 zona (rumah). Keluar zona → ActivityLog tipe 'geo_exit'\\⚠ masterUnlock = bypass semua limit (emergency)","media":"[]","urut":1,"createdAt":"2026-10-08T23:29:59.143Z","updatedAt":"2026-10-08T23:29:59.143Z"}],"children":[],"parent":{"slug":"zx-parenting","judul":"ZX Parenting"}}