Ziel fürs Erste: TestFlight + Play-Internal-Testing (kein öffentlicher Store-Eintrag). Code-seitig vorbereitet, alle Konsolen-Schritte für Chris in firebase-einrichtung.md (Schritt 9-11) dokumentiert: - App Check Client-Integration (Debug-Provider), Functions erzwingen es noch nicht (zweistufiger Rollout, siehe Doku) - iOS: ITSAppUsesNonExemptEncryption gesetzt - Android: Release-Signing über key.properties vorbereitet (Upload-Key fehlt noch bewusst, Erzeugung ist Chris' Schritt) - flutter_launcher_icons vorbereitet für künftiges echtes App-Icon - Datenschutzerklärung entworfen (docs/legal/datenschutz.html) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
30 lines
1.1 KiB
Dart
30 lines
1.1 KiB
Dart
import 'package:firebase_app_check/firebase_app_check.dart';
|
|
import 'package:firebase_core/firebase_core.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
import 'app.dart';
|
|
import 'core/settings/settings_provider.dart';
|
|
import 'firebase_options.dart';
|
|
|
|
Future<void> main() async {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
await Firebase.initializeApp(
|
|
options: DefaultFirebaseOptions.currentPlatform,
|
|
);
|
|
// Debug-Provider, bis Play Integrity (Android) / App Attest (iOS) in der
|
|
// Firebase-Console registriert sind (docs/firebase-einrichtung.md Schritt 9).
|
|
// Die Functions erzwingen App Check noch nicht — reines Vorbereiten.
|
|
await FirebaseAppCheck.instance.activate(
|
|
providerAndroid: AndroidDebugProvider(),
|
|
providerApple: AppleDebugProvider(),
|
|
);
|
|
final prefs = await SharedPreferences.getInstance();
|
|
runApp(
|
|
ProviderScope(
|
|
overrides: [sharedPreferencesProvider.overrideWithValue(prefs)],
|
|
child: const LeafItToMeApp(),
|
|
),
|
|
);
|
|
}
|