# Android App Die Android-App ist ein Capacitor-Wrapper der Web-App. Die Package ID bleibt dauerhaft `de.pinguholic.concerts`; der Produktname MetalCircle ändert diese ID nicht. Versionen im Repository: Capacitor 6.2.1, Push Notifications 6.0.5, Android Gradle Plugin 8.2.1, Gradle 8.2.1 und Firebase Messaging 23.3.1. Der übliche Ablauf ist `npm install`, `npm run sync` und `npm run build` im Verzeichnis `android`. Das Android-Projekt kann unter `android/android` in Android Studio geöffnet werden. Die lokale `google-services.json` ist für den Firebase-Build erforderlich, wird aber ignoriert und nie eingecheckt. FCM-Registrierung, Berechtigungsdialog, Session-Bindung und Debug-Token-Anzeige sind implementiert. Automatischer Backend-Versand ist nach [Firebase-Einrichtung](Firebase.md) aktivierbar. Die per WebView geladene JavaScript-Datei verarbeitet Antippen und Vordergrundhinweise; für diese Erweiterung ist keine neue native APK nötig. Ein Release-APK muss vor Installation signiert werden. `assembleRelease` erzeugt ohne Signing-Konfiguration eine **nicht installierbare** `app-release-unsigned.apk`. Für einen Test kann der lokale Debug-Keystore signieren; dies ist keine Produktionssignatur. Mit `apksigner verify` prüfen, nie Schlüssel ins Repository übernehmen. Für Pre-Production beim Sync `METALCIRCLE_SERVER_URL` auf `https://konzerte.pinguholic.de/` und `METALCIRCLE_LOCAL_TEST=0` setzen. Diese Adresse ist bereits der Standardwert. Eine neue APK ist nur für eine aktuell auf localhost oder eine andere Adresse zeigende Installation notwendig. Die Package ID bleibt unverändert. Client-Firebase-Projekt bleibt `metalcircle-30d9b`; der neue Pre-Production-Privatschlüssel gehört ausschließlich in den Backend-Mount. Schritte und Prüfung der frischen Gerätebindung siehe [Pre-Production Deployment](Firebase.md#pre-production-deployment).