Remote Config Appliance

📘

Remote Config

Remote config controls the behavior and settings of an application in real-time by replacing the values or properties controlled in application with the parameters defined in the hackle dashboard. The parameter can be set to a target value for all properties of the client/server side app (ex. button color, external link).

First, set parameter information and values according to user identifier rules in Hackle's dashboard. In order to apply the remote config, you need to use the following functions provided by the Hackle SDK.

After applying the values ​​to be applied to the code provided by the Hacker SDK, you can simply change the values ​​and rules on the remote config to apply the changes immediately without republishing.

📘

Remote Configs are only available for SDK version 3.2.0 or higher.

When using remote configs, please apply SDK version 3.2.0 or higher when adding dependencies.

remoteConfig

Call remote_config() method to obtain HackleRemoteConfig instance which contains the remote config information (about parameter settings and rules)

You can access the desired parameters through the HackleRemoteConfig instance and receive values.

from hackle.model import HackleUser

# Returns an instance containing remote config information.
user = HackleUser(id='ae03e1adf')
remote_config = hackle_client.remote_config(user=user)

Remote config parameter inquiry

  • HackleRemoteConfiginstance passed through the remote_config() method has full parameter setting information set by Remote Config.
  • Parameter values you've set on the dashboard exists in the form of key and value, therefore you can use the method below to set the parameter values.
  • You can change rules and values flexibly on the Remote Config > Parameter Settings.

🚧

Remove code related to the Remote Config after archiving the parameter key

If the code related to Remote Config is left unattended after your parameter key has been archived and you've long forgotten about it, service stability problems such as latency issues may occur.

  • There may be high dependency when writing code related to the different versions of the Remote Config.
  • Unnecessary server traffic may occur.

Therefore, make sure to clean up the related code after archiving the parameter key.

from hackle.model import HackleUser

# Returns an instance containing remote config information.
user = HackleUser(id='ae03e1adf')
remote_config = hackle_client.remote_config(user=user)

# string type parameter value example
parameterValue = remote_config.get(key='parameter_key', default='default_value')
  • The parameterKey of the get() method is the key information set in parameter setting of remote config.
  • You can refer parameterKey from the dashboard, defaultValue is the value returned when a state decision fails or when an invalid parameter type is entered
    • A. Entered a different parameter type and defaultValue in the dashboard
    • B. Calling unset parameter key
    • C. Hackle SDK initialization failure
    • D. When identifier information is entered incorrectly or does not exist
    • E. ETC
  • In order to properly receive the information you set in the dashboard, you must enter a value corresponding to the parameter type you set in the dashboard.
  • The parameter types supported by SDK are string, number, and boolean. JSON types set in the dashboard can be received in the form of String. The default value of the JSON type must be entered as a string type.