This document discusses technical details of the Engine SDK. If a topic you are interested in is not answered here, you can request it in our support forum.
Engine has been designed to respect user privacy. Among other things:
We measure the Engine SDK in terms of how much larger it would make your final shipping app, rather than the size of the binary files we deliver to you (pre-compilation). A basic Engine installation should not add more than 1.5 MB to the size of your app. Keep in mind that this isn’t a cut and dry calculation, as you may be adding additional code to your app to actually implement the cool things that Engine now enables you to do.
In order to function, Engine requires two types of resources periodically: the latest configuration file, which configures Engine to your specific requirements; and map tiles, containing geographic data.
Engine checks daily (this is configurable) for the latest configuration file. Configuration files contain things like power profiles, location permissions, country-specific privacy guidance, and circumstance definitions. The request for a configuration file contains the following:
|Phone make||Phone model||Operating system|
|Carrier||Carrier Country||Operating system version|
|Engine version||Device Id1||Configuration id|
1Depending on configuration and terms, this may be a random Id generated at install, the IDFA, or a completely random string. It is only used to track unique configuration requests in broad numbers.
Engine keeps a cache of geographic data such as nearby businesses, street polygons, etc. This cache is served in “tiles”- roughly square segments of the earth around the user. Any time a user enters an area for which Engine hasn’t cached any data, a new tile is requested. The following data is sent when requesting a tile: