원격 구성 적용

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

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

remoteConfig

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

<?php

require 'vendor/autoload.php';

$client = \Hackle\HackleClients::create("YOUR_SDK_KEY");

//사용자 객체 - 사용자 식별자와 속성 가이드 참조
$user = \Hackle\Common\HackleUser::builder()
    ->deviceId("ae2182e0")
    ->build();

// 원격 구성 정보 담은 인스턴스를 반환합니다. 
$remoteConfig = $client->remoteConfig($user);

?>

원격 구성 파라미터 조회

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

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

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

getString

  • STRING, JSON 유형으로 설정된 파라미터 값을 반환합니다.
  • 상태 결정에 따라 기본 값 혹은 규칙에 설정된 값을 반환합니다.
<?php

require 'vendor/autoload.php';

$client = \Hackle\HackleClients::create("YOUR_SDK_KEY");

//사용자 객체 - 사용자 식별자와 속성 가이드 참조
$user = \Hackle\Common\HackleUser::builder()
    ->deviceId("ae2182e0")
    ->build();

// 원격 구성 정보 담은 인스턴스를 반환합니다. 
$remoteConfig = $client->remoteConfig($user);

$strValue = $remoteConfig->getString("parameter_key_string_type", "defaultValue");

//JSON String
$jsonValue = $remoteConfig->getString("parameter_key_json_type", "defaultValue");

?>

getInt

  • Number 유형으로 설정된 parameter 값을 Int 타입으로 반환합니다.
  • 상태 결정에 따라 기본 값 혹은 규칙에 설정된 값을 반환합니다.
<?php

require 'vendor/autoload.php';

$client = \Hackle\HackleClients::create("YOUR_SDK_KEY");

//사용자 객체 - 사용자 식별자와 속성 가이드 참조
$user = \Hackle\Common\HackleUser::builder()
    ->deviceId("ae2182e0")
    ->build();

// 원격 구성 정보 담은 인스턴스를 반환합니다. 
$remoteConfig = $client->remoteConfig($user);

$intValue = $remoteConfig->getInt("parameter_key_number_type", 0);

?>

getFloat

  • Number 유형으로 설정된 parameter 값을 float 타입으로 반환합니다.
  • 상태 결정에 따라 기본 값 혹은 규칙에 설정된 값을 반환합니다.
<?php

require 'vendor/autoload.php';

$client = \Hackle\HackleClients::create("YOUR_SDK_KEY");

//사용자 객체 - 사용자 식별자와 속성 가이드 참조
$user = \Hackle\Common\HackleUser::builder()
    ->deviceId("ae2182e0")
    ->build();

// 원격 구성 정보 담은 인스턴스를 반환합니다. 
$remoteConfig = $client->remoteConfig($user);

$floatValue = $remoteConfig->getFloat("parameter_key_number_type", 0.0);

?>

getBool

  • Boolean 유형으로 설정된 parameter값을 반환합니다.
  • 상태 결정에 따라 기본 값 혹은 규칙에 설정된 값을 반환합니다.
<?php

require 'vendor/autoload.php';

$client = \Hackle\HackleClients::create("YOUR_SDK_KEY");

//사용자 객체 - 사용자 식별자와 속성 가이드 참조
$user = \Hackle\Common\HackleUser::builder()
    ->deviceId("ae2182e0")
    ->build();

// 원격 구성 정보 담은 인스턴스를 반환합니다. 
$remoteConfig = $client->remoteConfig($user);

$boolValue = $remoteConfig->getBool("parameter_key_bool_type", true);

?>