Beacon Entered
The Beacon Entered event is triggered when a user’s device enters range of a Bluetooth Low Energy Beacon registered with the Rover Proximity app. Currently only beacons that speak the iBeacon protocol are supported.
Table Schema
Beacon Entered events are stored in BigQuery in the
v2_rover_beacon_entered
table. The following is a detailed
description of each column in the table.
Column | Type | Description |
---|---|---|
timestamp | Timestamp | Time the event occurred. |
attributes.beacon.id | String | Rover’s unique identifier for the given beacon registered in the Rover proximity app. |
attributes.beacon.name | String | A human-readable name assigned to beacon. |
attributes.beacon.uuid | String | The UUID emitted by the beacon, as per the iBeacon format. |
attributes.beacon.major | String | The major emitted by the beacon, as per the iBeacon format. |
attributes.beacon.minor | String | The minor emitted by the beacon, as per the iBeacon format. |
attributes.beacon.tags | [String] | Tags set on the Beacon as a BigQuery REPEATED array. |
device.appBuild | String | The app’s build number (both iOS and Android require a unque and naturally ordered build number). |
device.appIdentifier | String | The bundle ID (iOS) or application ID (Android). E.g. “com.example.MyApp”. |
device.appVersion | String | The app’s version number (version “name” on Android). |
device.carrierName | String | Human-readable name of the User’s mobile network carrier. E.g. “T-Mobile”. |
device.deviceManufacturer | String | The manufacturer of the device. E.g. “Samsung”. |
device.deviceModel | String | The device model name, the well-known marketing name if possible. E.g. “iPhone 6 Plus”. |
device.deviceIdentifier | String | A unique device identifier. On iOS this is the value returned from UIDevice.identifierForVendor. On Android this is a UUID generated by the Rover SDK. |
device.deviceName | String | The user set device name. Uses bluetooth name on Android. |
device.isCellularEnabled | Boolean | Whether or not the cellular radio is enabled. |
device.isLocationServicesEnabled | Boolean | Whether or not location is enabled on the device. |
device.isWifiEnabled | Boolean | Whether or not WiFi is enabled on the device. |
device.locationAuthorization | String | Whether or not the user has granted location permissions to the app. One of [authorizedAlways , authorizedWhenInUse , denied , notDetermined , restricted ]. Currently only tracked on iOS. |
device.localeLanguage | String | The currently set device language in ISO 639 Alpha-2. |
device.localeRegion | String | The currently set region in BCP-47 format (ie., en-US ). |
device.localeScript | String | The script of the writing system, given as a ISO 15924 Alpha-4 code. |
device.notificationAuthorization | String | Whether or not the user has authorized notifications One of [authorized , denied ]. |
device.operatingSystemName | String | The name of the device’s OS itself, such as “iOS” or “Android”. |
device.operatingSystemVersion | String | The version number of the device’s OS. |
device.buildEnvironment | String | One of [production , development ]. Currently only tracked on iOS. |
device.pushToken.value | String | The token used by APNS or FCM/GCM to send notifications to the device. |
device.pushToken.timestamp | Timestamp | The time that the push token was updated. |
device.radio | String | The mode by which the device’s radio/baseband is currently connected to the carrier. E.g. “LTE”. |
device.screenWidth | Integer | The width of the display, in device independent pixels. “Points” on iOS, and “dp” on Android. |
device.screenHeight | Integer | The height of the display, in device independent pixels. “Points” on iOS, and “dp” on Android. |
device.sdkVersion | String | The version of the Rover SDK included in the app the device has installed. E.g. 2.2.3 |
device.timeZone | String | The time zone the device is currently present in. In tz database name format. E.g. “America/Toronto”. |
device.isBluetoothEnabled | Boolean | Whether or not bluetooth is enabled on the device. |
device.isTestDevice | Boolean | Whether or not the app has had Rover switched into Test Device mode, which allows it to be used to test Campaigns with in the Rover Campaigns app. |
device.location | Object | Geographic information about the current location of the device. |
device.location.coordinate | [Double] | A tuple of latitude and longitude, as a BigQuery REPEATED array. |
device.location.altitude | Double | Displacement from sea level in meters. |
device.location.verticalAccuracy | Double | The margin of error for the altitude, in meters. |
device.location.horizontalAccuracy | Double | The margin of error for the latitude/longitude coordinates, in meters. |
device.location.timestamp | Timestamp | The moment in time the location update was captured. |
device.location.address | Object | The ‘geocoded’ address. The Rover SDK uses the mobile platform built-in location services (in iOS and Android) to perform a geocoding lookup to determine the street address. |
device.location.address.street | String | Street address, with number as applicable. |
device.location.address.city | String | The city. |
device.location.address.state | String | The province or state. |
device.location.address.postalCode | String | Postal or ZIP code (or similar postal system code addressing system used in the given country) |
device.location.address.country | String | GCountry name. |
device.location.address.isoCountryCode | String | ISO 3166 Alpha-2 code for the country. |
device.location.address.subAdministrativeArea | String | Typically a borough of a city. |
device.location.address.subLocality | String | Typically the neighborhood of a city. |
device.userInfo | Object | App developer defined custom information, as a hash/dictionary with whatever custom fields have been set. |
device.advertisingIdentifier | String | An Advertising Identifier unique to app installation, from either Apple AdSupport or Google AdMob. Your developers have to enable the Rover advertising support module for this field to be present. |