-
Task
-
Resolution: Done
-
Major
-
None
-
None
-
None
Steps to Complete
- Find out the exact structure of the idm metrics sent by the SDKs
- Update the Server Side Implementation to accept the idm metrics
- Update/Create the relevant tests
Additional Context
Once the SDK implementation of the idm/self defence metrics is complete, the client payload sent to the server will look like this:
{ "clientId": "453de743207a0232a339a23e5d64b289", "timestamp": "8377194421", "data": { "app": { "id": "com.example.someApp", "sdkVersion": "2.4.6", "appVersion": "256" }, "device": { "platform": "android", "platformVersion": "27" }, "idm": { .. // idm metrics } } }
The entire data field in the payload is saved as a JSONB column in the database, however it is first parsed into a Golang struct in the app metrics service. Any fields not defined in the struct are lost. The Metric struct is defined here: https://github.com/aerogear/aerogear-app-metrics/blob/master/pkg/mobile/types.go
The MetricData struct maps to the data field in the payload. This should be updated to look something like:
type MetricData struct { App *AppMetric `json:"app,omitempty"` Device *DeviceMetric `json:"device,omitempty"` IDM *IDMMetric `json: "idm,omitempty"` }
Where IDMMetric is a new struct that defines the structure of the IDM metrics sent by the clients
- blocks
-
AEROGEAR-2218 Test and verify self defence check metrics for Android with server side metrics
- Resolved
- relates to
-
AEROGEAR-3787 Add batching requests for security check metrics and Update representation to match API expectations
- Resolved