Our current solution is that 3rd party apps depend on the Flic app to deliver the button events (easiest is through intents). There are multiple reasons for that:
We can provide a small simple open source library that is easy to integrate. The 3rd party app does not need to run a service in foreground mode (BLE connection apps need that in order to not be terminated while in the background). It simplifies when multiple apps wants to use the same button. Most important, the Flic doesn't need to have a pairing to each app (and force the user to run the pairing process). If we find and fix bugs or do improvements in our BLE code those fixes can be rolled out directly so that each 3rd party app doesn't have to upgrade their Flic SDK version.