Add publish implementation for Google Play Store
- Dominant language
- Python
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 40
Description
### What is the problem or limitation you are having?
Briefcase has a `publish` command; however, it is only a stub implementation for Android Gradle targets.
Google provides the [Google Play Developer API](https://developers.google.com/android-publisher) to manage the submission and publication process. It should be possible to use this API to automate submitting an Android app to the Play Store.
### Describe the solution you'd like
`briefcase publish android -c playstore` should publish an app to the Google Play store.
### Describe alternatives you've considered
Continue to require manual Play Store submission, potentially removing the `publish` command.
### Additional context
This would be a good follow on from #2687.
Ideally, the submission process would also include creating the full Play Store submission, including descriptions, screenshots etc. It's not clear how much of this can be automated, and how much will always require a user to log in and fill in details, but if there's content being provided, the first goal should be to be able to provide that content locally, stored in CI.
It's also not clear if the process will be different for *first* submission and *subsequent* submissions.
Implementing this also requires a fix for #1268.
The Google Developer API [has Python bindings](https://pypi.org/project/google-api-python-client).
[Gradle Play Publisher](https://github.com/Triple-T/gradle-play-publisher) is an unofficial Gradle plugin to automate submission.
[Fastlane](https://docs.fastlane.tools) is a tool that provides a pre-wrapped user experience; it could be considered a competitor to `briefcase publish`. It could also be considered as an implementation mechanism - however, it is a Ruby-based tool, and only works on macOS, so it might not be viable for Android projects.
Contributor guide
Research direction
Start at the `briefcase publish android -c playstore` entry point and review the follow-on issue #2687 plus the required fix in #1268. Read the Google Play Developer API documentation and its Python bindings, then define what first and subsequent submissions must support; done means the command can automate Android app publication with a clear scope for store metadata.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, python
- Domain
- mobile, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100