我正在 Flutter 应用程序中开发身份验证服务
当我使用 Firebase 身份验证和共享首选项时,登录只能在 调试模式
在发布模式不起作用:(,但是当我从登录方法中删除共享首选项时它起作用 在调试模式和发布模式 :(
登录方法有效
Future<void> signInWithTrafficUser(String email , String password) async {
try {
await _firebaseAuth.signInWithEmailAndPassword(email: email , password: password);
final User user = _firebaseAuth.currentUser;
_userId = user.uid;
_userName = user.displayName;
_email = user.email;
_userProfilePic = user.photoURL;
_userVerification = user.emailVerified;
_showHint = false;
_showHint2 = false;
final userUrl= Uri.parse('https://taw3ia-ac6b2.firebaseio.com/UsersInfo/$_userId.json?user_id=$userId');
final userGetData = await http.get(userUrl);
final responseUserData = json.decode(userGetData.body);
_userRank = responseUserData['userRank'];
_userCity = responseUserData['userCity'];
_userPoint = responseUserData['userPoint'];
_userThemeMode = responseUserData['userMode'];
notifyListeners();
} on FirebaseAuthException catch (e) {
throw HttpException(e.message);
}
}
登录方法无效
Future<void> signInWithTrafficUser(String email , String password) async {
try {
await _firebaseAuth.signInWithEmailAndPassword(email: email , password: password);
final User user = _firebaseAuth.currentUser;
_userId = user.uid;
_userName = user.displayName;
_email = user.email;
_userProfilePic = user.photoURL;
_userVerification = user.emailVerified;
_showHint = false;
_showHint2 = false;
final userUrl= Uri.parse('https://taw3ia-ac6b2.firebaseio.com/UsersInfo/$_userId.json?user_id=$userId');
final userGetData = await http.get(userUrl);
final responseUserData = json.decode(userGetData.body);
_userRank = responseUserData['userRank'];
_userCity = responseUserData['userCity'];
_userPoint = responseUserData['userPoint'];
_userThemeMode = responseUserData['userMode'];
final prefs = await SharedPreferences.getInstance();
final userData = json.encode(
{
'userId': _userId,
'email' : _email,
'userName' : _userName,
'userPic' : _userProfilePic,
'userCity':_userCity,
'userPoint':_userPoint,
'userRank':_userRank,
'userMode' : _userThemeMode,
'hint' : _showHint,
'hint2' : _showHint2,
'userVerification' : _userVerification,
},
);
prefs.setString('userData', userData);
notifyListeners();
} on FirebaseAuthException catch (e) {
throw HttpException(e.message);
}
}
**软件包版本:**
shared_preferences: ^2.0.3
firebase_auth: ^1.0.0
firebase_core: ^1.0.0
Flutter 和 Dart 版本:
Flutter 2.0.1
Dart SDK version: 2.12.0
<块引用>
注意:我在真实设备上测试应用