Experience Presented
The Experience Presented event is triggered when the app displays a given experience to the user (perhaps opened from a notification or custom logic in the app).
Table Schema
Experience Presented events are stored in BigQuery in the v2_rover_experience_presented table.
The following is a detailed description of each column in the table.
| Column | Type | Description | 
|---|---|---|
| timestamp | Timestamp | Time the event occurred. | 
| attributes.experience.id | String | The unique identifier for this experience. | 
| attributes.experience.tags | [String] | Tags set on the Experience in the Experiences authoring app as a BigQuery REPEATEDarray. | 
| attributes.experience.keys | Object | Custom key value pairs set in the Experiences authoring app. | 
| attributes.experience.name | String | The experience’s name, set in the Experiences authoring app. | 
| attributes.experience.campaignID | String | The associated campaign that was the context for the interaction with this experience. | 
| 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 REPEATEDarray. | 
| 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. |