We've tagged a number of issues as you can do this!. These will generally not require much (or any!) working knowledge of our SDK.
If you decide you want to help, that you can do this! tag is a good place to start. Now, here's how you can actually get going:
- Follow the directions from 2. Create a fork/branch. to setup your environment.
- Find an issue that speaks to you, and comment in it "I've got this" or something like that 😄.
- If the issue isn't clear enough, feel free to tag in sdk team
@RevenueCat/sdk
asking for clarification. - Work on the issue!
- If that builds, then follow the final steps (Create a pull request to RevenueCat)
- Done!
We use sdkman to specify the environment that should be used when developing. Install sdkman using their
official instructions. Navigate to the root of this project and do sdk env install
,
which should install the specific Java version we expect you to use.
bundle exec fastlane setup_dev
It links in our pre-commit hook to run detekt. That saves you time so you don't have to wait for our CI to do it ⏱.
Before submitting a Github issue, please make sure to
- Search for existing Github issues
- Review our Help Center
- Read our docs.revenuecat.com
There are certain project specific issues that are commonly misinterpreted as bugs.
- Offerings, products, or available packages are empty
- Invalid Play Store credentials errors
- Unable to connect to the App Store (STORE_PROBLEM) errors
For support I'd recommend our online community, StackOverflow and/or Help Center 👍
If you have a clearly defined bug (with a Minimal, Complete, and Reproducible example) that is not specific to your project, follow the steps in the GitHub Issue template to file it with RevenueCat without removing any of the steps. For SDK-related bugs, make sure they can be reproduced on a physical device, not a simulator (there are simulator-specific problems that prevent purchases from working).
Be sure to adhere to the prevailing style of the project.
You can use the purchase-tester
project in the examples
folder as a tester app for manual tests. Specify your
RevenueCat API key in the MainApplication
class. You can also change the package name in the build.gradle
file
to your own so you can test with real products.
Explain in your pull request the work that was done, the reasoning, and that tests passed.