How big is the Apsalar SDK footprint in my application?

Last Updated: Dec 16, 2016 10:31AM PST

Application Size, Support, and Runtime

What iOS devices does Apsalar support in the Apsalar iOS SDK?

On iOS, there are limitations imposed by architecture. Apsalar supports:

  • iPod touch 3 and above

  • ​iPhone 3GS and above

  • All iPads

Please consult Apple's Device Compatibility Matrix for more information.

What is the footprint of your SDKs?

For iOS, the libApsalar.a static library amounts to roughly 4 MB in total. The Apsalar Android .jar is 66 KB.

​For the latest SDK size please visit the Get the SDK page.

What is the CPU impact?

Minimal. It is difficult to put a solid number on CPU impact as CPU varies per-chip and depends on the software and tasks being computed. For iOS the maximum clock rate is between 800 MHz to 1.3 GHz, depending on if there is an A4/A5/A6 chip. If you instrument many events that fire often, the CPU impact increases. CPU impact is tougher to calculate for Android due to the variability of hardware.

What is the GPU impact?

The impact depends on the rendering of GPU activities (e.g. frame buffering, complex geometry, textures, shading, etc). Apsalar has an iOS and Android plugin designed specifically for Unity to optimize GPU impact. Applications running in the background cannot call OpenGL ES functions, so Apsalar's GPU impact only matters when the app is actively in the foreground. Note that the Apsalar SDK still records events while the device is running in the background (e.g. significant-change location services). 

How much bandwidth is used if/when data is transmitted? What is the frequency/cycle of data transmission?

When a user’s device is connected to the Internet, the session and event data is sent as it occurs to Apsalar using a background thread. In the case where the device is offline, this timestamped data is buffered until that time when the device is back online, at which time the buffer is flushed and the data is sent to Apsalar. The buffering occurs in a SQLite database file named Apsalar_XXXX.sqlite, where XXXX is a 40-character hexadecimal SHA1 hash of the API key, secret, and longname. The file is stored in the application’s Library directory.

To avoid uncontrolled expansion of the Apsalar event buffering database, the Apsalar SDK will only record up to 1000 sessions and events. If the buffer is full, any subsequent sessions and events will not be recorded. This limit can be changed by sending the API the setBufferLimit message: [Apsalar setBufferLimit:1000]; 

where the argument is your desired size of the buffer. You can increase this number but it is not recommended to reduce the buffer below 1000. To minimize wear on the device’s NAND flash memory, we only write to the database when an Internet connection is unavailable or not functional.


How long does integration typically take? 

~30 minutes for both platforms, though you should account for documentation. The time to complete SDK integration is usually a function of developer experience.

Consult Apsalar's Integrations guides for:
seconds ago
a minute ago
minutes ago
an hour ago
hours ago
a day ago
days ago
Invalid characters found