18. El problema
• Necesitan integrar GoogleAnalytics
• 1 semana más tarde… Necesitan integrar eventos de
Fabric
• 1 mes más tarde…
19. El problema
• Necesitan integrar GoogleAnalytics
• 1 semana más tarde… Necesitan integrar eventos de
Fabric
• 1 mes más tarde… Quieren integrar Amplitude
31. Cómo encajo esto en
una arquitectura
class ViewControllerTracker {
let analytics: AnalyticsService
init(analyticsService: AnalyticsService = AnalyticsManager.instance) {
analytics = analyticsService
}
func userDidLogin() {
analytics.track(event: .login)
}
func userDidLevelUp(level: Int) {
analytics.track(event: .levelUp(level: level))
}
}
32. Trackear eventos
class ViewController: UIViewController {
let tracker: ViewControllerTracker = ViewControllerTracker()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//MARK: - IBActions
@IBAction func loginTapped() {
tracker.userDidLogin()
}
@IBAction func levelUpTapped() {
tracker.userDidLevelUp(level: 5)
}
}
33. EXTRA: Qué herramienta de
analytics uso actualmente y por
qué
• Google Analytics
• Fabric
• Firebase
• Amplitude