-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Android Telemetry planning #2421
Comments
The data model and lifecycle model to mirror from iOS can be found in MGLMapboxEvents.m. |
Telemetry is going to need #2954 to be implemented first. |
I believe this is issue has gone out of date and is being tracked/evaluated elsewhere. cc @bleege |
Nope, we'll be using this ticket to build the implementation out. This will be easier to have data and history in one ticket. |
… to common location and updating iOS projects to load them from there
Rebased and merged into In order for Android Telemetry Iteration 1 to be considered "complete" the following tickets also must be completed:
/cc @mapbox/telemetry |
* master: (144 commits) [android] mapbox#3900 - Using CopyWriteArrayList to avoid concurrency issues with MapChangeListeners [android] mapbox#3919 - restore espresso tests [android] mapbox#3907 - Clearing any / all events in memory at the time of Telemetry being disabled [android] mapbox#3907 - Integrating Telemetry On / Off UI with functionality [android] mapbox#3907 - Initial refactoring to support on / off capability for Telemetry Services [android] mapbox#3907 - Adding Telemetry Settings to Attribution Options [tests] Fix build [core] Organize files that were in map folder better Allow using tileSize: 512 as a switch to trade retina support for 512px raster tiles [android] mapbox#3908 - No more beep [build] Build `offline` tool on the bots [build] Fix broken target when building on the bots [build] Build `offline` smoke test for Linux [android] mapbox#3876 - rename InfoWindowClickListener method [android] mapbox#3895 - handles the case of not requested/accepted permissions [core] use std::move() to prevent copies [core] return std::move() prevents copy elision [android] mapbox#2421 - Adding basic JavaDocs [android] mapbox#2421 - Setting up Certificate Pinning for Prod Server GeoTrust [android] mapbox#2421 - Setting up Certificate Pinning for Staging Server ...
My opinion on Telemetry: there should be an easy opt-out procedure, whether it be not including the service in the manifest or by using a MapboxMapOptions flag. For me, using the Telemetry service in my manifest causes a crash in my application, and I'd also like to not send user location data as I'm just displaying a Map, not displaying the user's location. |
Thanks for your feedback @afathman. We always love to hear from the community about Mapbox projects.
We agree! That's why we built the Consumer Opt Out Control directly into the MapView UI so that all end users can control whether or not they want to participate.
Can you tell us which version of the SDK you're using? Is it the latest Release Candidate from Friday night?
The Telemetry system works by listening for Location updates from the app and operating system. The only time that User Location data will be generated by Mapbox tools is when the User Location is enabled using |
Was hoping for a developer opt out control, it doesn't seem very friendly to crash an app when it doesn't list your Telemetry service in the manifest.
I'm using 4.0.0-rc1 in my build.
That makes sense... though I get logcat error messages from MapBox complaining that I didn't yet give it location permissions, even when I use setMyLocationEnabled(false); |
Thanks for confirming. Can you provide a stack trace or more details about what's crashing?
Yep, the Mapbox Android SDK uses the open source LOST framework which uses the stock AOSP Location API for Location data generation. This means that the usual Android Location permissions ( |
For the v0.2.0 release we plan to implement metrics.
This ticket is for planning what tasks we need to complete so we can break it out into separate issues.
Tasks:
EventManager
that processes and uploads events on a background thread - Create Android EventManager #2422The text was updated successfully, but these errors were encountered: