Skip to content

Phone Events

Info

This document is a work in progress.

Currently, Phone events contain below events, still working in progress:

  • Phone Events
    • Accelerometer Event - Should be sent when updates on current acceleration forces, including gravity, in m/s^2.
    • AmbientHumidity Event - Should be sent when updates on current ambient humidity, in percentage.
    • AmbientLight Event - Should be sent when updates on current light illuminance.
    • AmbientMagnetic Event - Should be sent when update on current magnetic strength along axis, (in micro-Tesla - uT).
    • AmbientPressure Event - Should be sent when updates on current pressure, in hPa or mbar.
    • AmbientTemperature Event - Should be sent when updates on current ambient air temperature in degree Celsius.
    • GeomagneticRotationVector Event - Should be sent when updates on rotation vector value based on the geomagnetic field from device, unitless.
    • Gyroscope Event - Should be sent when updates on current acceleration forces, including gravity, in m/s^2.
    • Heading Event - Should be sent when updates on current orientation, in degrees.
    • LinearAcceleration Event - Should be sent when updates on current acceleration forces applied to (x, y, z), in m/s^2.
    • RotationVector Event - Should be sent when updates on rotation vector components, unitless.

Phone Events

Accelerometer Event

Should be sent when updates on current acceleration forces, including gravity, in m/s^2

Key methods

Method Details
setAcceleratormeterList(AccelerometerItem[] accelerometer_list) List of AccelerometerItem items at periodic intervals, mandatory data field.

AccelerometerItem

Key methods

Method Details
setX(Double x) Set acceleration force along the X axis, mandatory data field.
setY(Double y) Set acceleration force along the Y axis, mandatory data field.
setZ(Double z) Set acceleration force along the Z axis, mandatory data field.
setTimestamp(Long timestamp) The time at which location was determined, mandatory data field.

Sample code

1
2
3
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(AccelerometerEvent.builder().setAcceleratormeterList(new AccelerometerItem[] {AccelerometerItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
  .build()).build().execute();
1
2
3
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(AccelerometerEvent.builder().setAcceleratormeterList(new AccelerometerItem[] {AccelerometerItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
  .build()).build().execute()

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

AmbientHumidity Event

Should be sent when updates on current ambient humidity, in percentage.

Key methods

Method Details
setAmbientHumidityList(AmbientHumidityItem[] ambient_humidity_list) List of AmbientHumidityItem items at periodic intervals, mandatory data field.

AmbientHumidityItem

Key methods

Method Details
setValue(Double value) Set relative ambient air humidity in percentage, mandatory data field.
setTimestamp(Long timestamp) The time at which location was determined, mandatory data field.

Sample code

1
2
3
4
5
```` java
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(AmbientHumidityEvent.builder().setAmbientHumidityList(new AmbientHumidityItem[] {AmbientHumidityItem.builder().setValue(7.7).setTimestamp(1597029160173L).build()})
  .build()).build().execute();
````
1
2
3
4
5
````kotlin
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(AmbientHumidityEvent.builder().setAmbientHumidityList(new AmbientHumidityItem[] {AmbientHumidityItem.builder().setValue(7.7).setTimestamp(1597029160173L).build()})
  .build()).build().execute()
````

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

AmbientLight Event

Should be sent when updates on current light illuminance.

Key methods

Method Details
setAmbientLightList(AmbientLightItem[] ambient_light_list) List of AmbientLightItem items at periodic intervals, mandatory data field.

AmbientLightItem

Key methods

Method Details
setLightStatus(Integer light_status) Light status(DARK = 0,LIGHT = 1,TWILIGHT = 2,TUNNEL_ON = 3,TUNNEL_OFF = 4,NO_LIGHT_DATA = 7), mandatory data field.
setTimestamp(Long timestamp) The time at which location was determined, mandatory data field.

Sample code

1
2
3
4
5
```` java
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(AmbientLightEvent.builder().setAmbientLightList(new AmbientLightItem[] {AmbientLightItem.builder().setLightStatus(7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````
1
2
3
4
5
````kotlin
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(AmbientLightEvent.builder().setAmbientLightList(new AmbientLightItem[] {AmbientLightItem.builder().setLightStatus(7).setTimestamp(1597029160173L).build()})
    .build()).build().execute()
````

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

AmbientMagnetic Event

Should be sent when update on current field magnetic strength along axis, (in micro-Tesla - uT).

Key methods

Method Details
setAmbientMagneticList(AmbientMagneticItem[] ambient_magnetic_list) List of AmbientMagneticItem items at periodic intervals, mandatory data field.

AmbientMagneticItem

Key methods

Method Details
setX(Double x) Set the ambient magnetic field along the X axis (in micro-Tesla - uT), mandatory data field.
setY(Double y) Set the ambient magnetic field along the Y axis (in micro-Tesla - uT), mandatory data field.
setZ(Double z) Set the ambient magnetic field along the Z axis (in micro-Tesla - uT), mandatory data field.
setTimestamp(Long timestamp) The time at which location was determined, mandatory data field.

Sample code

1
2
3
4
5
```` java
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(AmbientMagneticEvent.builder().setAmbientMagneticList(new AmbientMagneticItem[] {AmbientMagneticItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````
1
2
3
4
5
````kotlin
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(AmbientMagneticEvent.builder().setAmbientMagneticList(new AmbientMagneticItem[] {AmbientMagneticItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute()
````

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

AmbientPressure Event

Should be sent when updates on current pressure, in hPa or mbar.

Key methods

Method Details
setAmbientPressureList(AmbientPressureItem[] ambient_pressure_list) List of AmbientPressureItem items at periodic intervals, mandatory data field.

AmbientPressureItem

Key methods

Method Details
setValue(Double value) Set ambient air pressure in hPa or mbar, mandatory data field.
setTimestamp(Long timestamp) The time at which location was determined, mandatory data field.

Sample code

1
2
3
4
5
```` java
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(AmbientPressureEvent.builder().setAmbientPressureList(new AmbientPressureItem[] {AmbientPressureItem.builder().setValue(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````
1
2
3
4
5
````kotlin
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(AmbientPressureEvent.builder().setAmbientPressureList(new AmbientPressureItem[] {AmbientPressureItem.builder().setValue(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute()
````

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

AmbientTemperature Event

Should be sent when updates on current ambient air temperature in degree Celsius.

Key methods

Method Details
setAmbientTemperatureList(AmbientTemperatureItem[] ambient_temperature_list) List of AmbientTemperatureItem items at periodic intervals, mandatory data field.

AmbientTemperatureItem

Key methods

Method Details
setValue(Double value) Set ambient air temperature in degree Celsius, mandatory data field.
setTimestamp(Long timestamp) The time at which location was determined, mandatory data field.

Sample code

1
2
3
4
5
```` java
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(AmbientTemperatureEvent.builder().setAmbientTemperatureList(new AmbientTemperatureItem[] {AmbientTemperatureItem.builder().setValue(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````
1
2
3
4
5
````kotlin
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(AmbientTemperatureEvent.builder().setAmbientTemperatureList(new AmbientTemperatureItem[] {AmbientTemperatureItem.builder().setValue(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute()
````

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

GeomagneticRotationVector Event

Should be sent when updates on rotation vector value based on the geomagnetic field from device, unitless.

Key methods

Method Details
setGeomagneticRotationVectorList(GeomagneticRotationVectorItem[] geomagnetic_rotation_vector_list) List of GeomagneticRotationVectorItem items at periodic intervals, mandatory data field.

GeomagneticRotationVectorItem

Key methods

Method Details
setX(Double x) Set rotation along the X axis (with geomagnetic field), mandatory data field.
setY(Double y) Set rotation along the Y axis (with geomagnetic field), mandatory data field.
setZ(Double z) Set rotation along the Z axis (with geomagnetic field), mandatory data field.
setTimestamp(Long timestamp) The time at which location was determined, mandatory data field.

Sample code

1
2
3
4
5
```` java
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(GeomagneticRotationVectorEvent.builder().setGeomagneticRotationVectorList(new GeomagneticRotationVectorItem[] {GeomagneticRotationVectorItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````
1
2
3
4
5
````kotlin
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(GeomagneticRotationVectorEvent.builder().setGeomagneticRotationVectorList(new GeomagneticRotationVectorItem[] {GeomagneticRotationVectorItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute()
````

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

Gravity Event

Should be sent when updates on current acceleration forces, including gravity, in m/s^2

Key methods

Method Details
setGravityList(GravityItem[] gravity_list) List of GravityItem items at periodic intervals, mandatory data field.

GravityItem

Key methods

Method Details
setX(Double x) Set measures the force of gravity that is applied to a device on the X axis, mandatory data field.
setY(Double y) Set measures the force of gravity that is applied to a device on the Y axis, mandatory data field.
setZ(Double z) Set measures the force of gravity that is applied to a device on the Z axis, mandatory data field.
setTimestamp(Long timestamp) The time at which location was determined, mandatory data field.

Sample code

1
2
3
4
5
```` java
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(GravityEvent.builder().setGravityList(new GravityItem[] {GravityItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````
1
2
3
4
5
````kotlin
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(GravityEvent.builder().setGravityList(new GravityItem[] {GravityItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

Gyroscope Event

Should be sent when updates on current acceleration forces, including gravity, in m/s^2

Key methods

Method Details
setGyroscopeList(GyroscopeItem[] gyroscope_list) List of GyroscopeItem items at periodic intervals, mandatory data field.

GyroscopeItem

Key methods

Method Details
setX(Double x) Set rate of rotation around the X axis mandatory data field.
setY(Double y) Set rate of rotation around the Y axis, mandatory data field.
setZ(Double z) Set rate of rotation around the Z axis, mandatory data field.
setTimestamp(Long timestamp) The time at which location was determined, mandatory data field.

Sample code

1
2
3
4
5
```` java
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(GyroscopeEvent.builder().setGyroscopeList(new GyroscopeItem[] {GyroscopeItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````
1
2
3
4
5
````kotlin
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(GyroscopeEvent.builder().setGyroscopeList(new GyroscopeItem[] {GyroscopeItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

Heading Event

Should be sent when updates on current orientation, in degrees.

Key methods

Method Details
setHeadingList(HeadingItem[] heading_list) List of HeadingItem items at periodic intervals, mandatory data field.

HeadingItem

Key methods

Method Details
setHeadingAngle(Integer heading_angle) Set the direction in which the device is traveling with respect to north, degree value (0-360), mandatory data field.
setTimestamp(Long timestamp) The time at which location was determined, mandatory data field.

Sample code

1
2
3
4
5
```` java
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(HeadingEvent.builder().setHeadingList(new HeadingItem[] {HeadingItem.builder().setHeadingAngle(7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````
1
2
3
4
5
````kotlin
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(HeadingEvent.builder().setHeadingList(new HeadingItem[] {HeadingItem.builder().setHeadingAngle(7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

LinearAcceleration Event

Should be sent when updates on current acceleration forces applied to (x, y, z), in m/s^2.

Key methods

Method Details
setLinearAccelerationList(LinearAccelerationItem[] linear_acceleration_list) List of LinearAccelerationItem items at periodic intervals, mandatory data field.

LinearAccelerationItem

Key methods

Method Details
setX(Double x) Set acceleration force along the X axis (excluding gravity), mandatory data field.
setY(Double y) Set acceleration force along the Y axis (excluding gravity), mandatory data field.
setZ(Double z) Set acceleration force along the Z axis (excluding gravity), mandatory data field.
setTimestamp(Long timestamp) The time at which location was determined, mandatory data field.

Sample code

1
2
3
4
5
```` java
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(LinearAccelerationEvent.builder().setLinearAccelerationList(new LinearAccelerationItem[] {LinearAccelerationItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````
1
2
3
4
5
````kotlin
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(LinearAccelerationEvent.builder().setLinearAccelerationList(new LinearAccelerationItem[] {LinearAccelerationItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}

RotationVector Event

Should be sent when updates on rotation vector components, unitless

Key methods

Method Details
setRotationVectorList(RotationVectorItem[] rotation_vector_list) List of RotationVectorItem items at periodic intervals, mandatory data field.

RotationVectorItem

Key methods

Method Details
setX(Double x) Set rotation along the X axis, mandatory data field.
setY(Double y) Set Rotation along the Y axis, mandatory data field.
setZ(Double z) Set Rotation along the Z axis, mandatory data field.
setTimestamp(Long timestamp) The time at which location was determined, mandatory data field.

Sample code

1
2
3
4
5
```` java
SendEventRequest.Builder builder = dataCollectorClient.sendEventRequest();
SendEventResponse response = builder.setEvent(RotationVectorEvent.builder().setRotationVectorList(new RotationVectorItem[] {RotationVectorItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````
1
2
3
4
5
````kotlin
var builder = dataCollectorClient.sendEventRequest();
var response = builder.setEvent(RotationVectorEvent.builder().setRotationVectorList(new RotationVectorItem[] {RotationVectorItem.builder().setX(7.7).setY(7.7).setZ(7.7).setTimestamp(1597029160173L).build()})
    .build()).build().execute();
````

Response example

1
2
3
4
5
{
  "code": "SUCCESS",
  "message": "SendEventResponse Success",
  "response_time": 1
}