emitron is the code name for the raywenderlich.com app. This repo contains the code for the Android version of the app.
To contribute a feature or idea to emitron, create an issue explaining your idea in detail.
If you find a bug, please create an issue.
If you find a security vulnerability, please contact [email protected] as soon as possible. See SECURITY.md for further details.
There is more info about contributing in CONTRIBUTING.md.
Anyone who wants to contribute to emitron can do so by cloning the repo and setting up the project.
However, only subscribers have access to streaming videos and Professional subscribers are allowed to download videos for offline playback.
- Create a new file named
gradle.properties
in the project-level folder. - Copy
gradle.properties.dist
contents togradle.properties
.
- Open Google Firebase console.
- Create a new project with an arbitrary name.
- Add an Android app by following the instructions.
- For the package name, put in
com.razeware.emitron
. You don't need the SHA-1 signing certificate. - Download the
google-services.json
file from the newly created app. - Add
google-services.json
to theapp
folder within the project.
That's it! You should be able to run the app and make your contributions! :]
The emitron download feature requires a special secret key in gradle.properties
:
app_token
. Required in order to enable downloads. This is not provided in the repo, and is not generally available. Additionally, if you don't own a "Professional" subscription, you won't be able to use downloads.
NOTE: To get the release build secrets, check the emitron S3 bucket, or contact [email protected]. Developers should never need these, as CI will handle it.
If you are working on the download functionality and are having problems without an app_token
, contact [email protected] and somebody will assist you with your specific needs.
emitron uses GitHub Actions to perform continuous integration and deployment. Every PR is built and tested before it can be merged.
- Merges to
development
will create a new build of the emitron β app on Firebase. - Merges to
production
will create a new build of the emitron production app on Google Play Store.