diff --git a/src/Android/Services/GoogleAnalyticsService.cs b/src/Android/Services/GoogleAnalyticsService.cs index b18066ce9..62f733e7b 100644 --- a/src/Android/Services/GoogleAnalyticsService.cs +++ b/src/Android/Services/GoogleAnalyticsService.cs @@ -9,6 +9,7 @@ namespace Bit.Android.Services { private const string UserId = "&uid"; + private readonly GoogleAnalytics _instance; private readonly IAuthService _authService; private readonly Tracker _tracker; private bool _setUserId = true; @@ -20,10 +21,10 @@ namespace Bit.Android.Services { _authService = authService; - var instance = GoogleAnalytics.GetInstance(appContext.ApplicationContext); - instance.SetLocalDispatchPeriod(10); + _instance = GoogleAnalytics.GetInstance(appContext.ApplicationContext); + _instance.SetLocalDispatchPeriod(10); - _tracker = instance.NewTracker("UA-81915606-2"); + _tracker = _instance.NewTracker("UA-81915606-2"); _tracker.EnableExceptionReporting(true); _tracker.EnableAdvertisingIdCollection(true); _tracker.EnableAutoActivityTracking(true); @@ -85,5 +86,10 @@ namespace Bit.Android.Services _setUserId = false; } } + + public void Dispatch() + { + _instance.DispatchLocalHits(); + } } } diff --git a/src/App/Abstractions/Services/IGoogleAnalyticsService.cs b/src/App/Abstractions/Services/IGoogleAnalyticsService.cs index a66fa5158..802f37350 100644 --- a/src/App/Abstractions/Services/IGoogleAnalyticsService.cs +++ b/src/App/Abstractions/Services/IGoogleAnalyticsService.cs @@ -8,5 +8,6 @@ void TrackExtensionEvent(string eventName, string label = null); void TrackEvent(string category, string eventName, string label = null); void TrackException(string message, bool fatal); + void Dispatch(); } } diff --git a/src/iOS.Core/Services/GoogleAnalyticsService.cs b/src/iOS.Core/Services/GoogleAnalyticsService.cs index 8968a17d9..f9a918383 100644 --- a/src/iOS.Core/Services/GoogleAnalyticsService.cs +++ b/src/iOS.Core/Services/GoogleAnalyticsService.cs @@ -62,6 +62,11 @@ namespace Bit.iOS.Core.Services _tracker.Send(dict); } + public void Dispatch() + { + Gai.SharedInstance.Dispatch(); + } + private void SetUserId() { if(_setUserId && _authService.IsAuthenticated) diff --git a/src/iOS.Extension/LoadingViewController.cs b/src/iOS.Extension/LoadingViewController.cs index 6452e019d..6419e4f47 100644 --- a/src/iOS.Extension/LoadingViewController.cs +++ b/src/iOS.Extension/LoadingViewController.cs @@ -228,6 +228,7 @@ namespace Bit.iOS.Extension Constants.AppExtensionOldPasswordKey, password); } + _googleAnalyticsService.TrackExtensionEvent("AutoFilled", _context.ProviderType); CompleteRequest(itemData); }