/
index.ts
182 lines (171 loc) · 4.05 KB
/
index.ts
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';
/**
* @name Firebase Crashlytics
* @description
* A Google Firebase Crashlytics plugin to enable capture of crash reports.
*
* @usage
* ```typescript
* import { FirebaseCrashlytics } from '@ionic-native/firebase-crashlytics/ngx';
*
*
* constructor(private firebaseCrashlytics: FirebaseCrashlytics) { }
*
* ...
*
*
* const crashlytics = this.firebaseCrashlytics.initialize();
* crashlytics.logException('my caught exception');
*
* ```
*/
@Plugin({
pluginName: 'FirebaseCrashlytics',
plugin: 'cordova-plugin-firebase-crashlytics',
pluginRef: 'FirebaseCrashlytics',
repo: 'https://github.com/ReallySmallSoftware/cordova-plugin-firebase-crashlytics',
install: 'ionic cordova plugin add cordova-plugin-firebase-crashlytics --variable ANDROID_FIREBASE_CORE_VERSION=16.0.0',
installVariables: ['ANDROID_FIREBASE_CORE_VERSION'],
platforms: ['Android', 'iOS']
})
@Injectable()
export class FirebaseCrashlytics extends IonicNativePlugin {
/**
* Simply add the plugin to get the default Crashlytics functionality. Note that crashes and logged exceptions will only be reported when the application restarts. In order to log caught exceptions the following can be used:
*
* @returns {void}
*/
@Cordova({
sync: true
})
initialise(): any {
return; // We add return; here to avoid any IDE / Compiler errors
}
/**
* Generate a forced crash. Visible in console after restart of application.
*
* @returns {void}
*/
@Cordova({
sync: true
})
crash(): void {
return; // We add return; here to avoid any IDE / Compiler errors
}
/**
* Log a priority message. Will only be logged in the event of a crash.
*
* @param {number} priority
* @param {string} tag
* @param {string} message
* @returns {void}
*/
@Cordova({
sync: true
})
logPriority(priority: number, tag: string, message: string): void {
return;
}
/**
* Log a message. Will only be logged in the event of a crash.
*
* @param {string} message
* @returns {void}
*/
@Cordova({
sync: true
})
log(message: string): void {
return;
}
/**
* Log when a handled exception has happened. Visible in console after restart of application.
*
* @param {string} message
* @returns {void}
*/
@Cordova({
sync: true
})
logException(message: string): void {
return;
}
/**
* Set extra key/value string value. Will only be logged in the event of a crash.
*
* @param {string} key
* @param {string} value
* @returns {void}
*/
@Cordova({
sync: true
})
setString(key: string, value: string): void {
return;
}
/**
* Set extra key/value bool value. Will only be logged in the event of a crash.
*
* @param {string} key
* @param {boolean} value
* @returns {void}
*/
@Cordova({
sync: true
})
setBool(key: string, value: boolean): void {
return;
}
/**
* Set extra key/value double value. Will only be logged in the event of a crash.
*
* @param {string} key
* @param {number} value
* @returns {void}
*/
@Cordova({
sync: true
})
setDouble(key: string, value: number): void {
return;
}
/**
* Set extra key/value float value. Will only be logged in the event of a crash.
*
* @param {string} key
* @param {number} value
* @returns {void}
*/
@Cordova({
sync: true
})
setFloat(key: string, value: number): void {
return;
}
/**
* Set extra key/value integer value. Will only be logged in the event of a crash.
*
* @param {string} key
* @param {number} value
* @returns {void}
*/
@Cordova({
sync: true
})
setInt(key: string, value: number): void {
return;
}
/**
* Set the identifier for the user. Take care when using this method and ensure you privacy policy is updated accordingly.
*
* @param {string} identifier
* @returns {void}
*/
@Cordova({
sync: true
})
setUserIdentifier(identifier: string): void {
return;
}
}