Merchant Library Specs

We built the Button open-source library with the key questions we hear from our partners in mind. In particular:

  • It's completely open-source
  • No third party dependencies
    • Note: Android uses Support Library and Google Play services
  • 100% functional test coverage
  • Strict semantically versioned releases
  • MIT Licensed

Key Performance Characteristics

Note: These metrics are automatically updated by our release process -- they always reflect the latest version

Android Merchant Library

  • Compiled Size: 33 kb (AAR)
  • Method Count: 221 methods
  • Running Memory Footprint
    • Constant: ~200 kb
    • Peak: ~1 mb
    • Java heap size measured on Google Pixel running Android 8.1.0 using Memory Profiler
  • Network Footprint
    • New Install: 1.64 kb
    • Button Order Tracking: 1.68 kb
    • All others: 0 bytes
  • Library start time: ~6 ms
    • Measured as time to return from configure method
  • Supported OS Versions: API 15+

iOS Merchant Library

  • Compiled Size: 90 kb
    • Measured by uploading two complete builds to TestFlight and comparing their download size
  • Running Memory Footprint
    • Constant: ~2 kb
    • Peak: ~2.75 kb
  • Network Footprint
    • New Install: ~775 bytes
    • Button Order Tracking: ~750 bytes
    • All others: 0 bytes
  • Library start time: ~1 ms
    • Measured as time to return from configure method
  • Supported OS Versions: iOS 9+
  • 100% Swift Code

Support Guarantee

  • There are no known crashing issues in the library
    • A crashing issue in this library is P0 to our team and will be addressed immediately
  • All new versions of the Android and iOS will be supported at least 30 days before public availability of the OS version

Sample Project

Want to see what a complete setup looks like? Both the iOS and Android Merchant library repositories include a full Sample Project.