What is a SDK?
Using all the services available on the Hackle dashboard means using one of our SDKs.
Target Audience
The SDK set-up process will require basic development skills.
Most SDKs are designed to be specific for each programming language used to create your platform, app, or website. Once installed, our SDKs will layer on top of your application/website/platform and obtain your user behavior to allow you to use all the Hackle functionalities from the Hackle dashboard.
If you have any questions regarding any part of the documentation, feel free to reach us at [email protected]. We always get back within 2 business days.
For product managers and marketers who want a walkthrough guide on Hackle's actual product offerings on our dashboard, check out the documents underneath our Getting Started (Product Guide)
SDK Types
We support two main types of SDK, client-side and server-side. Depending on your needs, you either choose one type of SDK or use both types if necessary.
For more information on the difference between client-side and server-side please check out the Client-side SDK and Server-side SDK document.
Type | Description |
---|---|
Client-side | - SDK functions run on the user's device, such as a browser or mobile app. - JavaScript, Android, iOS, React, Unity, Flutter SDK, etc. |
Server-side | - SDK functions are executed on the server that provides the service. - Java/Kotlin, Python, Node.js SDK, etc. |
SDK Functions
Hackle SDK carries out the following main functions:
-
Distribute user traffic into test groups
This function distributes incoming user traffic into test groups A, B, and C, and returns the information on the assigned groups of the users back to Hackle to keep a record of each userβs exposure after the distribution is complete. -
Return information on feature releases to users
This function is used by feature flags. It returns the information on whether a particular feature has been released for a certain user back to Hackle. This information is then relayed to the dashboard. -
Send user events
This function is used by A/B testing and user funnel analysis. The information on the events fired by the users is sent back to Hackle to analyze user behavior. -
Targeting
This function allows A/B testing and feature flags to target users with specific properties.
In the case of A/B testing, only users with specific properties can participate in A/B testing, and in the case of feature flags, you can apply the settings of a feature flag to users with specific properties. -
Data segmentation
This function allows for a more in-depth analysis with specific property values for the analysis criteria for users. Hackle requires defining user properties that correspond to each user in the analysis criteria and sending the properties to the Hackle.
Client-side SDK
SDK | Test Group Distribution | Send Event Keys | Feature Flag | Data Segmentation | Targeting | Mutually Exclusive Settings | Parameter Settings | Multi Identifiers | Remote Config |
---|---|---|---|---|---|---|---|---|---|
Android | All Versions | All Versions | 2.0.0+ | 2.0.0+ | 2.1.0+ | 2.6.0+ | 2.9.0+ | 2.5.0+ | 2.11.0+ |
iOS | All Versions | All Versions | 2.0.0+ | 2.0.0+ | 2.0.0+ | 2.6.0+ | 2.9.0+ | 2.5.0+ | 2.11.0+ |
JavaScript | All Versions | All Versions | 2.0.0+ | 2.0.0+ | 2.1.0+ | 3.5.0+ | 11.3.0+ | 3.4.0+ | 11.5.0+ |
React | All Versions | All Versions | 2.0.0+ | 2.0.0+ | 2.1.0+ | 3.5.0+ | 11.3.0+ | 3.4.0+ | 11.5.0+ |
React Native | All Versions | All Versions | 2.0.0+ | 2.0.0+ | 2.0.0+ | 3.3.0+ | 3.3.0+ | 3.3.0+ | 3.3.0+ |
Unity | All Versions | All Versions | All Versions | All Versions | All Versions | 1.2.0+ | 1.3.0+ | Not Supported | 1.4.0+ |
Flutter | All Versions | All Versions | All Versions | All Versions | All Versions | All Versions | All Versions | All Versions | All Versions |
Server-side SDK
SDK | Test Group Distribution | Send Event Keys | Feature Flag | Data Segmentation | Targeting | Mutually Exclusive Settings | Parameter Settings | Multi Identifiers | Remote Config |
---|---|---|---|---|---|---|---|---|---|
Java/Kotlin | All Versions | All Versions | 2.0.0+ | 2.0.0+ | 2.1.0+ | 2.6.0+ | 2.8.0+ | 2.5.0+ | 2.9.0+ |
Python | All Versions | All Versions | 2.0.0+ | 2.0.0+ | 2.1.0+ | 2.3.0+ | 3.1.0+ | 2.3.0+ | 3.2.0+ |
Node.js | All Versions | All Versions | 2.0.0+ | 2.0.0+ | 2.1.0+ | 3.5.0+ | 11.3.0+ | 3.4.0+ | 11.5.0+ |
PHP | All Versions | All Versions | Not Supported | Not Supported | Not Supported | Not Supported | Not Supported | Not Supported | Not Supported |
Ruby | All Versions | All Versions | Not Supported | Not Supported | Not Supported | Not Supported | Not Supported | Not Supported | Not Supported |
SDK Versions
SDK Type | SDK | Latest Version |
---|---|---|
Client-side | Android | |
iOS | ||
JavaScript | ||
React | ||
React Native | ||
Unity | ||
Flutter | ||
Server-side | Java/Kotlin | |
Python | ||
Node.js | ||
PHP | ||
Ruby | ||
Go |
SDK Updates
Most SDKs are updated automatically, allowing you to simply integrate once. However, there are some SDKs that need to be updated manually.
Android, iOS, Java/Kotlin, PHP, and Ruby need manual updates and hence you need to make sure to enter the latest version during the Add Dependency step within the SDK Integration step (of each language).
Updated about 1 year ago