CloudBees Unify Feature Management SDKs for client applications provide desktop and embedded system integration for Java, C/C++, and .NET applications running on user devices. Use this reference when implementing feature flags in desktop applications, embedded systems, and client-side services.
Each reference covers SDK version 6.x. Refer to the CloudBees Unify changelog for version-specific differences.
Java client SDK methods
The Java client SDK provides feature flag management for Java desktop applications, standalone clients, and embedded Java systems.
Initialize the Java client SDK (setup)
This method configures the SDK with your application key and establishes connection to CloudBees Unify for Java client applications.
public static CompletableFuture<CoreState> setup(String appKey) public static CompletableFuture<CoreState> setup(String appKey, RoxOptions options)
Configures the SDK for client-side operation and retrieves feature flag configuration from CloudBees Unify.
Returns CompletableFuture<CoreState> that completes when SDK has retrieved data.
| Parameter | Type | Description |
|---|---|---|
|
String |
Environment-specific SDK key from CloudBees Unify. |
|
RoxOptions |
Configuration instance with desired client SDK settings. |
Register flag containers (register)
This method registers container instances to make Java client flags available for configuration.
public static void register(String namespace, Object container)
Registers a container instance containing flag definitions for Java client applications. Container fields become flags in the UI named with the object structure.
Shut down the Java client SDK (shutdown)
This method deactivates the SDK and unregisters all feature flags for Java client applications.
public static void shutdown()
Performs cleanup and closes connections when Java client application exits. Call during application shutdown to ensure proper resource cleanup.
Java client SDK configuration options
Configuration options control client SDK behavior, logging, and performance settings for Java desktop applications.
RoxOptions configuration
The RoxOptions class provides configuration settings for Java client SDK behavior and performance tuning.
setVerboseLevel()-
Controls logging verbosity for debugging client applications.
setCustomPlatform()-
Sets custom platform identifier for specialized client environments.
setGlobalFreeze()-
Configures global flag freeze behavior for client applications.
setImpressionHandler()-
Sets callback for flag evaluation events in client context.
C client SDK methods
The C client SDK provides low-level feature flag management for embedded systems, native desktop applications, and high-performance client services.
Initialize the C client SDK (rox_setup)
This method configures the SDK with your application key and establishes connection to CloudBees Unify for C client applications.
#include <rox/client.h> void rox_setup(const char *rollout_key, RoxOptions *options)
Configures the SDK for native client operation and retrieves feature flag configuration. Optimized for embedded systems and high-performance client applications.
| Parameter | Type | Description |
|---|---|---|
|
const char* |
Environment-specific SDK key from CloudBees Unify. |
|
RoxOptions* |
Pointer to configuration structure with desired settings. |
Register flag containers (rox_register)
This method registers flag containers to make C client flags available for configuration.
void rox_register(const char *namespace, void *container)
Registers container structure containing flag definitions for C client applications. Struct members become flags accessible through CloudBees Unify UI.
Shut down the C client SDK (rox_shutdown)
This method performs graceful shutdown of the C client SDK and cleans system resources.
void rox_shutdown()
Releases memory, closes network connections, and cleans background threads. Call before application exit to prevent resource leaks.
C client SDK configuration options
Configuration structures control C client SDK behavior and system resource usage.
RoxOptions structure
The RoxOptions struct provides configuration parameters for C client SDK operation and resource management.
rox_options_set_version()-
Sets client application version for targeting and analytics.
rox_options_set_fetch_interval()-
Configures polling interval for configuration updates from CloudBees Unify.
rox_options_set_impression_handler()-
Sets callback function for flag evaluation events.
rox_options_set_dev_mode_key()-
Enables development mode with special SDK key for testing.
C++ client SDK methods
The C client SDK provides object-oriented feature flag management for C desktop applications and embedded systems with C++ support.
Initialize the C++ client SDK (setup)
This method configures the SDK with your application key and establishes connection to CloudBees Unify for C++ client applications.
Configures the SDK for C client operation using object-oriented patterns. Provides RAII support and modern C conventions for resource management.
.NET client SDK methods
The .NET client SDK provides feature flag management for .NET desktop applications, WPF applications, and Windows client services.
Initialize the .NET client SDK (Setup)
This method configures the SDK with your application key and establishes connection to CloudBees Unify for .NET client applications.
public static Task<RoxSetupResult> Setup(string apiKey) public static Task<RoxSetupResult> Setup(string apiKey, RoxOptions options)
Configures the SDK for .NET client operation and retrieves feature flag configuration. Returns task that completes when SDK has established connection with CloudBees Unify.
| Parameter | Type | Description |
|---|---|---|
|
string |
Environment-specific SDK key from CloudBees Unify. |
|
RoxOptions |
Configuration instance with desired .NET client settings. |
Register flag containers (Register)
This method registers container classes to make .NET client flags available for configuration.
public static void Register(string nameSpace, object container)
Registers container object containing flag properties for .NET client applications. Container properties become flags accessible through CloudBees Unify UI.
Shut down the .NET client SDK (Shutdown)
This method performs graceful shutdown of the .NET client SDK and releases managed resources.
public static void Shutdown()
Disposes resources and closes connections when .NET client application exits. Integrates with .NET garbage collection and resource disposal patterns.
.NET client SDK configuration options
Configuration classes control .NET client SDK behavior and integration with .NET application patterns.
RoxOptions class
The RoxOptions class provides configuration properties for .NET client SDK behavior and Windows integration.
Version-
Sets client application version for targeting and feature rollouts.
ImpressionHandler-
Configures callback delegate for flag evaluation events.
ConfigurationFetchedHandler-
Sets callback delegate for configuration update events.
CustomPropertyGenerator-
Enables dynamic property generation for advanced targeting.
Common client SDK patterns
Client SDKs support common patterns for desktop and embedded application feature flag implementation.
Offline operation
Client SDKs cache flag configuration locally to ensure continued operation without network connectivity.
Local caching enables offline application functionality with last-known flag configuration. Cache updates occur when network connectivity is restored and configuration sync completes.
Resource-constrained environments
Client SDKs optimize memory usage and network requests for embedded systems and low-resource environments.
Configuration polling intervals can be tuned for different resource constraints and network availability. Memory usage is minimized through efficient flag storage and evaluation algorithms.
Application lifecycle integration
Client SDKs integrate with application startup, shutdown, and lifecycle events for different platforms.
Initialization occurs during application startup with graceful handling of network delays. Shutdown procedures ensure proper resource cleanup and prevent resource leaks.
Local development and testing
Client SDKs provide local override capabilities and development modes for testing without affecting production.
Development mode enables local flag overrides and testing scenarios. Debug logging provides detailed information about flag evaluation and network operations.
Client SDK configuration patterns
Configuration approaches for different client application types and deployment scenarios.
Desktop application configuration
Desktop applications benefit from persistent local configuration and user-specific settings.
Configuration persists between application sessions for consistent user experience. User-specific targeting enables personalized feature rollouts and A/B testing.
Related pages
-
Install client-side SDKs for client SDK installation procedures
-
Understanding feature management for conceptual background on client-side feature flag strategies
-
Mobile SDK reference for mobile client platform SDKs