registering fcm token for users
This commit is contained in:
parent
67c583bc7e
commit
d83625521b
|
|
@ -3,6 +3,7 @@ import 'package:didvan/models/enums.dart';
|
|||
import 'package:didvan/models/user.dart';
|
||||
import 'package:didvan/models/view/alert_data.dart';
|
||||
import 'package:didvan/providers/core_provider.dart';
|
||||
import 'package:didvan/services/app_initalizer.dart';
|
||||
import 'package:didvan/services/network/request.dart';
|
||||
import 'package:didvan/services/network/request_helper.dart';
|
||||
import 'package:didvan/services/storage/storage.dart';
|
||||
|
|
@ -35,11 +36,19 @@ class UserProvider extends CoreProvier {
|
|||
}
|
||||
if (service.isSuccess) {
|
||||
user = User.fromJson(service.result['user']);
|
||||
await _registerFirebaseToken();
|
||||
return true;
|
||||
}
|
||||
throw 'Getting user from API failed!';
|
||||
}
|
||||
|
||||
Future<void> _registerFirebaseToken() async {
|
||||
final service = RequestService(RequestHelper.firebaseToken, body: {
|
||||
'firebaseToken': AppInitializer.fcmToken,
|
||||
});
|
||||
await service.put();
|
||||
}
|
||||
|
||||
Future<bool> setProfilePhoto(dynamic file) async {
|
||||
appState = AppState.isolatedBusy;
|
||||
final RequestService service =
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ import 'package:flutter/material.dart';
|
|||
import 'package:path_provider/path_provider.dart';
|
||||
|
||||
class AppInitializer {
|
||||
static String? fcmToken;
|
||||
|
||||
static Future<void> setupServices() async {
|
||||
if (!kIsWeb) {
|
||||
StorageService.appDocsDir =
|
||||
|
|
@ -74,7 +76,8 @@ class AppInitializer {
|
|||
Firebase.app();
|
||||
}
|
||||
final FirebaseMessaging fcm = FirebaseMessaging.instance;
|
||||
fcm.subscribeToTopic('general');
|
||||
fcmToken = await fcm.getToken();
|
||||
await fcm.subscribeToTopic('general');
|
||||
await fcm.requestPermission(
|
||||
alert: true,
|
||||
announcement: false,
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ class RequestHelper {
|
|||
static const String login = _baseUserUrl + '/login';
|
||||
static const String directs = _baseUserUrl + '/direct';
|
||||
static const String userInfo = _baseUserUrl + '/info';
|
||||
static const String firebaseToken = _baseUserUrl + '/firebaseToken';
|
||||
static const String silenceInterval = _baseUserUrl + '/silenceInterval';
|
||||
static const String updateProfilePhoto = _baseUserUrl + '/profile/photo';
|
||||
static const String checkUsername = _baseUserUrl + '/CheckUsername';
|
||||
static const String updateProfile = _baseUserUrl + '/profile/edit';
|
||||
|
|
|
|||
Loading…
Reference in New Issue