Skip to content

Commit faaa2e7

Browse files
authored
Merge pull request #15624 from wordpress-mobile/feature/15609-add-tracks
Feature/15609 add tracks
2 parents c4734f5 + 80131af commit faaa2e7

File tree

5 files changed

+75
-4
lines changed

5 files changed

+75
-4
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package org.wordpress.android.ui.about
2+
3+
import org.wordpress.android.analytics.AnalyticsTracker.Stat
4+
import org.wordpress.android.util.analytics.AnalyticsTrackerWrapper
5+
import javax.inject.Inject
6+
import javax.inject.Singleton
7+
8+
@Singleton
9+
class UnifiedAboutTracker @Inject constructor(
10+
private val analyticsTrackerWrapper: AnalyticsTrackerWrapper
11+
) {
12+
fun trackScreenShown(screen: String) {
13+
analyticsTrackerWrapper.track(
14+
stat = Stat.ABOUT_SCREEN_SHOWN,
15+
properties = mapOf(
16+
Property.SCREEN.value to screen
17+
)
18+
)
19+
}
20+
21+
fun trackScreenDismissed(screen: String) {
22+
analyticsTrackerWrapper.track(
23+
stat = Stat.ABOUT_SCREEN_DISMISSED,
24+
properties = mapOf(
25+
Property.SCREEN.value to screen
26+
)
27+
)
28+
}
29+
30+
fun trackButtonTapped(button: String) {
31+
analyticsTrackerWrapper.track(
32+
stat = Stat.ABOUT_SCREEN_BUTTON_TAPPED,
33+
properties = mapOf(
34+
Property.BUTTON.value to button
35+
)
36+
)
37+
}
38+
39+
enum class Property(val value: String) {
40+
SCREEN("screen"),
41+
BUTTON("button")
42+
}
43+
}

WordPress/src/main/java/org/wordpress/android/ui/about/UnifiedAboutViewModel.kt

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import androidx.lifecycle.LiveData
44
import androidx.lifecycle.MutableLiveData
55
import androidx.lifecycle.ViewModel
66
import com.automattic.about.model.AboutConfig
7+
import com.automattic.about.model.AnalyticsConfig
78
import com.automattic.about.model.HeaderConfig
89
import com.automattic.about.model.LegalConfig
910
import com.automattic.about.model.RateUsConfig
@@ -30,7 +31,8 @@ class UnifiedAboutViewModel @Inject constructor(
3031
private val contextProvider: ContextProvider,
3132
private val wpUrlUtils: WpUrlUtilsWrapper,
3233
private val recommendApiCallsProvider: RecommendApiCallsProvider,
33-
private val buildConfig: BuildConfigWrapper
34+
private val buildConfig: BuildConfigWrapper,
35+
private val unifiedAboutTracker: UnifiedAboutTracker
3436
) : ViewModel() {
3537
private val _onNavigation = MutableLiveData<Event<UnifiedAboutNavigationAction>>()
3638
val onNavigation: LiveData<Event<UnifiedAboutNavigationAction>> = _onNavigation
@@ -47,7 +49,12 @@ class UnifiedAboutViewModel @Inject constructor(
4749
privacyPolicyUrl = Constants.URL_PRIVACY_POLICY,
4850
acknowledgementsUrl = WP_ACKNOWLEDGEMENTS_URL
4951
),
50-
onDismiss = ::onDismiss
52+
onDismiss = ::onDismiss,
53+
analyticsTracker = AnalyticsConfig(
54+
trackScreenShown = ::trackScreenShown,
55+
trackScreenDismissed = ::trackScreenDismissed,
56+
trackButtonTapped = ::trackButtonTapped
57+
)
5158
)
5259

5360
private suspend fun createShareConfig(): ShareConfig {
@@ -74,4 +81,16 @@ class UnifiedAboutViewModel @Inject constructor(
7481
private const val WP_ACKNOWLEDGEMENTS_URL = "file:///android_asset/licenses.html"
7582
private const val WP_APPS_URL = "https://apps.wordpress.com/"
7683
}
84+
85+
private fun trackScreenShown(screen: String) {
86+
unifiedAboutTracker.trackScreenShown(screen = screen)
87+
}
88+
89+
private fun trackScreenDismissed(screen: String) {
90+
unifiedAboutTracker.trackScreenDismissed(screen = screen)
91+
}
92+
93+
private fun trackButtonTapped(button: String) {
94+
unifiedAboutTracker.trackButtonTapped(button = button)
95+
}
7796
}

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ buildscript {
77
ext.detektVersion = '1.15.0'
88
ext.gutenbergMobileVersion = 'v1.67.0'
99
ext.storiesVersion = '1.2.0'
10-
ext.aboutAutomatticVersion = 'main-14135ae8a4f259dab286ad73a9efe9a084421d07'
10+
ext.aboutAutomatticVersion = 'main-c764a2d66273d4c6aeed66bb7a5c75714d88c554'
1111

1212
repositories {
1313
maven {

libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -814,7 +814,10 @@ public enum Stat {
814814
CREATE_SITE_NOTIFICATION_SCHEDULED,
815815
RECOMMEND_APP_ENGAGED,
816816
RECOMMEND_APP_CONTENT_FETCH_FAILED,
817-
EDITOR_BLOCK_INSERTED
817+
EDITOR_BLOCK_INSERTED,
818+
ABOUT_SCREEN_SHOWN,
819+
ABOUT_SCREEN_DISMISSED,
820+
ABOUT_SCREEN_BUTTON_TAPPED
818821
}
819822

820823
private static final List<Tracker> TRACKERS = new ArrayList<>();

libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerNosara.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2130,6 +2130,12 @@ public static String getEventNameForStat(AnalyticsTracker.Stat stat) {
21302130
return "recommend_app_content_fetch_failed";
21312131
case EDITOR_BLOCK_INSERTED:
21322132
return "editor_block_inserted";
2133+
case ABOUT_SCREEN_SHOWN:
2134+
return "about_screen_shown";
2135+
case ABOUT_SCREEN_DISMISSED:
2136+
return "about_screen_dismissed";
2137+
case ABOUT_SCREEN_BUTTON_TAPPED:
2138+
return "about_screen_button_tapped";
21332139
}
21342140
return null;
21352141
}

0 commit comments

Comments
 (0)