feat(firebase): add production config and push token refresh listener
This commit is contained in:
@@ -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';
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
Reference in New Issue
Block a user