Slide 11
Slide 11 text
enum AnalyticsEvent {
case loginScreenViewed
case loginAttempted
case loginFailed(reason: LoginFailureReason)
case loginSucceeded
case bookListViewed
case bookAdded(Book)
case bookSelected(Book)
case bookDeleted(Book)
var name: String {
switch self {
case .loginScreenViewed, .loginAttempted,
.loginSucceeded, .bookListViewed:
return String(describing: self)
case .loginFailed:
return "loginFailed"
case .bookAdded:
return "bookAdded"
case .bookSelected:
return "bookSelected"
case .bookDeleted:
return "bookDeleted"
}
}
var metadata: [String: Any] {
switch self {
case .loginScreenViewed, .loginAttempted,
.loginSucceeded, .bookListViewed:
return [:]
case .loginFailed(let reason):
return ["reason" : String(describing: reason)]
case .bookAdded(let book):
return ["book" : book.name]
case .bookSelected(let index):
return ["book" : book.name]
case .bookDeleted(let book):
return ["book" : book.name]
}
}
}
w4XJUDIจ͕େྔʹͳΔ
wએݴͱมͷఆ͕͔ٛΕΔ
ͲΜͲΜ૿͍͑ͯ͘ɻɻɻ