Mholloway has uploaded a new change for review.
https://gerrit.wikimedia.org/r/228012
Change subject: Add event logging funnel for navigation menu interaction
......................................................................
Add event logging funnel for navigation menu interaction
Bug: T104623
Change-Id: I9cf04cf9c2d258fc8b561d1dca99de40e22c78ab
---
A wikipedia/src/main/java/org/wikipedia/analytics/NavMenuFunnel.java
M wikipedia/src/main/java/org/wikipedia/page/NavDrawerHelper.java
M wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
3 files changed, 64 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/12/228012/1
diff --git a/wikipedia/src/main/java/org/wikipedia/analytics/NavMenuFunnel.java
b/wikipedia/src/main/java/org/wikipedia/analytics/NavMenuFunnel.java
new file mode 100644
index 0000000..7c3ae47
--- /dev/null
+++ b/wikipedia/src/main/java/org/wikipedia/analytics/NavMenuFunnel.java
@@ -0,0 +1,40 @@
+package org.wikipedia.analytics;
+
+import android.support.annotation.NonNull;
+
+import org.wikipedia.WikipediaApp;
+
+public class NavMenuFunnel extends TimedFunnel {
+ private static final String SCHEMA_NAME = "MobileWikiAppNavMenu";
+ private static final int REV_ID = 12732211;
+
+ public NavMenuFunnel() {
+ // TODO: CHANGE TO SAMPLE AT 1/100 WHEN PUSHING FOR REVIEW
+ super(WikipediaApp.getInstance(), SCHEMA_NAME, REV_ID,
Funnel.SAMPLE_LOG_ALL);
+ }
+
+ @NonNull
+ @Override
+ protected String getSessionTokenField() {
+ return "sessionToken";
+ }
+
+ public void logOpen() {
+ log(
+ "action", "open"
+ );
+ }
+
+ public void logCancel() {
+ log(
+ "action", "cancel"
+ );
+ }
+
+ public void logSelect(String menuItemEnglishTitle) {
+ log(
+ "action", "select",
+ "menuItem", menuItemEnglishTitle
+ );
+ }
+}
diff --git a/wikipedia/src/main/java/org/wikipedia/page/NavDrawerHelper.java
b/wikipedia/src/main/java/org/wikipedia/page/NavDrawerHelper.java
index 2c4078b..f8f23bd 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/NavDrawerHelper.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/NavDrawerHelper.java
@@ -9,6 +9,7 @@
import org.wikipedia.R;
import org.wikipedia.WikipediaApp;
import org.wikipedia.analytics.LoginFunnel;
+import org.wikipedia.analytics.NavMenuFunnel;
import org.wikipedia.history.HistoryEntry;
import org.wikipedia.history.HistoryFragment;
import org.wikipedia.login.LoginActivity;
@@ -26,14 +27,28 @@
R.id.nav_item_username
};
+ private static final String NAV_MENU_TODAY_TITLE_ENGLISH = "Today";
+ private static final String NAV_MENU_HISTORY_TITLE_ENGLISH = "History";
+ private static final String NAV_MENU_SAVED_PAGES_TITLE_ENGLISH = "Saved
Pages";
+ private static final String NAV_MENU_NEARBY_TITLE_ENGLISH = "Nearby";
+ private static final String NAV_MENU_MORE_TITLE_ENGLISH = "More";
+ private static final String NAV_MENU_LOGIN_TITLE_ENGLISH = "Login";
+ private static final String NAV_MENU_RANDOM_TITLE_ENGLISH = "Random";
+
private final WikipediaApp app = WikipediaApp.getInstance();
private final PageActivity page;
private MenuItem usernameContainer;
private MenuItem loginContainer;
private MenuItem[] loggedInOnyActionViews = new
MenuItem[NAV_DRAWER_ACTION_ITEMS_LOGGED_IN_ONLY.length];
+ private NavMenuFunnel funnel;
public NavDrawerHelper(@NonNull PageActivity page) {
this.page = page;
+ this.funnel = new NavMenuFunnel();
+ }
+
+ public NavMenuFunnel getFunnel() {
+ return funnel;
}
public void setupDynamicNavDrawerItems() {
@@ -57,24 +72,31 @@
switch (menuItem.getItemId()) {
case R.id.nav_item_today:
page.displayMainPage();
+ funnel.logSelect(NAV_MENU_TODAY_TITLE_ENGLISH);
break;
case R.id.nav_item_history:
page.pushFragment(new HistoryFragment());
+ funnel.logSelect(NAV_MENU_HISTORY_TITLE_ENGLISH);
break;
case R.id.nav_item_saved_pages:
page.pushFragment(new SavedPagesFragment());
+ funnel.logSelect(NAV_MENU_SAVED_PAGES_TITLE_ENGLISH);
break;
case R.id.nav_item_nearby:
page.pushFragment(new NearbyFragment());
+ funnel.logSelect(NAV_MENU_NEARBY_TITLE_ENGLISH);
break;
case R.id.nav_item_more:
launchSettingsActivity();
+ funnel.logSelect(NAV_MENU_MORE_TITLE_ENGLISH);
break;
case R.id.nav_item_login:
launchLoginActivity();
+ funnel.logSelect(NAV_MENU_LOGIN_TITLE_ENGLISH);
break;
case R.id.nav_item_random:
page.getRandomHandler().doVisitRandomArticle();
+ funnel.logSelect(NAV_MENU_RANDOM_TITLE_ENGLISH);
break;
default:
return false;
diff --git a/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
b/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
index eee9f44..e12e527 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
@@ -318,6 +318,7 @@
super.onDrawerClosed(view);
// if we want to change the title upon closing:
//getSupportActionBar().setTitle("");
+ navDrawerHelper.getFunnel().logCancel();
}
@Override
@@ -333,6 +334,7 @@
if (isCabOpen()) {
currentActionMode.finish();
}
+ navDrawerHelper.getFunnel().logOpen();
}
private boolean oncePerSlideLock = false;
--
To view, visit https://gerrit.wikimedia.org/r/228012
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9cf04cf9c2d258fc8b561d1dca99de40e22c78ab
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits