SDK Overview
In this category, you will find guides explaining the difference between client and server-side SDKs. To connect to the Bucketeer server, you will need an SDK for your programming language and an API key.
The API Key is generated on the Bucketeer dashboard from the API Keys menu.
Choose a Bucketeer SDK
When integrating a Bucketeer SDK with your code, it is important to consider two factors.
- First, you need to assess your specific requirements to determine whether you need a server-side or client-side SDK. Typically, you will only need one SDK per application or service. However, you can use multiple SDKs if your product consists of applications or services written in multiple languages.
- Afterward, you need to select the programming language which will normally be used on your system.
We strongly recommend that you check our Quickstart guide before using Bucketeer SDKs in your application.
Client-side SDK
Client-side SDKs are designed for single-user desktop, mobile, and embedded applications. They are intended for use in potentially less secure environments, such as personal computers or mobile devices, including mobile SDKs. These SDKs typically run on end-user devices, which makes them vulnerable to compromise by users who unpack a mobile app to examine the SDK bytecode or use developer tools in their browser to inspect internal site data. Therefore, never using a server-side SDK key in a client-side or mobile application is essential.
Supported SDKs for client-side:
Client available features
The table below illustrates all features available in each one of the available Client SDKs.
Feature | Android | iOS | Flutter | Javascript |
---|---|---|---|---|
Evaluating user | ||||
Variation types | ||||
Updating user evaluations | ||||
Updating user evaluations in real-time | ||||
Reporting custom events | ||||
Flushing events | ||||
User attributes configuration | ||||
Updating user attributes | ||||
Getting user information | ||||
Getting evaluation details | ||||
Listening to evaluation updates | ||||
Background mode | ||||
Destroying client |
Server-side SDK
Server-side SDKs are designed for multi-user systems and intended for use in trusted environments, like corporate networks or web servers. They operate within server-architected applications running on your infrastructure or trusted cloud-based infrastructure. These locations are not directly accessible by end-users. The restricted access of server-based applications allows server-side SDKs to safely receive flag data and rulesets without the need to filter out sensitive information. This setup enables server-side SDKs to receive flag data including rules, and segments safely without filtering out sensitive information.
Supported SDKs for server-side:
Server available features
The table below illustrates all features available in each one of the available Server SDKs.