diff --git a/WordPress/Classes/ViewRelated/Widgets/WidgetCenter+JetpackWidgets.swift b/WordPress/Classes/ViewRelated/Widgets/WidgetCenter+JetpackWidgets.swift index 7766ddf0d3ca..325971ef7b35 100644 --- a/WordPress/Classes/ViewRelated/Widgets/WidgetCenter+JetpackWidgets.swift +++ b/WordPress/Classes/ViewRelated/Widgets/WidgetCenter+JetpackWidgets.swift @@ -3,20 +3,20 @@ import WidgetKit extension WidgetCenter { func reloadTodayTimelines() { - WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.todayKind) - WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.lockScreenTodayViewsKind) - WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.lockScreenTodayLikesCommentsKind) - WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.lockScreenTodayViewsVisitorsKind) + WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.Kind.homeToday.rawValue) + WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.Kind.lockScreenTodayViews.rawValue) + WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.Kind.lockScreenTodayLikesComments.rawValue) + WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.Kind.lockScreenTodayViewsVisitors.rawValue) } func reloadThisWeekTimelines() { - WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.thisWeekKind) + WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.Kind.homeThisWeek.rawValue) } func reloadAllTimeTimelines() { - WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.allTimeKind) - WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.lockScreenAllTimeViewsKind) - WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.lockScreenAllTimeViewsVisitorsKind) - WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.lockScreenAllTimePostsBestViewsKind) + WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.Kind.homeAllTime.rawValue) + WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.Kind.lockScreenAllTimeViews.rawValue) + WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.Kind.lockScreenAllTimeViewsVisitors.rawValue) + WidgetCenter.shared.reloadTimelines(ofKind: AppConfiguration.Widget.Stats.Kind.lockScreenAllTimePostsBestViews.rawValue) } } diff --git a/WordPress/Jetpack/WidgetConfiguration.swift b/WordPress/Jetpack/WidgetConfiguration.swift index aec5b4d609b4..047bc2b54826 100644 --- a/WordPress/Jetpack/WidgetConfiguration.swift +++ b/WordPress/Jetpack/WidgetConfiguration.swift @@ -9,34 +9,25 @@ import Foundation static let keychainServiceName = "JetpackTodayWidget" static let userDefaultsSiteIdKey = "JetpackHomeWidgetsSiteId" static let userDefaultsLoggedInKey = "JetpackHomeWidgetsLoggedIn" - static let todayKind = "JetpackHomeWidgetToday" - static let allTimeKind = "JetpackHomeWidgetAllTime" - static let thisWeekKind = "JetpackHomeWidgetThisWeek" - static let todayProperties = "JetpackHomeWidgetTodayProperties" - static let allTimeProperties = "JetpackHomeWidgetAllTimeProperties" - static let thisWeekProperties = "JetpackHomeWidgetThisWeekProperties" static let todayFilename = "JetpackHomeWidgetTodayData.plist" static let allTimeFilename = "JetpackHomeWidgetAllTimeData.plist" static let thisWeekFilename = "JetpackHomeWidgetThisWeekData.plist" - /// Lock Screen - static let lockScreenTodayViewsKind = "JetpackLockScreenWidgetTodayViews" - static let lockScreenTodayViewsProperties = "JetpackLockScreenWidgetTodayViewsProperties" - - static let lockScreenTodayLikesCommentsKind = "JetpackLockScreenWidgetTodayLikesComments" - static let lockScreenTodayLikesCommentsProperties = "JetpackLockScreenWidgetTodayLikesCommentsProperties" - - static let lockScreenTodayViewsVisitorsKind = "JetpackLockScreenWidgetTodayViewsVisitors" - static let lockScreenTodayViewsVisitorsProperties = "JetpackLockScreenWidgetTodayViewsVisitorsProperties" - - static let lockScreenAllTimeViewsKind = "JetpackLockScreenWidgetAllTimeViews" - static let lockScreenAllTimeViewsProperties = "JetpackLockScreenWidgetAllTimeViewsProperties" - - static let lockScreenAllTimeViewsVisitorsKind = "JetpackLockScreenWidgetAllTimeViewsVisitors" - static let lockScreenAllTimeViewsVisitorsProperties = "JetpackLockScreenWidgetAllTimeViewsVisitorsProperties" - - static let lockScreenAllTimePostsBestViewsKind = "JetpackLockScreenWidgetAllTimePostsBestViews" - static let lockScreenAllTimePostsBestViewsProperties = "JetpackLockScreenWidgetAllTimeBestViewsProperties" + enum Kind: String { + case homeToday = "JetpackHomeWidgetToday" + case homeAllTime = "JetpackHomeWidgetAllTime" + case homeThisWeek = "JetpackHomeWidgetThisWeek" + case lockScreenTodayViews = "JetpackLockScreenWidgetTodayViews" + case lockScreenTodayLikesComments = "JetpackLockScreenWidgetTodayLikesComments" + case lockScreenTodayViewsVisitors = "JetpackLockScreenWidgetTodayViewsVisitors" + case lockScreenAllTimeViews = "JetpackLockScreenWidgetAllTimeViews" + case lockScreenAllTimeViewsVisitors = "JetpackLockScreenWidgetAllTimeViewsVisitors" + case lockScreenAllTimePostsBestViews = "JetpackLockScreenWidgetAllTimePostsBestViews" + + var countKey: String { + return rawValue + "Properties" + } + } } } } diff --git a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenAllTimePostsBestViewsStatWidgetConfig.swift b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenAllTimePostsBestViewsStatWidgetConfig.swift index fba6b1e1273f..2b41bb0d847b 100644 --- a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenAllTimePostsBestViewsStatWidgetConfig.swift +++ b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenAllTimePostsBestViewsStatWidgetConfig.swift @@ -20,12 +20,8 @@ struct LockScreenAllTimePostsBestViewsStatWidgetConfig: LockScreenStatsWidgetCon LocalizableStrings.allTimePreviewDescription } - var kind: String { - AppConfiguration.Widget.Stats.lockScreenAllTimePostsBestViewsKind - } - - var countKey: String { - AppConfiguration.Widget.Stats.lockScreenAllTimePostsBestViewsProperties + var kind: AppConfiguration.Widget.Stats.Kind { + AppConfiguration.Widget.Stats.Kind.lockScreenAllTimePostsBestViews } var placeholderContent: HomeWidgetAllTimeData { diff --git a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenAllTimeViewsStatWidgetConfig.swift b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenAllTimeViewsStatWidgetConfig.swift index e2ea1dedee90..278142e6e3e5 100644 --- a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenAllTimeViewsStatWidgetConfig.swift +++ b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenAllTimeViewsStatWidgetConfig.swift @@ -20,12 +20,8 @@ struct LockScreenAllTimeViewsStatWidgetConfig: LockScreenStatsWidgetConfig { LocalizableStrings.allTimePreviewDescription } - var kind: String { - AppConfiguration.Widget.Stats.lockScreenAllTimeViewsKind - } - - var countKey: String { - AppConfiguration.Widget.Stats.lockScreenAllTimeViewsProperties + var kind: AppConfiguration.Widget.Stats.Kind { + AppConfiguration.Widget.Stats.Kind.lockScreenAllTimeViews } var placeholderContent: HomeWidgetAllTimeData { diff --git a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenAllTimeViewsVisitorsStatWidgetConfig.swift b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenAllTimeViewsVisitorsStatWidgetConfig.swift index 349423efcfcd..63100a11b020 100644 --- a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenAllTimeViewsVisitorsStatWidgetConfig.swift +++ b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenAllTimeViewsVisitorsStatWidgetConfig.swift @@ -20,12 +20,8 @@ struct LockScreenAllTimeViewsVisitorsStatWidgetConfig: LockScreenStatsWidgetConf LocalizableStrings.allTimePreviewDescription } - var kind: String { - AppConfiguration.Widget.Stats.lockScreenAllTimeViewsVisitorsKind - } - - var countKey: String { - AppConfiguration.Widget.Stats.lockScreenAllTimeViewsVisitorsProperties + var kind: AppConfiguration.Widget.Stats.Kind { + AppConfiguration.Widget.Stats.Kind.lockScreenAllTimeViewsVisitors } var placeholderContent: HomeWidgetAllTimeData { diff --git a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenStatsWidgetConfig.swift b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenStatsWidgetConfig.swift index f7f764b8a68e..dfd6e1bf4081 100644 --- a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenStatsWidgetConfig.swift +++ b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenStatsWidgetConfig.swift @@ -7,8 +7,7 @@ protocol LockScreenStatsWidgetConfig { var supportFamilies: [WidgetFamily] { get } var displayName: String { get } var description: String { get } - var kind: String { get } - var countKey: String { get } + var kind: AppConfiguration.Widget.Stats.Kind { get } var placeholderContent: WidgetData { get } var viewProvider: ViewProvider { get } } diff --git a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenTodayLikesCommentsStatWidgetConfig.swift b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenTodayLikesCommentsStatWidgetConfig.swift index 64c4d26e7dae..c654da5a5a08 100644 --- a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenTodayLikesCommentsStatWidgetConfig.swift +++ b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenTodayLikesCommentsStatWidgetConfig.swift @@ -20,12 +20,8 @@ struct LockScreenTodayLikesCommentsStatWidgetConfig: LockScreenStatsWidgetConfig LocalizableStrings.todayPreviewDescription } - var kind: String { - AppConfiguration.Widget.Stats.lockScreenTodayLikesCommentsKind - } - - var countKey: String { - AppConfiguration.Widget.Stats.lockScreenTodayLikesCommentsProperties + var kind: AppConfiguration.Widget.Stats.Kind { + AppConfiguration.Widget.Stats.Kind.lockScreenTodayLikesComments } var placeholderContent: HomeWidgetTodayData { diff --git a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenTodayViewsStatWidgetConfig.swift b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenTodayViewsStatWidgetConfig.swift index c3807b61b1de..b260a7966891 100644 --- a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenTodayViewsStatWidgetConfig.swift +++ b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenTodayViewsStatWidgetConfig.swift @@ -20,12 +20,8 @@ struct LockScreenTodayViewsStatWidgetConfig: LockScreenStatsWidgetConfig { LocalizableStrings.todayPreviewDescription } - var kind: String { - AppConfiguration.Widget.Stats.lockScreenTodayViewsKind - } - - var countKey: String { - AppConfiguration.Widget.Stats.lockScreenTodayViewsProperties + var kind: AppConfiguration.Widget.Stats.Kind { + AppConfiguration.Widget.Stats.Kind.lockScreenTodayViews } var placeholderContent: HomeWidgetTodayData { diff --git a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenTodayViewsVisitorsStatWidgetConfig.swift b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenTodayViewsVisitorsStatWidgetConfig.swift index 7222e839216b..3557f2f0b57d 100644 --- a/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenTodayViewsVisitorsStatWidgetConfig.swift +++ b/WordPress/JetpackStatsWidgets/LockScreenWidgets/Configs/LockScreenTodayViewsVisitorsStatWidgetConfig.swift @@ -20,12 +20,8 @@ struct LockScreenTodayViewsVisitorsStatWidgetConfig: LockScreenStatsWidgetConfig LocalizableStrings.todayPreviewDescription } - var kind: String { - AppConfiguration.Widget.Stats.lockScreenTodayViewsVisitorsKind - } - - var countKey: String { - AppConfiguration.Widget.Stats.lockScreenTodayViewsVisitorsProperties + var kind: AppConfiguration.Widget.Stats.Kind { + AppConfiguration.Widget.Stats.Kind.lockScreenTodayViewsVisitors } var placeholderContent: HomeWidgetTodayData { diff --git a/WordPress/JetpackStatsWidgets/LockScreenWidgets/LockScreenStatsWidget.swift b/WordPress/JetpackStatsWidgets/LockScreenWidgets/LockScreenStatsWidget.swift index bb17dc109898..6eac12ea4154 100644 --- a/WordPress/JetpackStatsWidgets/LockScreenWidgets/LockScreenStatsWidget.swift +++ b/WordPress/JetpackStatsWidgets/LockScreenWidgets/LockScreenStatsWidget.swift @@ -17,7 +17,7 @@ struct LockScreenStatsWidget: Widget { var body: some WidgetConfiguration { IntentConfiguration( - kind: config.kind, + kind: config.kind.rawValue, intent: SelectSiteIntent.self, provider: LockScreenSiteListProvider( service: StatsWidgetsService(), @@ -26,8 +26,7 @@ struct LockScreenStatsWidget: Widget { ) { (entry: LockScreenStatsWidgetEntry) -> LockScreenStatsWidgetsView in defer { tracks.trackWidgetUpdatedIfNeeded(entry: entry, - widgetKind: config.kind, - widgetCountKey: config.countKey) + widgetKind: config.kind) } return LockScreenStatsWidgetsView( timelineEntry: entry, diff --git a/WordPress/JetpackStatsWidgets/Tracks/Tracks+StatsWidgets.swift b/WordPress/JetpackStatsWidgets/Tracks/Tracks+StatsWidgets.swift index 44341cd00f22..f1f6261f5e46 100644 --- a/WordPress/JetpackStatsWidgets/Tracks/Tracks+StatsWidgets.swift +++ b/WordPress/JetpackStatsWidgets/Tracks/Tracks+StatsWidgets.swift @@ -5,35 +5,31 @@ import WidgetKit /// extension Tracks { - func trackWidgetUpdatedIfNeeded(entry: LockScreenStatsWidgetEntry, widgetKind: String, widgetCountKey: String) { + func trackWidgetUpdatedIfNeeded(entry: LockScreenStatsWidgetEntry, widgetKind: AppConfiguration.Widget.Stats.Kind) { switch entry { case .siteSelected(_, let context): if !context.isPreview { - trackWidgetUpdated(widgetKind: widgetKind, - widgetCountKey: widgetCountKey) + trackWidgetUpdated(widgetKind: widgetKind) } case .loggedOut, .noSite, .noData: - trackWidgetUpdated(widgetKind: widgetKind, - widgetCountKey: widgetCountKey) + trackWidgetUpdated(widgetKind: widgetKind) } } - func trackWidgetUpdatedIfNeeded(entry: StatsWidgetEntry, widgetKind: String, widgetCountKey: String) { + func trackWidgetUpdatedIfNeeded(entry: StatsWidgetEntry, widgetKind: AppConfiguration.Widget.Stats.Kind) { switch entry { case .siteSelected(_, let context): if !context.isPreview { - trackWidgetUpdated(widgetKind: widgetKind, - widgetCountKey: widgetCountKey) + trackWidgetUpdated(widgetKind: widgetKind) } case .loggedOut, .noSite, .noData, .disabled: - trackWidgetUpdated(widgetKind: widgetKind, - widgetCountKey: widgetCountKey) + trackWidgetUpdated(widgetKind: widgetKind) } } - func trackWidgetUpdated(widgetKind: String, widgetCountKey: String) { + func trackWidgetUpdated(widgetKind: AppConfiguration.Widget.Stats.Kind) { DispatchQueue.global().async { WidgetCenter.shared.getCurrentConfigurations { result in @@ -41,8 +37,8 @@ extension Tracks { switch result { case .success(let widgetInfo): - let widgetKindInfo = widgetInfo.filter { $0.kind == widgetKind } - self.trackUpdatedWidgetInfo(widgetInfo: widgetKindInfo, widgetPropertiesKey: widgetCountKey) + let widgetKindInfo = widgetInfo.filter { $0.kind == widgetKind.rawValue } + self.trackUpdatedWidgetInfo(widgetInfo: widgetKindInfo, widgetKind: widgetKind) case .failure(let error): DDLogError("Home Widget Today error: unable to read widget information. \(error.localizedDescription)") @@ -51,14 +47,19 @@ extension Tracks { } } - private func trackUpdatedWidgetInfo(widgetInfo: [WidgetInfo], widgetPropertiesKey: String) { + private func trackUpdatedWidgetInfo(widgetInfo: [WidgetInfo], widgetKind: AppConfiguration.Widget.Stats.Kind) { + let widgetPropertiesKey = widgetKind.countKey - var properties = ["total_widgets": widgetInfo.count, + var properties: [String: Int] = [:] + + switch widgetKind { + case .homeToday, .homeThisWeek, .homeAllTime: + properties = ["total_widgets": widgetInfo.count, "small_widgets": widgetInfo.filter { $0.family == .systemSmall }.count, "medium_widgets": widgetInfo.filter { $0.family == .systemMedium }.count, "large_widgets": widgetInfo.filter { $0.family == .systemLarge }.count] - if #available(iOS 16.0, *) { - properties["rectangular_widgets"] = widgetInfo.filter { $0.family == .accessoryRectangular }.count + default: + break } let previousProperties = UserDefaults(suiteName: WPAppGroupName)?.object(forKey: widgetPropertiesKey) as? [String: Int] @@ -69,7 +70,7 @@ extension Tracks { UserDefaults(suiteName: WPAppGroupName)?.set(properties, forKey: widgetPropertiesKey) - trackExtensionEvent(ExtensionEvents.widgetUpdated(for: widgetPropertiesKey), properties: properties as [String: AnyObject]?) + trackExtensionEvent(ExtensionEvents.widgetUpdated(for: widgetKind), properties: properties as [String: AnyObject]?) } // MARK: - Private Helpers @@ -82,29 +83,37 @@ extension Tracks { // MARK: - Private Enums fileprivate enum ExtensionEvents: String { - // User installs an instance of the today widget - case todayWidgetUpdated = "today_home_extension_widget_updated" - // User installs an instance of the all time widget - case allTimeWidgetUpdated = "alltime_home_extension_widget_updated" - // Users installs an instance of the this week widget - case thisWeekWidgetUpdated = "thisweek_home_extension_widget_updated" - // Users installs an instance of the lockscreen today views widget - case todayViewsLockScreenWidgetUpdated = "today_views_lockscreen_extension_widget_updated" - - case noEvent - - static func widgetUpdated(for key: String) -> ExtensionEvents { - switch key { - case AppConfiguration.Widget.Stats.todayProperties: - return .todayWidgetUpdated - case AppConfiguration.Widget.Stats.allTimeProperties: - return .allTimeWidgetUpdated - case AppConfiguration.Widget.Stats.thisWeekProperties: - return .thisWeekWidgetUpdated - case AppConfiguration.Widget.Stats.lockScreenTodayViewsProperties: - return .todayViewsLockScreenWidgetUpdated - default: - return .noEvent + // Events when user installs an instance of the widget + case homeTodayWidgetUpdated = "today_home_extension_widget_updated" + case homeAllTimeWidgetUpdated = "alltime_home_extension_widget_updated" + case homeThisWeekWidgetUpdated = "thisweek_home_extension_widget_updated" + case lockScreenTodayViewsWidgetUpdated = "today_views_lockscreen_widget_updated" + case lockScreenTodayLikesCommentsWidgetUpdated = "today_likes_comments_lockscreen_widget_updated" + case lockScreenTodayViewsVisitorsWidgetUpdated = "today_views_visitors_lockscreen_widget_updated" + case lockScreenAllTimeViewsWidgetUpdated = "all_time_views_lockscreen_widget_updated" + case lockScreenAllTimeViewsVisitorsWidgetUpdated = "all_time_views_visitors_lockscreen_widget_updated" + case lockScreenAllTimePostsBestViewsWidgetUpdated = "all_time_posts_best_views_lockscreen_widget_updated" + + static func widgetUpdated(for widgetKind: AppConfiguration.Widget.Stats.Kind) -> ExtensionEvents { + switch widgetKind { + case .homeToday: + return .homeTodayWidgetUpdated + case .homeAllTime: + return .homeAllTimeWidgetUpdated + case .homeThisWeek: + return .homeThisWeekWidgetUpdated + case .lockScreenTodayViews: + return .lockScreenTodayViewsWidgetUpdated + case .lockScreenTodayLikesComments: + return .lockScreenTodayLikesCommentsWidgetUpdated + case .lockScreenTodayViewsVisitors: + return .lockScreenTodayViewsVisitorsWidgetUpdated + case .lockScreenAllTimeViews: + return .lockScreenAllTimeViewsWidgetUpdated + case .lockScreenAllTimeViewsVisitors: + return .lockScreenAllTimeViewsVisitorsWidgetUpdated + case .lockScreenAllTimePostsBestViews: + return .lockScreenAllTimePostsBestViewsWidgetUpdated } } } diff --git a/WordPress/JetpackStatsWidgets/Widgets/HomeWidgetAllTime.swift b/WordPress/JetpackStatsWidgets/Widgets/HomeWidgetAllTime.swift index 6c25f42d5a8f..921e08c176fe 100644 --- a/WordPress/JetpackStatsWidgets/Widgets/HomeWidgetAllTime.swift +++ b/WordPress/JetpackStatsWidgets/Widgets/HomeWidgetAllTime.swift @@ -16,7 +16,7 @@ struct HomeWidgetAllTime: Widget { var body: some WidgetConfiguration { IntentConfiguration( - kind: AppConfiguration.Widget.Stats.allTimeKind, + kind: AppConfiguration.Widget.Stats.Kind.homeAllTime.rawValue, intent: SelectSiteIntent.self, provider: SiteListProvider(service: StatsWidgetsService(), placeholderContent: placeholderContent, @@ -25,8 +25,7 @@ struct HomeWidgetAllTime: Widget { defer { tracks.trackWidgetUpdatedIfNeeded(entry: entry, - widgetKind: AppConfiguration.Widget.Stats.allTimeKind, - widgetCountKey: AppConfiguration.Widget.Stats.allTimeProperties) + widgetKind: AppConfiguration.Widget.Stats.Kind.homeAllTime) } return StatsWidgetsView(timelineEntry: entry) diff --git a/WordPress/JetpackStatsWidgets/Widgets/HomeWidgetThisWeek.swift b/WordPress/JetpackStatsWidgets/Widgets/HomeWidgetThisWeek.swift index c0a921790419..d31b41ad5c0d 100644 --- a/WordPress/JetpackStatsWidgets/Widgets/HomeWidgetThisWeek.swift +++ b/WordPress/JetpackStatsWidgets/Widgets/HomeWidgetThisWeek.swift @@ -36,7 +36,7 @@ struct HomeWidgetThisWeek: Widget { var body: some WidgetConfiguration { IntentConfiguration( - kind: AppConfiguration.Widget.Stats.thisWeekKind, + kind: AppConfiguration.Widget.Stats.Kind.homeThisWeek.rawValue, intent: SelectSiteIntent.self, provider: SiteListProvider(service: StatsWidgetsService(), placeholderContent: placeholderContent, @@ -45,8 +45,7 @@ struct HomeWidgetThisWeek: Widget { defer { tracks.trackWidgetUpdatedIfNeeded(entry: entry, - widgetKind: AppConfiguration.Widget.Stats.thisWeekKind, - widgetCountKey: AppConfiguration.Widget.Stats.thisWeekProperties) + widgetKind: AppConfiguration.Widget.Stats.Kind.homeThisWeek) } return StatsWidgetsView(timelineEntry: entry) diff --git a/WordPress/JetpackStatsWidgets/Widgets/HomeWidgetToday.swift b/WordPress/JetpackStatsWidgets/Widgets/HomeWidgetToday.swift index 782ff6226448..f9adf24ee844 100644 --- a/WordPress/JetpackStatsWidgets/Widgets/HomeWidgetToday.swift +++ b/WordPress/JetpackStatsWidgets/Widgets/HomeWidgetToday.swift @@ -17,7 +17,7 @@ struct HomeWidgetToday: Widget { var body: some WidgetConfiguration { IntentConfiguration( - kind: AppConfiguration.Widget.Stats.todayKind, + kind: AppConfiguration.Widget.Stats.Kind.homeToday.rawValue, intent: SelectSiteIntent.self, provider: SiteListProvider(service: StatsWidgetsService(), placeholderContent: placeholderContent, @@ -26,8 +26,7 @@ struct HomeWidgetToday: Widget { defer { tracks.trackWidgetUpdatedIfNeeded(entry: entry, - widgetKind: AppConfiguration.Widget.Stats.todayKind, - widgetCountKey: AppConfiguration.Widget.Stats.todayProperties) + widgetKind: AppConfiguration.Widget.Stats.Kind.homeToday) } return StatsWidgetsView(timelineEntry: entry) diff --git a/WordPress/WordPressShareExtension/Tracks.swift b/WordPress/WordPressShareExtension/Tracks.swift index 9ef803c2616c..3dad6077de19 100644 --- a/WordPress/WordPressShareExtension/Tracks.swift +++ b/WordPress/WordPressShareExtension/Tracks.swift @@ -1,4 +1,5 @@ import UIKit +import OSLog open class Tracks { // MARK: - Public Properties @@ -26,9 +27,9 @@ open class Tracks { let prefixedEventName = "\(TracksConfiguration.eventNamePrefix)_\(eventName)" let payload = payloadWithEventName(prefixedEventName, properties: properties) uploader.send(payload) - } - + logInfo("🔵 Tracked: \(prefixedEventName), \(properties ?? [:])") + } // MARK: - Private Helpers fileprivate func payloadWithEventName(_ eventName: String, properties: [String: Any]?) -> [String: Any] { @@ -154,3 +155,12 @@ open class Tracks { } } } + +private extension Tracks { + /// OSLog to Console application + private func logInfo(_ value: String) { + guard let subsystem = Bundle.main.bundleIdentifier else { return } + + Logger(subsystem: subsystem, category: "tracks").info("\(value)") + } +}