Commit 2eb299f5 authored by adamta's avatar adamta Committed by Commit Bot

[iOS] Add metrics for Discover feed back of card actions

Records metrics for several Discover feed back of card actions:
- Open in same tab
- Open in new tab
- Open in incognito tab
- Add to reading list
- Open Send Feedback form
Required by crrev.com/i/3245773.

Bug: 1085419, 1122409
Change-Id: Idf4d2dcf958a49828eedf4d090432741e6db44ad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2387402
Commit-Queue: Adam Trudeau-Arcaro <adamta@google.com>
Reviewed-by: default avatarSergio Collazos <sczs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#803540}
parent 6b44e7d9
...@@ -30,6 +30,21 @@ ...@@ -30,6 +30,21 @@
// header menu. // header menu.
- (void)recordDiscoverFeedVisibilityChanged:(BOOL)visible; - (void)recordDiscoverFeedVisibilityChanged:(BOOL)visible;
// Records metrics for when a user opens an article in the same tab.
- (void)recordOpenURLInSameTab;
// Records metrics for when a user opens an article in a new tab.
- (void)recordOpenURLInNewTab;
// Records metrics for when a user opens an article in an incognito tab.
- (void)recordOpenURLInIncognitoTab;
// Records metrics for when a user adds an article to Read Later.
- (void)recordAddURLToReadLater;
// Records metrics for when a user opens the Send Feedback form.
- (void)recordTapSendFeedback;
@end @end
#endif // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_DISCOVER_FEED_METRICS_RECORDER_H_ #endif // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_DISCOVER_FEED_METRICS_RECORDER_H_
...@@ -45,8 +45,10 @@ enum class FeedLoadStreamStatus { ...@@ -45,8 +45,10 @@ enum class FeedLoadStreamStatus {
// renumbered and numeric values should never be reused. This must be kept // renumbered and numeric values should never be reused. This must be kept
// in sync with FeedUserActionType in enums.xml. // in sync with FeedUserActionType in enums.xml.
enum class FeedUserActionType { enum class FeedUserActionType {
// User tapped on card, opening the article in the same tab.
kTappedOnCard = 0, kTappedOnCard = 0,
kShownCard = 1, kShownCard = 1,
// User tapped on 'Send Feedback' in the back of card menu.
kTappedSendFeedback = 2, kTappedSendFeedback = 2,
// Discover feed header menu 'Learn More' tapped. // Discover feed header menu 'Learn More' tapped.
kTappedLearnMore = 3, kTappedLearnMore = 3,
...@@ -55,9 +57,11 @@ enum class FeedUserActionType { ...@@ -55,9 +57,11 @@ enum class FeedUserActionType {
// Discover feed header menu 'Manage Interests' tapped. // Discover feed header menu 'Manage Interests' tapped.
kTappedManageInterests = 6, kTappedManageInterests = 6,
kTappedDownload = 7, kTappedDownload = 7,
// User opened the article in a new tab from the back of card menu.
kTappedOpenInNewTab = 8, kTappedOpenInNewTab = 8,
kOpenedContextMenu = 9, kOpenedContextMenu = 9,
kOpenedFeedSurface = 10, kOpenedFeedSurface = 10,
// User opened the article in an incognito tab from the back of card menu.
kTappedOpenInNewIncognitoTab = 11, kTappedOpenInNewIncognitoTab = 11,
kEphemeralChange = 12, kEphemeralChange = 12,
kEphemeralChangeRejected = 13, kEphemeralChangeRejected = 13,
...@@ -66,8 +70,10 @@ enum class FeedUserActionType { ...@@ -66,8 +70,10 @@ enum class FeedUserActionType {
kTappedTurnOff = 15, kTappedTurnOff = 15,
// Discover feed header menu 'Manage Activity' tapped. // Discover feed header menu 'Manage Activity' tapped.
kTappedManageActivity = 16, kTappedManageActivity = 16,
// User added article to 'Read Later' list.
kAddedToReadLater = 17,
// Highest enumerator. Recommended by Histogram metrics best practices. // Highest enumerator. Recommended by Histogram metrics best practices.
kMaxValue = kTappedManageActivity, kMaxValue = kAddedToReadLater,
}; };
namespace { namespace {
...@@ -76,8 +82,7 @@ const char kDiscoverFeedInfiniteFeedTriggered[] = ...@@ -76,8 +82,7 @@ const char kDiscoverFeedInfiniteFeedTriggered[] =
"ContentSuggestions.Feed.LoadStreamStatus.LoadMore"; "ContentSuggestions.Feed.LoadStreamStatus.LoadMore";
// Histogram name for the feed header items. // Histogram name for the feed header items.
const char kDiscoverFeedHeaderItemTapped[] = const char kDiscoverFeedUserAction[] = "ContentSuggestions.Feed.UserActions";
"ContentSuggestions.Feed.UserActions";
} // namespace } // namespace
...@@ -89,28 +94,53 @@ const char kDiscoverFeedHeaderItemTapped[] = ...@@ -89,28 +94,53 @@ const char kDiscoverFeedHeaderItemTapped[] =
} }
- (void)recordHeaderMenuLearnMoreTapped { - (void)recordHeaderMenuLearnMoreTapped {
UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedHeaderItemTapped, UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedUserAction,
FeedUserActionType::kTappedLearnMore); FeedUserActionType::kTappedLearnMore);
} }
- (void)recordHeaderMenuManageActivityTapped { - (void)recordHeaderMenuManageActivityTapped {
UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedHeaderItemTapped, UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedUserAction,
FeedUserActionType::kTappedManageActivity); FeedUserActionType::kTappedManageActivity);
} }
- (void)recordHeaderMenuManageInterestsTapped { - (void)recordHeaderMenuManageInterestsTapped {
UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedHeaderItemTapped, UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedUserAction,
FeedUserActionType::kTappedManageInterests); FeedUserActionType::kTappedManageInterests);
} }
- (void)recordDiscoverFeedVisibilityChanged:(BOOL)visible { - (void)recordDiscoverFeedVisibilityChanged:(BOOL)visible {
if (visible) { if (visible) {
UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedHeaderItemTapped, UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedUserAction,
FeedUserActionType::kTappedTurnOn); FeedUserActionType::kTappedTurnOn);
} else { } else {
UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedHeaderItemTapped, UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedUserAction,
FeedUserActionType::kTappedTurnOff); FeedUserActionType::kTappedTurnOff);
} }
} }
- (void)recordOpenURLInSameTab {
UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedUserAction,
FeedUserActionType::kTappedOnCard);
}
- (void)recordOpenURLInNewTab {
UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedUserAction,
FeedUserActionType::kTappedOpenInNewTab);
}
- (void)recordOpenURLInIncognitoTab {
UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedUserAction,
FeedUserActionType::kTappedOpenInNewIncognitoTab);
}
- (void)recordAddURLToReadLater {
UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedUserAction,
FeedUserActionType::kAddedToReadLater);
}
- (void)recordTapSendFeedback {
UMA_HISTOGRAM_ENUMERATION(kDiscoverFeedUserAction,
FeedUserActionType::kTappedSendFeedback);
}
@end @end
...@@ -29339,6 +29339,7 @@ Called by update_feature_policy_enum.py.--> ...@@ -29339,6 +29339,7 @@ Called by update_feature_policy_enum.py.-->
<int value="14" label="Turn on"/> <int value="14" label="Turn on"/>
<int value="15" label="Turn off"/> <int value="15" label="Turn off"/>
<int value="16" label="Tapped Manage Activity"/> <int value="16" label="Tapped Manage Activity"/>
<int value="17" label="Added to Read Later"/>
</enum> </enum>
<enum name="FeedZeroStateShowReason"> <enum name="FeedZeroStateShowReason">
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment