diff --git a/iphone/Maps/Common/Statistics/StatisticsStrings.h b/iphone/Maps/Common/Statistics/StatisticsStrings.h index 6234540e49..040ca84226 100644 --- a/iphone/Maps/Common/Statistics/StatisticsStrings.h +++ b/iphone/Maps/Common/Statistics/StatisticsStrings.h @@ -125,6 +125,7 @@ static NSString * const kStatDownloaderOnStartScreenError = @"Downloader_OnStart static NSString * const kStatDownloaderOnStartScreenManualDownload = @"Downloader_OnStartScreen_manual_download"; static NSString * const kStatDownloaderOnStartScreenSelectLater = @"Downloader_OnStartScreen_select_later"; static NSString * const kStatDownloaderOnStartScreenShow = @"Downloader_OnStartScreen_show"; +static NSString * const kStatDrivingOptionsChange = @"Settings_Navigation_DrivingOptions_change"; static NSString * const kStatEatAndDrink = @"Eat and drink"; static NSString * const kStatEdit = @"Edit"; static NSString * const kStatEditOnWeb = @"edit_on_web"; @@ -159,6 +160,7 @@ static NSString * const kStatExplore = @"Explore"; static NSString * const kStatExternal = @"external"; static NSString * const kStatFacebook = @"Facebook"; static NSString * const kStatFeedback = @"Feedback"; +static NSString * const kStatFerry = @"ferry"; static NSString * const kStatFrom = @"from"; static NSString * const kStatFromLocation = @"from_location"; static NSString * const kStatFromMyPosition = @"From my position"; @@ -219,6 +221,7 @@ static NSString * const kStatMopub = @"Mopub"; static NSString * const kStatMore = @"More"; static NSString * const kStatMoreApps = @"More apps"; static NSString * const kStatMotel = @"motel"; +static NSString * const kStatMotorway = @"motorway"; static NSString * const kStatMyPosition = @"My position"; static NSString * const kStatMyTargetAppsClicked = @"MyTargetAppsClicked"; static NSString * const kStatMyTargetAppsDisplayed = @"MyTargetAppsDisplayed"; @@ -255,13 +258,14 @@ static NSString * const kStatOut = @"Out"; static NSString * const kStatPedestrian = @"Pedestrian"; static NSString * const kStatPhone = @"Phone"; static NSString * const kStatPlacePage = @"placepage"; -static NSString * const kStatPlacePageDescriptionLinkClick = @"Placepage_Description_Outbound_click"; -static NSString * const kStatPlacePageDescriptionMore = @"Placepage_Description_more"; -static NSString * const kStatPlacePageDescriptionViewAll = @"Placepage_Description_View_all"; static NSString * const kStatPlacePageBannerBlank = @"Placepage_Banner_blank"; static NSString * const kStatPlacePageBannerClick = @"Placepage_Banner_click"; static NSString * const kStatPlacePageBannerError = @"Placepage_Banner_error"; static NSString * const kStatPlacePageBannerShow = @"Placepage_Banner_show"; +static NSString * const kStatPlacePageDescriptionLinkClick = @"Placepage_Description_Outbound_click"; +static NSString * const kStatPlacePageDescriptionMore = @"Placepage_Description_more"; +static NSString * const kStatPlacePageDescriptionViewAll = @"Placepage_Description_View_all"; +static NSString * const kStatPlacepageDrivingOptionsAction = @"Placepage_DrivingOptions_action"; static NSString * const kStatPlacePageHotelBook = @"Placepage_Hotel_book"; static NSString * const kStatPlacePageHotelDetails = @"Placepage_Hotel_details"; static NSString * const kStatPlacePageHotelFacilities = @"PlacePage_Hotel_Facilities_open"; @@ -311,6 +315,8 @@ static NSString * const kStatResort = @"resort"; static NSString * const kStatRestaurant = @"restaurant"; static NSString * const kStatRestaurantLocation = @"restaurant_location"; static NSString * const kStatRetry = @"retry"; +static NSString * const kStatRoadWarning = @"road_warning"; +static NSString * const kStatRoute = @"route"; static NSString * const kStatRouteManagerClose = @"Routing_RouteManager_close"; static NSString * const kStatRouteManagerOpen = @"Routing_RouteManager_open"; static NSString * const kStatRouteManagerRearrange = @"Routing_RouteManager_rearrange"; @@ -403,6 +409,7 @@ static NSString * const kStatToggleStatistics = @"Toggle statistics"; static NSString * const kStatToggleTransliteration = @"Toggle transliteration"; static NSString * const kStatToggleVisibility = @"Toggle visibility"; static NSString * const kStatToggleZoomButtonsVisibility = @"Toggle zoom buttons visibility"; +static NSString * const kStatToll = @"toll"; static NSString * const kStatToolbarClick = @"Toolbar_click"; static NSString * const kStatToolbarMenuClick = @"Toolbar_Menu_click"; static NSString * const kStatTracks = @"tracks"; @@ -423,6 +430,7 @@ static NSString * const kStatUGCReviewSuccess = @"UGC_Review_success"; static NSString * const kStatUber = @"Uber"; static NSString * const kStatUnknown = @"unknown"; static NSString * const kStatUnknownError = @"unknown_error"; +static NSString * const kStatUnpaved = @"unpaved"; static NSString * const kStatUpdate = @"update"; static NSString * const kStatUpdateAll = @"update_all"; static NSString * const kStatUrl = @"url"; diff --git a/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm b/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm index 028d300ed7..5ea15c1c69 100644 --- a/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm +++ b/iphone/Maps/UI/PlacePage/MWMPlacePageManager.mm @@ -572,12 +572,16 @@ void RegisterEventIfPossible(eye::MapObject::Event::Type const type, place_page: } - (void)avoidDirty { + [Statistics logEvent:kStatPlacepageDrivingOptionsAction + withParameters:@{kStatType : [kStatUnpaved capitalizedString]}]; [MWMRouter avoidRoadTypeAndRebuild:MWMRoadTypeDirty]; [self closePlacePage]; } - (void)avoidFerry { + [Statistics logEvent:kStatPlacepageDrivingOptionsAction + withParameters:@{kStatType : [kStatFerry capitalizedString]}]; [MWMRouter avoidRoadTypeAndRebuild:MWMRoadTypeFerry]; [self closePlacePage]; } @@ -590,6 +594,8 @@ void RegisterEventIfPossible(eye::MapObject::Event::Type const type, place_page: - (void)avoidToll { + [Statistics logEvent:kStatPlacepageDrivingOptionsAction + withParameters:@{kStatType : [kStatToll capitalizedString]}]; [MWMRouter avoidRoadTypeAndRebuild:MWMRoadTypeToll]; [self closePlacePage]; } diff --git a/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.mm b/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.mm index 01a611c6bc..ec1cd416a3 100644 --- a/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.mm +++ b/iphone/Maps/UI/PlacePage/PlacePageLayout/MWMPlacePageLayout.mm @@ -14,6 +14,7 @@ #import "MWMiPhonePlacePageLayoutImpl.h" #import "MapViewController.h" #import "SwiftBridge.h" +#import "Statistics.h" #include "partners_api/booking_api.hpp" diff --git a/iphone/Maps/UI/Settings/DrivingOptionsViewController.swift b/iphone/Maps/UI/Settings/DrivingOptionsViewController.swift index 9a7496818a..10a32d8531 100644 --- a/iphone/Maps/UI/Settings/DrivingOptionsViewController.swift +++ b/iphone/Maps/UI/Settings/DrivingOptionsViewController.swift @@ -19,6 +19,20 @@ class DrivingOptionsViewController: MWMTableViewController { override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { return L("driving_options_subheader") } + + func logChangeEvent() { + let viewControllers = self.navigationController?.viewControllers ?? [] + var openFrom = kStatSettings + if (viewControllers.dropLast().last as? MapViewController) != nil { + openFrom = kStatRoute + } + Statistics.logEvent(kStatDrivingOptionsChange, + withParameters: [kStatFrom: openFrom, + kStatToll: options.avoidToll ? 1 : 0, + kStatUnpaved: options.avoidDirty ? 1 : 0, + kStatFerry: options.avoidFerry ? 1 : 0, + kStatMotorway: options.avoidMotorway ? 1 : 0]) + } } extension DrivingOptionsViewController: SettingsTableViewSwitchCellDelegate { @@ -34,5 +48,6 @@ extension DrivingOptionsViewController: SettingsTableViewSwitchCellDelegate { } options.save() + logChangeEvent() } }