feat(firebase): add production config and push token refresh listener

This commit is contained in:
2026-04-17 03:07:57 +02:00
parent 973fc2490c
commit e83adbfdbf
10 changed files with 161 additions and 17 deletions

View File

@@ -32,6 +32,7 @@ export 'src/data/datasource/user_remote_datasource_impl.dart';
export 'src/data/datasource/notifications_remote_datasource.dart';
export 'src/data/datasource/notifications_remote_datasource_impl.dart';
export 'src/providers/notifications_remote_datasource_provider.dart';
export 'src/providers/push_token_refresh_listener_provider.dart';
export 'src/domain/entities/beneficiary_validation_entity.dart';
export 'src/domain/entities/transaction_beneficiary_entity.dart';
export 'src/data/models/payout_beneficiary_model.dart';

View File

@@ -0,0 +1,20 @@
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'notifications_remote_datasource_provider.dart';
final pushTokenRefreshListenerProvider = Provider<void>((ref) {
final datasource = ref.watch(notificationsRemoteDatasourceProvider);
final subscription = FirebaseMessaging.instance.onTokenRefresh.listen((
newToken,
) async {
try {
await datasource.registerPushToken(newToken);
debugPrint('[FCM] token refreshed and re-registered: $newToken');
} catch (e) {
debugPrint('[FCM] token refresh re-register failed: $e');
}
});
ref.onDispose(subscription.cancel);
});