Analytics for login registration

merge-requests/602/head
Zohaib Iqbal Kambrani 3 years ago
parent f50bfda330
commit 1523fd5ade

@ -3,6 +3,8 @@ import 'package:flutter/cupertino.dart';
import '../google-analytics.dart';
class LoginRegistration{
static int loginMethod;
static int verificationMethod;
final GALogger logger;
LoginRegistration(this.logger);
@ -66,20 +68,29 @@ class LoginRegistration{
}
// R011:login_verify_otp | R009:registration_verification_option
verify_otp_method({@required int method, bool forRegistration = false}){
var verification_method = '';
if(method == 1) verification_method = 'sms';
if(method == 2) verification_method = 'fingerprint';
if(method == 3) verification_method = 'face id';
if(method == 4) verification_method = 'whatsapp';
verify_otp_method({bool forRegistration = false}){
if(forRegistration == false)
logger("login_verify_otp", parameters: {
'login_method' : verification_method
'login_method' : _getLoginMethod(),
'verification_method' : _getVerificationMethod(),
});
else
logger("registration_verification_option", parameters: {
'verification_method' : verification_method
'verification_method' : _getVerificationMethod()
});
}
// R011:login_verify_otp | R009:registration_verification_option
login_verfication({bool forRegistration = false}){
if(forRegistration == false)
logger("login_verfication", parameters: {
'login_method' : _getLoginMethod(),
'verification_method' : _getVerificationMethod(),
});
else
logger("login_varification_register", parameters: {
'login_method' : _getLoginMethod(),
'verification_method' : _getVerificationMethod(),
});
}
@ -94,14 +105,9 @@ class LoginRegistration{
}
// R012.1, R014.1
login_successful({@required int method}){
var verification_method = '';
if(method == 1) verification_method = 'sms';
if(method == 2) verification_method = 'fingerprint';
if(method == 3) verification_method = 'face id';
if(method == 4) verification_method = 'whatsapp';
login_successful(){
logger('login_successful', parameters: {
'login_method' : verification_method
'login_method' : _getVerificationMethod()
});
}
@ -112,9 +118,9 @@ class LoginRegistration{
});
}
login_fail({@required String method, error}){
login_fail({error}){
logger('login_unsuccessful', parameters: {
'login_method' : method,
'login_method' : loginMethod,
'error': error
});
}
@ -128,4 +134,19 @@ class LoginRegistration{
login_with_other_account(){
logger('login_with_other_account');
}
_getLoginMethod(){
if(loginMethod == 1) return 'national id';
if(loginMethod == 2) return 'file number';
return 'otp';
}
String _getVerificationMethod(){
if(verificationMethod == 1) return 'sms';
if(verificationMethod == 2) return 'fingerprint';
if(verificationMethod == 3) return 'face id';
if(verificationMethod == 4) return 'whatsapp';
return "unknown";
}
}

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/analytics/flows/login_registration.dart';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/config/size_config.dart';
@ -308,6 +309,9 @@ class _ConfirmLogin extends State<ConfirmLogin> {
this.selectedOption = fingrePrintBefore != null ? fingrePrintBefore : type;
login_method = type;
LoginRegistration.verificationMethod = type;
projectViewModel.analytics.loginRegistration.login_verfication(forRegistration: widget.fromRegistration);
switch (type) {
case 1:
this.loginWithSMS(type);
@ -579,11 +583,12 @@ class _ConfirmLogin extends State<ConfirmLogin> {
else
{
// Navigator.of(context).pop(),
projectViewModel.analytics.errorTracking.log('otp_verification_at_confirm_login', error: result),
GifLoaderDialogUtils.hideDialog(context),
Future.delayed(Duration(seconds: 1), () {
AppToast.showErrorToast(message: result);
}),
projectViewModel.analytics.loginRegistration.login_fail(error: result),
projectViewModel.analytics.errorTracking.log('otp_verification_at_confirm_login', error: result),
}
})
.catchError((err) {
@ -609,7 +614,7 @@ class _ConfirmLogin extends State<ConfirmLogin> {
}
else
{
projectViewModel.analytics.loginRegistration.login_successful(method: login_method),
projectViewModel.analytics.loginRegistration.login_successful(),
sharedPref.remove(FAMILY_FILE),
result.list.isFamily = false,
userData = result.list,
@ -629,10 +634,12 @@ class _ConfirmLogin extends State<ConfirmLogin> {
// Navigator.of(context).pop(),
GifLoaderDialogUtils.hideDialog(context),
Future.delayed(Duration(seconds: 1), () {
projectViewModel.analytics.errorTracking.log('otp_verification_at_confirm_login', error: result);
AppToast.showErrorToast(message: result);
startSMSService(tempType);
}),
projectViewModel.analytics.loginRegistration.login_fail(error: result),
projectViewModel.analytics.errorTracking.log('otp_verification_at_confirm_login', error: result)
}
})
.catchError((err) {
@ -728,8 +735,8 @@ class _ConfirmLogin extends State<ConfirmLogin> {
isMoreOption = true;
});
} else {
projectViewModel.analytics.loginRegistration.verify_otp_method(method: _flag, forRegistration: widget.fromRegistration);
authenticateUser(_flag, isActive: _loginIndex);
projectViewModel.analytics.loginRegistration.verify_otp_method(forRegistration: widget.fromRegistration);
}
},
child: Container(

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/analytics/flows/login_registration.dart';
import 'package:diplomaticquarterapp/analytics/google-analytics.dart';
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/locator.dart';
@ -241,6 +242,7 @@ class LoginType extends StatelessWidget {
onTap: () {
LoginType.loginType = _flag;
locator<GAnalytics>().loginRegistration.login_start(method: type);
LoginRegistration.loginMethod = _flag;
Navigator.of(_context).push(FadePage(page: Login()));
},
child: Container(

@ -30,6 +30,7 @@ import 'package:flutter/rendering.dart';
import 'package:provider/provider.dart';
class Login extends StatefulWidget {
@override
_Login createState() => _Login();
}
@ -282,7 +283,7 @@ class _Login extends State<Login> {
},
cancelFunction: () => {});
dialog.showAlertDialog(context);
projectViewModel.analytics.loginRegistration.login_fail(method: this.loginType == 1 ? "national id" : "file number", error: err.toString());
projectViewModel.analytics.loginRegistration.login_fail(error: err.toString());
});
}

@ -1,6 +1,8 @@
import 'package:diplomaticquarterapp/analytics/flows/login_registration.dart';
import 'package:diplomaticquarterapp/analytics/google-analytics.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/models/Authentication/check_user_status_reponse.dart';
import 'package:diplomaticquarterapp/models/Authentication/check_user_status_req.dart';
@ -341,6 +343,7 @@ class _Register extends State<Register> {
okFunction: () {
AlertDialogBox.closeAlertDialog(context);
sharedPref.setObject(REGISTER_DATA_FOR_LOGIIN, nRequest);
LoginRegistration.loginMethod = 1; // 1=NationalID, by default from Registration
Navigator.of(context).push(FadePage(page: Login()));
},
cancelFunction: () {})

@ -404,7 +404,7 @@ class Signaling {
'to': session.remote_user?.id,
'from': session.local_user.id,
'candidate': {
'sdpMLineIndex': candidate.sdpMLineIndex,
'sdpMLineIndex': candidate.sdpMlineIndex,
'sdpMid': candidate.sdpMid,
'candidate': candidate.candidate,
},

Loading…
Cancel
Save