|
1 | 1 | # Split Java SDK |
2 | 2 |
|
3 | | -This SDK is designed to work with [Split](https://www.split.io), the platform for controlled rollouts, serving features to your users via the Split feature flag to manage your complete customer experience. |
4 | | - |
5 | | -### Quick setup |
6 | | - |
7 | | -For specific instructions on how to set up the Split SDK refer to our [Detailed-README](Detailed-README.md) or our [official SDK documentation](http://docs.split.io/docs/sdk-overview). |
8 | | - |
9 | | -### Commitment to Quality: |
10 | | - |
11 | | -Split’s SDKs are in active development and are constantly tested for quality. Unit tests are developed for each SDK based on the unique needs of that language, and integration tests, load and performance tests, and behavior consistency tests are running 24/7 via automated bots. In addition, monitoring instrumentation ensures that these SDKs behave under the expected parameters of memory, CPU, and I/O. |
12 | | - |
13 | | -### About Split: |
14 | | - |
15 | | -Split is the leading platform for feature experimentation, empowering businesses of all sizes to make smarter product decisions. Companies like Vevo, Twilio, and LendingTree rely on Split to securely release new features, target them to customers, and measure the impact of features on their customer experience metrics. Founded in 2015, Split's team comes from some of the most innovative enterprises in Silicon Valley, including Google, LinkedIn, Salesforce and Databricks. Split is based in Redwood City, California and backed by Accel Partners and Lightspeed Venture Partners. |
16 | | - |
17 | | -Our platform is a unified solution for continuous delivery and full-stack experimentation. Split unifies DevOps and product management, helping agile engineering and product teams accelerate the pace of product delivery and make data-driven decisions, through our robust feature flagging and extensive experimentation capabilities. With Split, organizations can now accelerate time to value, mitigate risk, and drive better outcomes, all in a unified platform. |
18 | | - |
19 | | -To learn more about Split, contact hello@split.io, or start a 14-day trial at https://www.split.io/signup/. |
20 | | - |
21 | | -Split has built and maintains a SDKs for: |
22 | | - |
23 | | -* Java [Github](https://github.com/splitio/java-client) [Docs](http://docs.split.io/docs/java-sdk-guide) |
24 | | -* Javascript [Github](https://github.com/splitio/javascript-client) [Docs](http://docs.split.io/docs/javascript-sdk-overview) |
25 | | -* Node [Github](https://github.com/splitio/javascript-client) [Docs](http://docs.split.io/docs/nodejs-sdk-overview) |
26 | | -* .NET [Github](https://github.com/splitio/.net-client) [Docs](http://docs.split.io/docs/net-sdk-overview) |
27 | | -* Ruby [Github](https://github.com/splitio/ruby-client) [Docs](http://docs.split.io/docs/ruby-sdk-overview) |
28 | | -* PHP [Github](https://github.com/splitio/php-client) [Docs](http://docs.split.io/docs/php-sdk-overview) |
29 | | -* Python [Github](https://github.com/splitio/python-client) [Docs](http://docs.split.io/docs/python-sdk-overview) |
30 | | -* GO [Github](https://github.com/splitio/go-client) [Docs](http://docs.split.io/docs/go-sdk-overview) |
31 | | -* Android [Github](https://github.com/splitio/android-client) [Docs](https://docs.split.io/docs/android-sdk-overview) |
32 | | -* IOS [Github](https://github.com/splitio/ios-client) [Docs](https://docs.split.io/docs/ios-sdk-overview) |
33 | | - |
34 | | -For a comprehensive list of opensource projects visit our [Github page](https://github.com/splitio?utf8=%E2%9C%93&query=%20only%3Apublic%20). |
35 | | - |
36 | | -**Learn more about Split:** |
37 | | - |
38 | | -Visit [split.io/product](https://www.split.io/product) for an overview of Split, or visit our documentation at [docs.split.io](http://docs.split.io) for more detailed information. |
39 | | - |
40 | | -**System Status:** |
41 | | - |
42 | | -We use a status page to monitor the availability of Split’s various services. You can check the current status at [status.split.io](http://status.split.io). |
| 3 | +[](https://api.travis-ci.com/splitio/java-client) |
| 4 | + |
| 5 | +## Overview |
| 6 | +This SDK is designed to work with Split, the platform for controlled rollouts, serving features to your users via the Split feature flag to manage your complete customer experience. |
| 7 | + |
| 8 | +[](https://twitter.com/intent/follow?screen_name=splitsoftware) |
| 9 | + |
| 10 | +## Compatibility |
| 11 | +This SDK is compatible with Java 6 and higher. |
| 12 | + |
| 13 | +## Getting started |
| 14 | +Below is a simple example that describes the instantiation and most basic usage of our SDK: |
| 15 | + |
| 16 | +```java |
| 17 | +import io.split.client.SplitFactoryBuilder; |
| 18 | +import io.split.client.SplitClient; |
| 19 | + |
| 20 | +public class App { |
| 21 | + |
| 22 | + public static void main() { |
| 23 | + SplitClientConfig config = SplitClientConfig.builder() |
| 24 | + .setBlockUntilReadyTimeout(10000) |
| 25 | + .build(); |
| 26 | + SplitFactory splitFactory = SplitFactoryBuilder.build("SDK_API_KEY", config); |
| 27 | + SplitClient client = splitFactory.client(); |
| 28 | + try { |
| 29 | + client.blockUntilReady(); |
| 30 | + } catch (TimeoutException | InterruptedException e) { |
| 31 | + // log & handle |
| 32 | + } |
| 33 | + |
| 34 | + String treatment = client.getTreatment("CUSTOMER_ID", "SPLIT_NAME"); |
| 35 | + if (treatment.equals("on")) { |
| 36 | + // Feature is enabled for this user! |
| 37 | + } else if (treatment.equals("off")) { |
| 38 | + // Feature is disabled for this user! |
| 39 | + } else { |
| 40 | + // Unable to perform evaluation. |
| 41 | + } |
| 42 | + } |
| 43 | +} |
| 44 | +``` |
| 45 | + |
| 46 | +## Submitting issues |
| 47 | + |
| 48 | +The Split team monitors all issues submitted to this [issue tracker](https://github.com/splitio/java-client/issues). We encourage you to use this issue tracker to submit any bug reports, feedback, and feature enhancements. We'll do our best to respond in a timely manner. |
| 49 | + |
| 50 | +## Contributing |
| 51 | +Please see [Contributors Guide](CONTRIBUTORS-GUIDE.md) to find all you need to submit a Pull Request (PR). |
| 52 | + |
| 53 | +## License |
| 54 | +Licensed under the Apache License, Version 2.0. See: [Apache License](http://www.apache.org/licenses/). |
| 55 | + |
| 56 | +## About Split |
| 57 | + |
| 58 | +Split is the leading Feature Delivery Platform for engineering teams that want to confidently deploy features as fast as they can develop them. Split’s fine-grained management, real-time monitoring, and data-driven experimentation ensure that new features will improve the customer experience without breaking or degrading performance. Companies like Twilio, Salesforce, GoDaddy and WePay trust Split to power their feature delivery. |
| 59 | + |
| 60 | +To learn more about Split, contact hello@split.io, or get started with feature flags for free at https://www.split.io/signup. |
| 61 | + |
| 62 | +Split has built and maintains SDKs for: |
| 63 | + |
| 64 | +* Java [Github](https://github.com/splitio/java-client) [Docs](https://help.split.io/hc/en-us/articles/360020405151-Java-SDK) |
| 65 | +* Javascript [Github](https://github.com/splitio/javascript-client) [Docs](https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK) |
| 66 | +* Node [Github](https://github.com/splitio/javascript-client) [Docs](https://help.split.io/hc/en-us/articles/360020564931-Node-js-SDK) |
| 67 | +* .NET [Github](https://github.com/splitio/.net-core-client) [Docs](https://help.split.io/hc/en-us/articles/360020240172--NET-SDK) |
| 68 | +* Ruby [Github](https://github.com/splitio/ruby-client) [Docs](https://help.split.io/hc/en-us/articles/360020673251-Ruby-SDK) |
| 69 | +* PHP [Github](https://github.com/splitio/php-client) [Docs](https://help.split.io/hc/en-us/articles/360020350372-PHP-SDK) |
| 70 | +* Python [Github](https://github.com/splitio/python-client) [Docs](https://help.split.io/hc/en-us/articles/360020359652-Python-SDK) |
| 71 | +* GO [Github](https://github.com/splitio/go-client) [Docs](https://help.split.io/hc/en-us/articles/360020093652-Go-SDK) |
| 72 | +* Android [Github](https://github.com/splitio/android-client) [Docs](https://help.split.io/hc/en-us/articles/360020343291-Android-SDK) |
| 73 | +* iOS [Github](https://github.com/splitio/ios-client) [Docs](https://help.split.io/hc/en-us/articles/360020401491-iOS-SDK) |
| 74 | + |
| 75 | +For a comprehensive list of open source projects visit our [Github page](https://github.com/splitio?utf8=%E2%9C%93&query=%20only%3Apublic%20). |
| 76 | + |
| 77 | +**Learn more about Split:** |
| 78 | + |
| 79 | +Visit [split.io/product](https://www.split.io/product) for an overview of Split, or visit our documentation at [help.split.io](http://help.split.io) for more detailed information. |
0 commit comments