flutter create test202502
cd test202502
flutter pub add firebase_core
flutter pub add firebase_messaging
copy android\build.gradle.kts android\build.gradle
copy android\app\build.gradle.kts android\app\build.gradle
copy android\settings.gradle.kts android\settings.gradle
flutterfire configure
# firebase project 選択
# platform 選択
# android app id入力 (例:com.example.test202502)
成功したら、copyで作成した*.gradleファイルは必ず消しておきます(今度はbuildに失敗するので)。
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:test202502/firebase_options.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
try{
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); // Firebaseの初期化
final fcmToken = await FirebaseMessaging.instance.getToken(); // FCMトークンの取得
print('FCM Token: $fcmToken');
FirebaseMessaging.onMessage.listen((RemoteMessage message) { // フォアグラウンド
print('Fore Message notification: ${message.notification?.title} / ${message.notification?.body}');
print('Fore Message data: ${message.data}');
});
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) { // バックグラウンド
print('Back Message notification: ${message.notification?.title} / ${message.notification?.body}');
print('Back Message data: ${message.data}');
});
}catch (e){
print(e);
}
// run
runApp(const MyApp());
}
D/FLTFireMsgReceiver(21750): broadcast received for message
I/flutter (21750): Fore Message notification: A great title / Great content
I/flutter (21750): Fore Message data: {foo: bar}