원격 구성 적용

Java SDK 2.9.0 이상 버전에서 지원하는 기능입니다.

원격 구성은 애플리케이션에서 관리되고 있는 값, 또는 속성들을 핵클 대시보드에서 정의한 파라미터 값들로 대체하여 실시간으로 애플리케이션의 동작 및 설정 값들을 제어할 수 있는 기능입니다.

핵클의 대시보드의 원격 구성 화면으로 이동하여 파라미터 정보들을 설정하고, 사용자 식별 규칙에 따른 값들을 설정할 수 있습니다.

remoteConfig

remoteConfig() 메소드를 호출하면 사용자에 대한 원격 구성 정보(설정한 파라미터 및 규칙 정보)를 담고 있는 HackleRemoteConfig 인스턴스를 얻을 수 있습니다.
remoteConfig() 는 사용자 속성을 원격 구성의 규칙 정보와 매칭 시키기 위해 사용자 식별자 정보를 전달받습니다.
HackleRemoteConfig 에서 제공하는 메소드들을 통해 원하는 파라미터에 접근하여 값을 제공받을 수 있습니다.

import io.hackle.sdk.HackleClient
import io.hackle.sdk.common.User
import io.hackle.sdk.common.HackleRemoteConfig


//사용자 객체 - 사용자 식별자와 속성 가이드 참조
User user = User.of(“ae2182e0”)

// 원격 구성 정보 담은 인스턴스를 반환합니다. 
HackleRemoteConfig remoteConfig = hackleClient.remoteConfig(user);
import io.hackle.sdk.HackleClient
import io.hackle.sdk.common.User
import io.hackle.sdk.common.HackleRemoteConfig

//사용자 객체 - 사용자 식별자와 속성 가이드 참조
val user: User = Hackle.user("ae2182e0")

// 원격 구성 정보 담은 인스턴스를 반환합니다. 
val remoteConfig: HackleRemoteConfig = hackleClient.remoteConfig(user)

원격 구성 파라미터 조회

  • 핵클의 원격 구성 화면에서 설정한 파라미터 값이 key, value 형태로 존재하기 때문에, 설정한 파라미터 유형에 따라 아래 메소드를 사용하여 설정한 파라미터 값을 반환받을 수 있습니다.
🚧

보관 후 원격 구성과 관련된 코드를 제거하세요.

원격 구성 파라미터를 보관한 경우 더이상 파라미터 정보에 접근 할 수 없습니다. 따라서 원격 구성 파라미터 보관 후에는 반드시 관련된 코드를 정리해주시기 바랍니다.

getString

  • STRING, JSON 유형으로 설정된 파라미터 값을 반환합니다.
  • 상태 결정에 따라 기본 값 혹은 규칙에 설정된 값을 반환합니다.
import io.hackle.sdk.HackleClient
import io.hackle.sdk.common.User
import io.hackle.sdk.common.HackleRemoteConfig

//사용자 객체 - 사용자 식별자와 속성 가이드 참조
User user = User.of(“ae2182e0”)
 
//원격 구성 정보 담은 인스턴스를 반환합니다. 
HackleRemoteConfig remoteConfig = hackleClient.remoteConfig(user);

String strValue = remoteConfig.getString(“parameter_key_string_type”, “defaultValue”);

//JSON Type
String jsonValue = remoteConfig.getString(“parameter_key_json_type”, “defaultValue”);
import io.hackle.sdk.HackleClient
import io.hackle.sdk.common.User
import io.hackle.sdk.common.HackleRemoteConfig
  
//사용자 객체 - 사용자 식별자와 속성 가이드 참조
val user: User = Hackle.user("ae2182e0")

// 원격 구성 정보 담은 인스턴스를 반환합니다. 
val remoteConfig: HackleRemoteConfig = hackleClient.remoteConfig(user)

val strValue: String = remoteConfig.getString(“parameter_key_string_type”, “defaultValue”)

val jsonValue: String = remoteConfig.getString(“parameter_key_json_type”, “defaultValue”)

getInt

  • Number 유형으로 설정된 parameter 값을 Int 타입으로 반환합니다.
  • 상태 결정에 따라 기본 값 혹은 규칙에 설정된 값을 반환합니다.
import io.hackle.sdk.HackleClient
import io.hackle.sdk.common.User
import io.hackle.sdk.common.HackleRemoteConfig
  
//사용자 객체 - 사용자 식별자와 속성 가이드 참조
User user = User.of(“ae2182e0”)
 
//원격 구성 정보 담은 인스턴스를 반환합니다. 
HackleRemoteConfig remoteConfig = hackleClient.remoteConfig(user);

int intValue = remoteConfig.getInt(“parameter_key_int_type”, 0);
import io.hackle.sdk.HackleClient
import io.hackle.sdk.common.User
import io.hackle.sdk.common.HackleRemoteConfig
  
//사용자 객체 - 사용자 식별자와 속성 가이드 참조
val user: User = Hackle.user("ae2182e0")

// 원격 구성 정보 담은 인스턴스를 반환합니다. 
val remoteConfig: HackleRemoteConfig = hackleClient.remoteConfig(user)

val intValue: Int = remoteConfig.getInt(“parameter_key_int_type”, 0)

getDouble

  • Number 유형으로 설정된 parameter 값을 Double 타입으로 반환합니다.
  • 상태 결정에 따라 기본 값 혹은 규칙에 설정된 값을 반환합니다.
import io.hackle.sdk.HackleClient
import io.hackle.sdk.common.User
import io.hackle.sdk.common.HackleRemoteConfig
  
//사용자 객체 - 사용자 식별자와 속성 가이드 참조
User user = User.of(“ae2182e0”)
 
//원격 구성 정보 담은 인스턴스를 반환합니다. 
HackleRemoteConfig remoteConfig = hackleClient.remoteConfig(user);

double doubleValue = remoteConfig.getDouble(“parameter_key_double_type”, 0.0);
import io.hackle.sdk.HackleClient
import io.hackle.sdk.common.User
import io.hackle.sdk.common.HackleRemoteConfig
  
//사용자 객체 - 사용자 식별자와 속성 가이드 참조
val user: User = Hackle.user("ae2182e0")

// 원격 구성 정보 담은 인스턴스를 반환합니다. 
val remoteConfig: HackleRemoteConfig = hackleClient.remoteConfig(user)

val doubleValue: Double = remoteConfig.getDouble(“parameter_key_double_type”, 0.0)

getLong

  • Number 유형으로 설정된 parameter 값을 Long 타입으로 반환합니다.
  • 상태 결정에 따라 기본 값 혹은 규칙에 설정된 값을 반환합니다.
import io.hackle.sdk.HackleClient
import io.hackle.sdk.common.User
import io.hackle.sdk.common.HackleRemoteConfig
  
//사용자 객체 - 사용자 식별자와 속성 가이드 참조
User user = User.of(“ae2182e0”)
 
//원격 구성 정보 담은 인스턴스를 반환합니다. 
HackleRemoteConfig remoteConfig = hackleClient.remoteConfig(user);

long longValue = remoteConfig.getLong(“parameter_key_long_type”, 0L);
import io.hackle.sdk.HackleClient
import io.hackle.sdk.common.User
import io.hackle.sdk.common.HackleRemoteConfig
  
//사용자 객체 - 사용자 식별자와 속성 가이드 참조
val user: User = Hackle.user("ae2182e0")

// 원격 구성 정보 담은 인스턴스를 반환합니다. 
val remoteConfig: HackleRemoteConfig = hackleClient.remoteConfig(user)

val longValue: Long = remoteConfig.getLong(“parameter_key_long_type”, 0L)

getBoolean

  • Boolean 유형으로 설정된 parameter값을 반환합니다.
  • 상태 결정에 따라 기본 값 혹은 규칙에 설정된 값을 반환합니다.
import io.hackle.sdk.HackleClient
import io.hackle.sdk.common.User
import io.hackle.sdk.common.HackleRemoteConfig
  
//사용자 객체 - 사용자 식별자와 속성 가이드 참조
User user = User.of(“ae2182e0”)
 
//원격 구성 정보 담은 인스턴스를 반환합니다. 
HackleRemoteConfig remoteConfig = hackleClient.remoteConfig(user);

boolean booleanValue = remoteConfig.getBoolean(“parameter_key_boolean_type”, false);
import io.hackle.sdk.HackleClient
import io.hackle.sdk.common.User
import io.hackle.sdk.common.HackleRemoteConfig
  
//사용자 객체 - 사용자 식별자와 속성 가이드 참조
val user: User = Hackle.user("ae2182e0")

// 원격 구성 정보 담은 인스턴스를 반환합니다. 
val remoteConfig: HackleRemoteConfig = hackleClient.remoteConfig(user)

val booleanValue: Boolean = remoteConfig.getBoolean(“parameter_key_boolean_type”, false)