Create a client library that can be used in open source apps for contacting Google or microG Exposure Notifications API.
Optionally also allow to ship the microG EN service implementation with the app and use it when neither Google nor microG is installed.
@mar-v-in, IIUC from https://mastodon.social/@larma/105272674850915922 and the inclusion of the CWA-fork in F-droid, the subject of this issue is now implemented in microg? Or am I misunderstanding? Is there any documentation on how this works, apart from your mastodon post?
One additional question: If this approach is used, AFAIC an app will use a system-installed microg/EN when available, or fallback to a bundled version if not. But what if microg is not installed but Google Play Services is? Would it then use that? If so, then I think this could allow using a single codebase and build, without any compiletime options, that could be used both on the play store and F-droid (but I might be missing all kinds of relevant details, I have little experience with Android dev)?
@matthijskooijman
Technically it should be possible to use the client library with original Google Play Services for a single, fully FOSS codebase. However, this was never tested, mainly because the app that uses the play services needs to be signed by an authorized key (which is only provided to official government organizations or their partners). Additionally, I doubt Google will allow the official apps as distributed through Play Store to use an alternative implementations of play services client library, but should any official government app be interested in doing this nontheless, I'd be ready to help out should any issues occur.
Regarding documentation: The API of microG client library is exactly the same as Google, so all of the Google documentation can be used as is, except that a different library is to be used as I described on Mastodon.
Most helpful comment
@matthijskooijman
Technically it should be possible to use the client library with original Google Play Services for a single, fully FOSS codebase. However, this was never tested, mainly because the app that uses the play services needs to be signed by an authorized key (which is only provided to official government organizations or their partners). Additionally, I doubt Google will allow the official apps as distributed through Play Store to use an alternative implementations of play services client library, but should any official government app be interested in doing this nontheless, I'd be ready to help out should any issues occur.
Regarding documentation: The API of microG client library is exactly the same as Google, so all of the Google documentation can be used as is, except that a different library is to be used as I described on Mastodon.