TF-439 Implement get firebase subscription

This commit is contained in:
dab246
2022-11-29 15:34:06 +07:00
committed by Dat H. Pham
parent 38a6067319
commit 4de25a778c
13 changed files with 231 additions and 28 deletions
@@ -28,9 +28,7 @@ class FcmReceiver {
void getFcmToken() async {
final token = await FirebaseMessaging.instance.getToken();
log('FcmReceiver::onFcmToken():token: $token');
if (token?.isNotEmpty == true) {
FcmService.instance.handleRefreshToken(token!);
}
FcmService.instance.handleRefreshToken(token);
}
void onRefreshFcmToken() {
@@ -15,8 +15,8 @@ class FcmService {
final StreamController<RemoteMessage> backgroundMessageStreamController = StreamController<RemoteMessage>.broadcast();
Stream<RemoteMessage> get backgroundMessageStream => backgroundMessageStreamController.stream;
final StreamController<String> fcmTokenStreamController = StreamController<String>.broadcast();
Stream<String> get fcmTokenStream => fcmTokenStreamController.stream;
final StreamController<String?> fcmTokenStreamController = StreamController<String?>.broadcast();
Stream<String?> get fcmTokenStream => fcmTokenStreamController.stream;
FcmService._internal();
@@ -35,13 +35,14 @@ class FcmService {
backgroundMessageStreamController.add(newRemoteMessage);
}
void handleRefreshToken(String newToken) {
void handleRefreshToken(String? newToken) {
fcmTokenStreamController.add(newToken);
}
void _closeStream() {
foregroundMessageStreamController.close();
backgroundMessageStreamController.close();
fcmTokenStreamController.close();
}
void dispose() {