For Android developers, the process of publishing to the Play Store is a straightforward one. However, the process is manual and requires developers to log in to the Play Store Portal to manage or update their applications. And if they're using Play Store features that allow them to push releases to different tracks, such as alpha/beta and testing groups, they just hope that there's an API to automate that process. Google has given Android developers exactly that: a Play Store API to perform a number of publishing and application management tasks.
Unlike the usual blog posts announcing a new API, this one has been picked up by developers from the Google Developer pages. The Google Play Store API has two components:
- Publishing API: This API is for automating tasks related to app distribution and production. This includes maintaining Play Store listings, uploading new versions of the application and releasing apps to various tracks (alpha, beta, staged rollout and production).
- Subscriptions and In-App Purchases API: This was present in the earlier version of the API that provided developers with access to information about in-app purchases and subscriptions of their applications.
This API is helpful not just to individual developers but also to teams where different groups are responsible for various parts of the publishing process. This will help streamline workflow and approval where some individuals would handle assets while others would take care of APK files and more. Eventually this API should be integrated with sophisticated content management systems that can publish directly to the Play Store and its different channels.
API Usage Instructions seem to put some limits on what is considered a fair usage policy. It is unclear, however, how Google would enforce this. For example, the instructions say that alpha and beta updates should not be published more than once a day, and production apps should be published even less often. Practically, that makes sense, and developers will need to tread carefully before exercising the API. An official blog post should help.