Flutter
최신 버전: v1.0.0
업데이트 시간: 2025-12-08
1. 개요
AE 4.4 버전부터 운영 모듈에 구성 센터 기능이 출시되었습니다. AE 백엔드에서 기능 파라미터 구성을 추가하고 클라이언트 SDK를 통해 App으로 가져와, 플레이어와의 상호 작용 콘텐츠를 세밀하게 맞춤 설정할 수 있습니다.
이 문서에서는 클라이언트 SDK의 통합 과정을 소개합니다. App 측에서는 ThinkingData SDK와의 상호 작용만 고려하면 되며, AE 백엔드의 구성 세부 사항은 신경 쓸 필요가 없습니다.
2. 통합
Flutter 프로젝트의 pubspec.yaml 파일에 다음 의존성을 추가합니다:
dependencies:
thinking_analytics: ^3.3.1
td_remote_config: ^1.0.0
구성 센터에는 데이터 수집 SDK가 필요합니다:
| SDK 이름 | 기능 소개 | 버전 요구 사항 |
|---|---|---|
| thinking_analytics | 데이터 수집 및 처리 | >= 3.3.1 |
| td_remote_config | AE 백엔드의 설정 정보 가져오기 | >= 1.0.0 |
3. 초기화
//데이터 수집 SDK를 먼저 초기화합니다
TDAnalytics.init(appId, serverUrl);
//첫 번째 방법
TDRemoteConfig.init("appId", "serverUrl");
//두 번째 방법
//TDRemoteConfigSettings 설정의 자세한 사용 방법은 [고급 가이드]를 참고하십시오
TDRemoteConfigSettings settings = TDRemoteConfigSettings();
settings.appId = "appId";
settings.serverUrl = "serverUrl";
TDRemoteConfig.initWithConfig(settings);
4. 사용
4.1 데이터 구조 예시
"configId" : {
"templateId" : [
{
"#strategy_id" : "2024121001",
"paramater_x" : "1111",
"#ops_receipt_properties" : {}
}
],
"#custom_params" : {
}
}
참고:
configId: 운영 백엔드의 구성 센터 모듈에서 생성한 구성 항목 ID로, 비즈니스 모듈 정보를 식별하는 데 사용됩니다. 구성 항목에 대한 설명은 구성 항목을 참고하십시오
templateId: 비즈니스에서 구성 항목 아래에 추가한 템플릿 ID로, 구체적인 기능 모듈 정보를 식별하는 데 사용됩니다. 구성 템플릿에 대한 설명은 구성 템플릿을 참고하십시오
#strategy_id: 전략의 고유 ID로, 전략 라이프사이클 관리에 사용됩니다. 구성 전략에 대한 설명은 구성 전략을 참고하십시오
paramater_x: 구성 템플릿 파라미터로, 기능 모듈에 필요한 구성 파라미터에 해당합니다
#ops_receipt_properties: 이벤트 회수 통계에 사용됩니다. 전략 효과를 자동으로 집계해야 하는 경우(아직 미지원) 회수 이벤트에 이 속성을 포함해야 합니다
#custom_params: 클라이언트 구성 채널의 커스텀 파라미터로, 클라이언트로 전달할 유저 속성 정보를 정의할 수 있습니다.
4.2 로컬 기본값 설정
TDRemoteConfig SDK에서 구성 항목의 기본값을 설정할 수 있습니다. AE 서버에 구성 항목이 추가되지 않았거나 로컬에서 원격 값을 가져오지 못한 경우 SDK는 로컬 기본값을 가져옵니다.
형식
로컬 기본값의 구조는 다음 형식을 따라야 합니다:
{
"configId": {
"templateId": [
{
"paramater_x" : ""
}
]
}
}
직접 설정
TDRemoteConfig.setDefaultValues({
"templateId":{
"templateId":[
{
"paramater_x":""
}
]
}
});
기본값 비우기
TDRemoteConfig.clearDefaultValues();
4.3 값 가져오기 방법
구성 항목 아래에서 이미 배포되어 활성화된 특정 유형의 전략 콘텐츠를 가져옵니다:
List<dynamic>? v = await TDRemoteConfig.getData().get("configId").get("templateId").arrayValue();
참고:
configId: 운영 백엔드의 구성 센터 모듈에서 생성한 구성 항목 ID로, 비즈니스 모듈 정보를 식별하는 데 사용됩니다. 구성 항목에 대한 설명은 구성 항목을 참고하십시오
templateId: 비즈니스에서 구성 항목 아래에 추가한 템플릿 ID로, 구체적인 기능 모듈 정보를 식별하는 데 사용됩니다. 구성 템플릿에 대한 설명은 구성 템플릿을 참고하십시오
값 가져오기 규칙
특정 key의 값을 가져오는 과정:
- 해당 key에 대응하는 원격 구성 값을 우선 가져옵니다
- 원격에 해당 key가 구성되어 있지 않으면 해당 key의 로컬 기본값을 찾습니다
- 로컬 기본값에도 해당 key가 없으면 빈 값을 반환합니다.
4.4 업데이트 리스닝
SDK를 초기화하기 전에 구성 가져오기 성공 알림 리스너를 추가합니다
TDRemoteConfig.addConfigFetchListener((statusData) {
});
알림에 포함되는 파라미터
알림에는 기본적으로 이번 요청과 지난 요청 사이에 효력 일시 중지(suspend), 강제 비활성화(force_offline)로 변경된 전략 상태가 포함되며, 비즈니스 요구에 따라 사용할 수 있습니다. 사용할 필요가 없으면 무시해도 됩니다.
다음 방법으로 알림 파라미터를 가져옵니다
Map<String, dynamic> map = statusData["strategy_status_map"];
해당 value의 구조는 다음과 같으며, 구성 항목 템플릿에서 전략 id가 20241209인 전략의 상태를 나타냅니다.
{
"configId" : {
"templateId" : {
"20241209" : "suspend"
}
}
}
5. 테스트 발송
연동의 사용 가능 여부와 구성 전략의 유효성을 빠르게 검증할 수 있도록 SDK는 테스트 모드를 지원합니다.
//데이터 수집 SDK와 구성 센터 SDK 모두 DEBUG 모드를 사용해야 합니다
TDConfig config = TDConfig();
config.appId = "appId";
config.serverUrl = "serverUrl";
config.setMode(TDMode.DEBUG);
TDAnalytics.initWithConfig(config);
TDRemoteConfigSettings settings = TDRemoteConfigSettings();
settings.appId = "appId";
settings.serverUrl = "serverUrl";
settings.mode = TDRemoteConfigMode.DEBUG;
TDRemoteConfig.initWithConfig(settings);
클라이언트에서 debug 모드를 활성화하면 5s마다 테스트 전략을 가져옵니다. AE 운영 모듈에서 템플릿 테스트 또는 전략 테스트를 생성할 수 있으며, 구성 가져오기를 기다리는 동안 프런트엔드 페이지의 진행 노드를 확인할 수 있습니다.
구성 템플릿 문서의 클라이언트 테스트 발송 부분을 참고하십시오.
클라이언트 SDK 테스트 발송에는 테스트 디바이스가 필요합니다. 테스트 디바이스 목록에서 테스트 디바이스를 선택하거나 추가할 수 있습니다.

