Skip to content
This repository has been archived by the owner on Aug 7, 2021. It is now read-only.

Commit

Permalink
Merge pull request #404 from aaronbrethorst/more-analytics
Browse files Browse the repository at this point in the history
Tighten up analytics, and make it easier to use.
  • Loading branch information
aaronbrethorst committed Mar 26, 2015
2 parents 86da126 + b635e01 commit 46efb55
Show file tree
Hide file tree
Showing 13 changed files with 53 additions and 46 deletions.
10 changes: 5 additions & 5 deletions OBAApplicationDelegate.m
Original file line number Diff line number Diff line change
Expand Up @@ -238,16 +238,16 @@ - (void)applicationDidBecomeActive:(UIApplication *)application {
![[NSUserDefaults standardUserDefaults] boolForKey:kAllowTracking];

if([self.modelDao.readCustomApiUrl isEqualToString:@""]) {
[OBAAnalytics reportEventWithCategory:@"app_settings" action:@"configured_region" label:[NSString stringWithFormat:@"API Region: %@",self.modelDao.region.regionName] value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryAppSettings action:@"configured_region" label:[NSString stringWithFormat:@"API Region: %@",self.modelDao.region.regionName] value:nil];
}else{
[OBAAnalytics reportEventWithCategory:@"app_settings" action:@"configured_region" label:@"API Region: Custom URL" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryAppSettings action:@"configured_region" label:@"API Region: Custom URL" value:nil];
}
[OBAAnalytics reportEventWithCategory:@"app_settings" action:@"general" label:[NSString stringWithFormat:@"Set Region Automatically: %@", (self.modelDao.readSetRegionAutomatically ? @"YES" : @"NO")] value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryAppSettings action:@"general" label:[NSString stringWithFormat:@"Set Region Automatically: %@", (self.modelDao.readSetRegionAutomatically ? @"YES" : @"NO")] value:nil];

BOOL _showExperimentalRegions = NO;
if ([[NSUserDefaults standardUserDefaults] boolForKey: @"kOBAShowExperimentalRegionsDefaultsKey"])
_showExperimentalRegions = [[NSUserDefaults standardUserDefaults] boolForKey: @"kOBAShowExperimentalRegionsDefaultsKey"];
[OBAAnalytics reportEventWithCategory:@"app_settings" action:@"general" label:[NSString stringWithFormat:@"Show Experimental Regions: %@", (_showExperimentalRegions ? @"YES" : @"NO")] value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryAppSettings action:@"general" label:[NSString stringWithFormat:@"Show Experimental Regions: %@", (_showExperimentalRegions ? @"YES" : @"NO")] value:nil];
}

- (void)applicationWillResignActive:(UIApplication *)application {
Expand Down Expand Up @@ -298,7 +298,7 @@ - (void)_updateSelectedTabIndex {
break;
}

[OBAAnalytics reportEventWithCategory:@"app_settings" action:@"startup" label:[NSString stringWithFormat:@"Startup View: %@",startupView] value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryAppSettings action:@"startup" label:[NSString stringWithFormat:@"Startup View: %@",startupView] value:nil];
}

- (void) _navigateToTargetInternal:(OBANavigationTarget*)navigationTarget {
Expand Down
2 changes: 1 addition & 1 deletion location/OBARegionHelper.m
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ - (void)setNearestRegion {
[self.appDelegate.locationManager removeDelegate:self];
[self.appDelegate.modelDao writeSetRegionAutomatically:YES];

[OBAAnalytics reportEventWithCategory:@"app_settings" action:@"configured_region_auto" label:[NSString stringWithFormat:@"Set Region Automatically: %@; Old Region: %@", self.appDelegate.modelDao.region.regionName, oldRegion] value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryAppSettings action:@"configured_region_auto" label:[NSString stringWithFormat:@"Set Region Automatically: %@; Old Region: %@", self.appDelegate.modelDao.region.regionName, oldRegion] value:nil];
}
}

Expand Down
2 changes: 1 addition & 1 deletion ui/bookmarks/OBAEditBookmarkGroupViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ - (void)onCancelButton:(id)sender {
- (void)onSaveButton:(id)sender {
OBAModelDAO *dao = _appDelegate.modelDao;
_bookmarkGroup.name = _textField.text;
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"edit_field" label:@"Edited Bookmark" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"edit_field" label:@"Edited Bookmark" value:nil];
[dao addOrSaveBookmarkGroup:_bookmarkGroup];
[self.navigationController popViewControllerAnimated:YES];
}
Expand Down
2 changes: 1 addition & 1 deletion ui/bookmarks/OBAEditStopBookmarkGroupViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
} else {
if (self.editing) {
OBAEditBookmarkGroupViewController *editBookmarkGroupVC = [[OBAEditBookmarkGroupViewController alloc] initWithApplicationDelegate:self.appDelegate bookmarkGroup:self.groups[indexPath.row - 2] editType:OBABookmarkGroupEditExisting];
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"edit_field" label:@"Edited Bookmark Group" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"edit_field" label:@"Edited Bookmark Group" value:nil];
[self.navigationController pushViewController:editBookmarkGroupVC animated:YES];
} else {
NSInteger oldGroupRow = self.selectedGroup ? ([self.groups indexOfObject:self.selectedGroup]+2) : 1;
Expand Down
14 changes: 7 additions & 7 deletions ui/info/OBAContactUsViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N

- (void)sendFeedbackEmailForRegion:(OBARegionV2 *)region {

[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Clicked Email Link" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Clicked Email Link" value:nil];

if (![MFMailComposeViewController canSendMail]) {
[self cantSendEmail];
Expand Down Expand Up @@ -180,35 +180,35 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
break;
case kTwitterRow:
{
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Clicked Twitter Link" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Clicked Twitter Link" value:nil];
NSString *twitterUrl = kOBADefaultTwitterURL;
if (region) {
twitterUrl = region.twitterUrl;
}
NSString *twitterName = [[twitterUrl componentsSeparatedByString:@"/"] lastObject];
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"twitter://"]]) {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"app_switch" label:@"Loaded Twitter via App" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"app_switch" label:@"Loaded Twitter via App" value:nil];
NSString *url = [NSString stringWithFormat:@"twitter://user?screen_name=%@",twitterName ];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
} else {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"app_switch" label:@"Loaded Twitter via Web" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"app_switch" label:@"Loaded Twitter via Web" value:nil];
NSString *url = [NSString stringWithFormat:@"http://twitter.com/%@", twitterName];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];
}
}
break;
case kFacebookRow:
if (region.facebookUrl) {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Clicked Facebook Link" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Clicked Facebook Link" value:nil];
NSString *facebookUrl = region.facebookUrl;
NSString *facebookPage = [[facebookUrl componentsSeparatedByString:@"/"] lastObject];

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://"]]) {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"app_switch" label:@"Loaded Facebook via App" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"app_switch" label:@"Loaded Facebook via App" value:nil];
NSString *url = [NSString stringWithFormat:@"fb://profile/%@",facebookPage ];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: url]];
} else {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"app_switch" label:@"Loaded Facebook via Web" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"app_switch" label:@"Loaded Facebook via Web" value:nil];
NSString *url = [NSString stringWithFormat:@"http://facebook.com/%@", facebookPage];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: url]];
}
Expand Down
4 changes: 2 additions & 2 deletions ui/info/OBAInfoViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -141,13 +141,13 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
break;
}
case kFeatureRequests: {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Clicked Feature Request Link" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Clicked Feature Request Link" value:nil];
NSString *url = [NSString stringWithString: NSLocalizedString(@"http://onebusaway.ideascale.com/a/ideafactory.do?id=8715&mode=top&discussionFilter=byids&discussionID=46166",@"didSelectRowAtIndexPath case 1")];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];
break;
}
case kPrivacy: {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Clicked Privacy Policy Link" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Clicked Privacy Policy Link" value:nil];
NSString *url = [NSString stringWithString: NSLocalizedString(@"http://onebusaway.org/privacy/",@"didSelectRowAtIndexPath case 3")];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];
break;
Expand Down
12 changes: 6 additions & 6 deletions ui/info/OBARegionListViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -430,15 +430,15 @@ - (void)didSelectRegionRowAtIndexPath:(NSIndexPath *)indexPath tableView:(UITabl
case OBASectionTypeNearbyRegions:
region = self.nearbyRegion;
[self.appDelegate.modelDao writeSetRegionAutomatically:YES];
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Set region automatically" value:nil];
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"set_region" label:[NSString stringWithFormat:@"Set region automatically: %@",region.regionName] value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Set region automatically" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"set_region" label:[NSString stringWithFormat:@"Set region automatically: %@",region.regionName] value:nil];
break;

case OBASectionTypeAllRegions:
region = self.regions[indexPath.row];
[self.appDelegate.modelDao writeSetRegionAutomatically:NO];
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Set region manually" value:nil];
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"set_region" label:[NSString stringWithFormat:@"Set region manually: %@",region.regionName] value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Set region manually" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"set_region" label:[NSString stringWithFormat:@"Set region manually: %@",region.regionName] value:nil];
break;

default:
Expand Down Expand Up @@ -527,10 +527,10 @@ - (void)doNeedToUpdateRegionsList {
_didJustBeginShowingExperimental = _showExperimentalRegions;

if (_showExperimentalRegions) {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Turned on Experimental Regions" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Turned on Experimental Regions" value:nil];
}
else {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Turned off Experimental Regions" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Turned off Experimental Regions" value:nil];
}

if (self.appDelegate.modelDao.region.experimental) {
Expand Down
22 changes: 11 additions & 11 deletions ui/search/OBASearchResultsMapViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ - (void)contrastToggled {
}

- (void)setHighContrastStyle {
[OBAAnalytics reportEventWithCategory:@"accessibility" action:@"increase_contrast" label:[NSString stringWithFormat:@"Loaded view: %@ with Increased Contrast", [self class]] value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryAccessibility action:@"increase_contrast" label:[NSString stringWithFormat:@"Loaded view: %@ with Increased Contrast", [self class]] value:nil];

self.searchBar.searchBarStyle = UISearchBarStyleDefault;
self.searchBar.barTintColor = OBADARKGREEN;
Expand Down Expand Up @@ -333,7 +333,7 @@ - (UIBarButtonItem *)getArrowButton {
#pragma mark - UISearchBarDelegate

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Search box selected" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Search box selected" value:nil];

[self.navigationItem setLeftBarButtonItem:nil animated:YES];
[self.navigationItem setRightBarButtonItem:nil animated:YES];
Expand All @@ -354,29 +354,29 @@ - (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar {
}

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Cancel search button clicked" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Cancel search button clicked" value:nil];

[searchBar endEditing:YES];
[self cancelPressed];
}

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Search button clicked" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Search button clicked" value:nil];

OBANavigationTarget *target = nil;
self.searchController.searchRegion = [self convertVisibleMapIntoCLRegion];

if (kRouteSegmentIndex == self.searchTypeSegmentedControl.selectedSegmentIndex) {
target = [OBASearch getNavigationTargetForSearchRoute:searchBar.text];
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Search: Route" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Search: Route" value:nil];
}
else if (kAddressSegmentIndex == self.searchTypeSegmentedControl.selectedSegmentIndex) {
target = [OBASearch getNavigationTargetForSearchAddress:searchBar.text];
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Search: Address" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Search: Address" value:nil];
}
else {
target = [OBASearch getNavigationTargetForSearchStopCode:searchBar.text];
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Search: Stop" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Search: Stop" value:nil];
}

[self.appDelegate navigateToTarget:target];
Expand Down Expand Up @@ -743,9 +743,9 @@ - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)butto
else if (alertView.tag == kOBAOutOfRangeAlertViewTag) {
if (buttonIndex == 0) {
self.hideFutureOutOfRangeErrors = YES;
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Out of Region Alert: NO" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Out of Region Alert: NO" value:nil];
} else if (buttonIndex == 1) {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Out of Region Alert: YES" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Out of Region Alert: YES" value:nil];
MKMapRect serviceRect = [self.appDelegate.modelDao.region serviceRect];
[self.mapRegionManager setRegion:MKCoordinateRegionForMapRect(serviceRect)];
}
Expand All @@ -755,15 +755,15 @@ - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)butto
#pragma mark - IBActions

- (IBAction)onCrossHairsButton:(id)sender {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"Clicked My Location Button" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"Clicked My Location Button" value:nil];
OBALogDebug(@"setting auto center on current location");
self.mapRegionManager.lastRegionChangeWasProgramatic = YES;
[self refreshCurrentLocation];
}

- (void)onMapTabBarButton {
if (self.isViewLoaded && self.view.window) {
[OBAAnalytics reportEventWithCategory:@"ui_action" action:@"button_press" label:@"My Location via Map Tab Button" value:nil];
[OBAAnalytics reportEventWithCategory:OBAAnalyticsCategoryUIAction action:@"button_press" label:@"My Location via Map Tab Button" value:nil];
OBALogDebug(@"setting auto center on current location (via tab bar)");
self.mapRegionManager.lastRegionChangeWasProgramatic = YES;
[self refreshCurrentLocation];
Expand Down
Loading

0 comments on commit 46efb55

Please sign in to comment.