-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCrashlyticsUtils.kt
More file actions
59 lines (50 loc) · 1.73 KB
/
CrashlyticsUtils.kt
File metadata and controls
59 lines (50 loc) · 1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package com.xpeho.xpeapp.utils
import com.google.firebase.crashlytics.FirebaseCrashlytics
object CrashlyticsUtils {
/**
* Enregistre un événement personnalisé dans Crashlytics
*/
fun logEvent(message: String) {
FirebaseCrashlytics.getInstance().log(message)
}
/**
* Enregistre une exception non fatale dans Crashlytics
*/
fun recordException(exception: Throwable) {
FirebaseCrashlytics.getInstance().recordException(exception)
}
/**
* Définit un identifiant utilisateur pour les crash reports
*/
fun setUserId(userId: String) {
FirebaseCrashlytics.getInstance().setUserId(userId)
}
/**
* Ajoute une clé-valeur personnalisée aux crash reports
*/
fun setCustomKey(key: String, value: String) {
FirebaseCrashlytics.getInstance().setCustomKey(key, value)
}
/**
* Définit le screen/écran actuel pour contextualiser les erreurs
*/
fun setCurrentScreen(screenName: String) {
FirebaseCrashlytics.getInstance().setCustomKey("screen", screenName)
logEvent("Navigation vers: $screenName")
}
/**
* Définit la feature/fonctionnalité actuelle
*/
fun setCurrentFeature(featureName: String) {
FirebaseCrashlytics.getInstance().setCustomKey("feature", featureName)
}
/**
* Définit le contexte utilisateur (connecté/déconnecté)
*/
fun setUserContext(isLoggedIn: Boolean, userRole: String = "") {
FirebaseCrashlytics.getInstance().setCustomKey("user_logged_in", isLoggedIn.toString())
if (userRole.isNotEmpty()) {
FirebaseCrashlytics.getInstance().setCustomKey("user_role", userRole)
}
}
}