-
Notifications
You must be signed in to change notification settings - Fork 32
Analytics
So - you've opted in to analytics/tracking and we really do appreciate it. But what are we actually tracking about you?
The tracking software we use will tell us what device you are using, what version of the operating system it is and also what country you are in. We've turned off all other location reporting - but country seems to be hard coded into the library and we haven't managed to turn that off.
Remember that you can opt in and out of tracking at any time by opening your iOS device settings app, scrolling down to DronePan and toggling the switch there.
In our code - three things are tracked explicitly:
We track each time a screen loads. This tells us how people are using the application.
We track certain events. Currently we have 3 categories.
Detection of connection to product (drone or handheld), camera, lens etc
Detection of start and stop, plus some error conditions.
This logs what information we can find out about the gimbal you have. This is likely to be removed fairly soon.
If the program raises an exception then we will try to log it - either before the app crashes or on next app start.
This is as of 19th November 2016
Command run: git grep trackScreenView | grep -v AnalyticsUtils | sed -e "s/.*track/track/"
trackScreenView("CameraSettingsViewController")
trackScreenView("MainViewController")
trackScreenView("SettingsViewController")Command run: git grep trackEvent | grep -v AnalyticsUtils | sed -e "s/.*track/track/"
trackEvent(category: "Connection", action: "New Product", label: model)
trackEvent(category: "Connection", action: "Firmware Version", label: firmware)
trackEvent(category: "Connection", action: "New Camera", label: camera.displayName)
trackEvent(category: "Connection", action: "New Lens", label: info)
trackEvent(category: "Gimbal Capability", action: key as! String, label: "\(range.isSupported) \(range.min) - \(range.max)")
trackEvent(category: "Gimbal Capability", action: key as! String, label: "\(capability.isSupported)")
trackEvent(category: "Panorama", action: "Range Extension", label: "Starting panoarama with model \(self.model), camera \(self.cameraController?.camera.displayName) range extension \(self.gimbalController?.supportsRangeExtension) and max pitch \(self.gimbalController?.getMaxPitch())")
trackEvent(category: "Panorama", action: "Running", label: "Stopped by system")
trackEvent(category: "Panorama", action: "Camera", label: "Aborted \(reason)")
trackEvent(category: "Panorama", action: "Camera", label: "Error \(reason)")
trackEvent(category: "Panorama", action: "Gimbal", label: "Aborted \(reason)")
trackEvent(category: "Panorama", action: "Gimbal", label: "Out of range \(reason)")
trackEvent(category: "Panorama", action: "Running", label: "Started by user")
trackEvent(category: "Panorama", action: "Running", label: "Stopped by user")