diff --git a/WordPress/Classes/Utility/Analytics/WPAnalyticsTrackerAutomatticTracks.m b/WordPress/Classes/Utility/Analytics/WPAnalyticsTrackerAutomatticTracks.m index 7dcd9390e7f7..a3701de9b815 100644 --- a/WordPress/Classes/Utility/Analytics/WPAnalyticsTrackerAutomatticTracks.m +++ b/WordPress/Classes/Utility/Analytics/WPAnalyticsTrackerAutomatticTracks.m @@ -438,6 +438,12 @@ - (TracksEventPair *)eventPairForStat:(WPAnalyticsStat)stat eventName = @"site_menu_opened"; eventProperties = @{ TracksEventPropertyMenuItemKey : @"pages" }; break; + case WPAnalyticsStatOpenedPeople: + eventName = @"people_management_list_opened"; + break; + case WPAnalyticsStatOpenedPerson: + eventName = @"people_management_details_opened"; + break; case WPAnalyticsStatOpenedPlans: eventName = @"site_menu_opened"; eventProperties = @{ TracksEventPropertyMenuItemKey : @"plans" }; @@ -469,6 +475,12 @@ - (TracksEventPair *)eventPairForStat:(WPAnalyticsStat)stat case WPAnalyticsStatPerformedJetpackSignInFromStatsScreen: eventName = @"stats_screen_signed_into_jetpack"; break; + case WPAnalyticsStatPersonRemoved: + eventName = @"people_management_person_removed"; + break; + case WPAnalyticsStatPersonUpdated: + eventName = @"people_management_person_updated"; + break; case WPAnalyticsStatPostListAuthorFilterChanged: eventName = @"post_list_author_filter_changed"; break; @@ -823,11 +835,6 @@ - (TracksEventPair *)eventPairForStat:(WPAnalyticsStat)stat case WPAnalyticsStatLoginMagicLinkSucceeded: // to be implemented - case WPAnalyticsStatOpenedPeople: - case WPAnalyticsStatOpenedPerson: - case WPAnalyticsStatPersonRemoved: - case WPAnalyticsStatPersonUpdated: - case WPAnalyticsStatDefaultAccountChanged: case WPAnalyticsStatNoStat: case WPAnalyticsStatPerformedCoreDataMigrationFixFor45: diff --git a/WordPress/Classes/Utility/Analytics/WPAnalyticsTrackerMixpanel.m b/WordPress/Classes/Utility/Analytics/WPAnalyticsTrackerMixpanel.m index 96bb60712764..35468a6debe3 100644 --- a/WordPress/Classes/Utility/Analytics/WPAnalyticsTrackerMixpanel.m +++ b/WordPress/Classes/Utility/Analytics/WPAnalyticsTrackerMixpanel.m @@ -631,6 +631,12 @@ - (WPAnalyticsTrackerMixpanelInstructionsForStat *)instructionsForStat:(WPAnalyt case WPAnalyticsStatOpenedPages: instructions = [WPAnalyticsTrackerMixpanelInstructionsForStat mixpanelInstructionsForEventName:@"Site Menu - Opened Pages"]; break; + case WPAnalyticsStatOpenedPeople: + instructions = [WPAnalyticsTrackerMixpanelInstructionsForStat mixpanelInstructionsForEventName:@"People Management - Accessed List"]; + break; + case WPAnalyticsStatOpenedPerson: + instructions = [WPAnalyticsTrackerMixpanelInstructionsForStat mixpanelInstructionsForEventName:@"People Management - Accessed Details"]; + break; case WPAnalyticsStatOpenedComments: instructions = [WPAnalyticsTrackerMixpanelInstructionsForStat mixpanelInstructionsForEventName:@"Site Menu - Opened Comments"]; break; @@ -765,6 +771,12 @@ - (WPAnalyticsTrackerMixpanelInstructionsForStat *)instructionsForStat:(WPAnalyt case WPAnalyticsStatNotificationsSettingsUpdated: instructions = [WPAnalyticsTrackerMixpanelInstructionsForStat mixpanelInstructionsForEventName:@"Notification Settings - Updated"]; break; + case WPAnalyticsStatPersonRemoved: + instructions = [WPAnalyticsTrackerMixpanelInstructionsForStat mixpanelInstructionsForEventName:@"People Management - Removed Person"]; + break; + case WPAnalyticsStatPersonUpdated: + instructions = [WPAnalyticsTrackerMixpanelInstructionsForStat mixpanelInstructionsForEventName:@"People Management - Updated Person"]; + break; case WPAnalyticsStatPushAuthenticationApproved: instructions = [WPAnalyticsTrackerMixpanelInstructionsForStat mixpanelInstructionsForEventName:@"Push Authentication - Approved"]; break; @@ -1006,11 +1018,6 @@ - (WPAnalyticsTrackerMixpanelInstructionsForStat *)instructionsForStat:(WPAnalyt case WPAnalyticsStatLoginMagicLinkSucceeded: // To be implemented - case WPAnalyticsStatOpenedPeople: - case WPAnalyticsStatOpenedPerson: - case WPAnalyticsStatPersonRemoved: - case WPAnalyticsStatPersonUpdated: - case WPAnalyticsStatAppUpgraded: case WPAnalyticsStatDefaultAccountChanged: case WPAnalyticsStatLogSpecialCondition: diff --git a/WordPress/Classes/ViewRelated/People/PeopleViewController.swift b/WordPress/Classes/ViewRelated/People/PeopleViewController.swift index f6ef491de2b0..c8b84513c4f3 100644 --- a/WordPress/Classes/ViewRelated/People/PeopleViewController.swift +++ b/WordPress/Classes/ViewRelated/People/PeopleViewController.swift @@ -1,5 +1,6 @@ import UIKit import WordPressShared +import WordPressComAnalytics public class PeopleViewController: UITableViewController, NSFetchedResultsControllerDelegate, UIViewControllerRestoration { @@ -102,6 +103,7 @@ public class PeopleViewController: UITableViewController, NSFetchedResultsContro public override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) tableView.deselectSelectedRowWithAnimation(true) + WPAnalytics.track(.OpenedPeople) } public override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) { diff --git a/WordPress/Classes/ViewRelated/People/PersonViewController.swift b/WordPress/Classes/ViewRelated/People/PersonViewController.swift index 895112649728..38b3b9a838d3 100644 --- a/WordPress/Classes/ViewRelated/People/PersonViewController.swift +++ b/WordPress/Classes/ViewRelated/People/PersonViewController.swift @@ -1,6 +1,7 @@ import Foundation import UIKit import WordPressShared +import WordPressComAnalytics /// Displays a Blog's User Details /// @@ -104,6 +105,10 @@ final class PersonViewController : UITableViewController { WPStyleGuide.configureColorsForView(view, andTableView: tableView) } + override func viewWillAppear(animated: Bool) { + super.viewWillAppear(animated) + WPAnalytics.track(.OpenedPerson) + } // MARK: - UITableView Methods @@ -193,6 +198,8 @@ private extension PersonViewController { let service = PeopleService(blog: blog) service?.deleteUser(user) navigationController?.popViewControllerAnimated(true) + + WPAnalytics.track(.PersonRemoved) } func updateUserRole(newRole: Role) { @@ -214,6 +221,8 @@ private extension PersonViewController { // Optimistically refresh the UI self.person = updated + + WPAnalytics.track(.PersonUpdated) } func retryUpdatingRole(newRole: Role) {