|
|
|
|
@ -16,6 +16,8 @@ import 'package:firebase_analytics/firebase_analytics.dart';
|
|
|
|
|
import 'package:firebase_analytics/observer.dart';
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:flutter/services.dart';
|
|
|
|
|
import 'package:geocoding/geocoding.dart';
|
|
|
|
|
import 'package:geolocator/geolocator.dart';
|
|
|
|
|
|
|
|
|
|
import 'flows/app_nav.dart';
|
|
|
|
|
import 'flows/hmg_services.dart';
|
|
|
|
|
@ -59,14 +61,19 @@ class GAnalytics {
|
|
|
|
|
static String APPOINTMENT_DETAIL_FLOW_TYPE;
|
|
|
|
|
static String PAYMENT_TYPE;
|
|
|
|
|
|
|
|
|
|
setUser(AuthenticatedUser user){
|
|
|
|
|
if(user != null){
|
|
|
|
|
_analytics.setUserProperty(name: 'user_country', value: user.iSOCountryID);
|
|
|
|
|
setUser(AuthenticatedUser user) async{
|
|
|
|
|
try{
|
|
|
|
|
_analytics.setUserProperty(name: 'user_language', value: user.preferredLanguage == '1' ? 'arabic' : 'english');
|
|
|
|
|
_analytics.setUserProperty(name: 'userid', value: Utils.generateMd5Hash(user.emailAddress));
|
|
|
|
|
_analytics.setUserProperty(name: 'login_status', value: 'loggedin');
|
|
|
|
|
}else{
|
|
|
|
|
_analytics.setUserProperty(name: 'login_status', value: 'guest');
|
|
|
|
|
_analytics.setUserProperty(name: 'login_status', value: user == null ? 'guest' : 'loggedin');
|
|
|
|
|
final location = await Geolocator.getCurrentPosition();
|
|
|
|
|
if(location != null && !location.isMocked){
|
|
|
|
|
final places = await placemarkFromCoordinates(location.latitude, location.longitude, localeIdentifier: 'en_US');
|
|
|
|
|
final countryCode = places.first.isoCountryCode;
|
|
|
|
|
_analytics.setUserProperty(name: 'user_country', value: countryCode);
|
|
|
|
|
}
|
|
|
|
|
}catch(e){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|