40 lines
1.0 KiB
TypeScript
40 lines
1.0 KiB
TypeScript
import * as plugins from './smartanalytics.plugins'
|
|
|
|
export class Analytics {
|
|
projectId: string
|
|
appName: string
|
|
apiEndPoint: string
|
|
secretKey: string = ''
|
|
constructor (optionsArg: {
|
|
projectIdArg: string
|
|
appNameArg: string
|
|
apiEndPointArg: string
|
|
secretKeyArg?: string
|
|
}) {
|
|
this.projectId = optionsArg.projectIdArg
|
|
this.appName = optionsArg.appNameArg
|
|
this.apiEndPoint = optionsArg.apiEndPointArg
|
|
if (optionsArg.secretKeyArg) {
|
|
this.secretKey = optionsArg.secretKeyArg
|
|
}
|
|
}
|
|
|
|
async recordEvent (eventIdentifierArg: string, analyticsDataArg: any) {
|
|
let dataToSend = {
|
|
projectId: this.projectId,
|
|
appName: this.appName,
|
|
eventIdentifier: eventIdentifierArg,
|
|
analyticsData: analyticsDataArg
|
|
}
|
|
await plugins.smartrequest.post(this.apiEndPoint, {
|
|
headers: {
|
|
'authenticate': this.secretKey,
|
|
'Content-Type': 'application/json'
|
|
},
|
|
requestBody: dataToSend
|
|
}).catch(err => {
|
|
console.log(err)
|
|
})
|
|
}
|
|
}
|