언리얼 엔진 SDK - 구성 레퍼런스
Initialize 메서드 파라미터를 통해 Singular 언리얼 엔진 SDK를 구성합니다. 이 레퍼런스에서는 사용 가능한 모든 환경설정 옵션과 그 유형, 기본값, 사용 예제를 설명합니다.
apiKey
API 키 (필수)
Singular 대시보드에서 얻은 Singular API 키입니다. SDK를 초기화하고 앱을 식별하는 데 필요합니다.
서명
FString apiKey
사용 예시
FString ApiKey = TEXT("your_singular_api_key");
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
// ... other parameters
);
apiSecret
API 시크릿(필수)
Singular 대시보드에서 얻은 Singular API 시크릿입니다. SDK를 초기화하고 앱을 인증하는 데 필요합니다.
서명
FString apiSecret
사용 예시
FString ApiSecret = TEXT("your_singular_api_secret");
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
// ... other parameters
);
clipboardAttribution
클립보드 어트리뷰션
추적 정확도를 높이기 위해 클립보드에서 읽기를 활성화하여 iOS 유니버설 링크 어트리뷰션을 지원합니다(iOS만 해당).
서명
bool clipboardAttribution
// Default: false
사용 예시
// Enable clipboard attribution for iOS
bool ClipboardAttribution = true;
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
ClipboardAttribution, // Enable clipboard attribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
customSdid
사용자 지정 Singular 기기 ID
자동 생성된 디바이스 식별자를 사용하는 대신 사용자 지정 SDID(Singular 디바이스 ID)를 설정합니다.
서명
FString customSdid
// Default: TEXT("")
사용 예
// Set custom SDID
FString CustomSdid = TEXT("custom_device_id_12345");
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
CustomSdid // Custom SDID
);
customUserId
사용자 지정 사용자 ID
초기화 시 사용자 지정 사용자 식별자를 설정하여 자체 ID 시스템을 사용하여 여러 디바이스에서 사용자를 추적할 수 있습니다.
서명
FString customUserId
// Default: TEXT("")
사용 예
// Set custom user ID at initialization
FString CustomUserId = TEXT("user_xyz789");
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
CustomUserId, // Set custom user ID
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
enableLogging
로깅 활성화
디버깅 목적으로 SDK 로깅을 활성화합니다. 프로덕션 빌드에서는 비활성화해야 합니다.
Signature
bool enableLogging
// Default: false
사용 예시
// Enable logging for development builds
bool EnableLogging = true;
int LogLevel = 5; // Verbose logging
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
EnableLogging, // Enable logging
LogLevel, // Set log level
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
facebookAppId
페이스북 앱 ID
페이스북 어트리뷰션 연동을 활성화하려면 페이스북 앱 ID를 설정합니다.
서명
FString facebookAppId
// Default: TEXT("")
사용 예시
// Set Facebook App ID for attribution
FString FacebookAppId = TEXT("123456789012345");
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
FacebookAppId, // Facebook App ID
TEXT("") // customSdid
);
로그 레벨
로그 수준
SDK 로깅의 상세 수준을 설정합니다. 값이 높을수록 더 자세한 로그를 제공합니다. 유효한 범위: 0-5.
서명
int logLevel
// Default: 0
// Valid range: 0 (minimal) to 5 (verbose)
사용 예시
// Set verbose logging for debugging
int LogLevel = 5;
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
true, // enableLogging
LogLevel, // Set log level to verbose
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
수동스캔컨버젼관리
수동 SKAdNetwork 전환 관리
자동 관리 대신 SKAdNetwork 전환 값 업데이트에 대한 수동 제어를 활성화합니다(iOS만 해당).
서명
bool manualSkanConversionManagement
// Default: false
사용 예시
// Enable manual SKAN conversion management
bool ManualSkanManagement = true;
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
ManualSkanManagement, // Enable manual SKAN management
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
// Later, manually update conversion value
USingularSDKBPLibrary::SkanUpdateConversionValue(15);
oaidCollection
OAID 수집
중국 내 안드로이드 디바이스에 대해 OAID(오픈 익명 식별자) 수집을 활성화합니다(안드로이드 전용).
서명
bool oaidCollection
// Default: false
사용 예시
// Enable OAID collection for Chinese Android devices
bool OaidCollection = true;
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
OaidCollection, // Enable OAID collection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
세션 타임아웃
세션 시간 초과
세션 타임아웃을 초 단위로 설정합니다. 이 시간 동안 활동이 없으면 사용자가 돌아오면 새 세션이 시작됩니다.
서명
int sessionTimeout
// Default: 60 (seconds)
사용 예시
// Set session timeout to 5 minutes
int SessionTimeout = 300; // 5 minutes in seconds
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
SessionTimeout, // 5 minute session timeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
skAdNetworkEnabled
SKAdNetwork 사용
Apple의 개인정보 보호 프레임워크를 통해 iOS 어트리뷰션 추적을 위한 SKAdNetwork 지원을 활성화합니다(iOS 전용).
서명
bool skAdNetworkEnabled
// Default: true
사용 예시
// Enable SKAdNetwork for iOS attribution
bool SkAdNetworkEnabled = true;
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
SkAdNetworkEnabled, // Enable SKAdNetwork
false, // manualSkanConversionManagement
0, // waitForTrackingAuthorizationWithTimeoutInterval
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
waitForTrackingAuthorizationWithTimeoutInterval
타임아웃 간격으로 추적 권한 부여 대기
SDK를 초기화하기 전에 사용자가 ATT(앱 추적 투명성) 프롬프트에 응답할 때까지 기다리는 시간 제한을 초 단위로 설정합니다(iOS 14 이상만 해당).
서명
int waitForTrackingAuthorizationWithTimeoutInterval
// Default: 0 (no waiting)
// Recommended: 60-300 seconds
사용 예시
// Wait up to 5 minutes for ATT authorization
int WaitTimeout = 300; // 5 minutes
USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // sessionTimeout
TEXT(""), // customUserId
true, // skAdNetworkEnabled
false, // manualSkanConversionManagement
WaitTimeout, // Wait for ATT authorization
false, // oaidCollection
false, // enableLogging
0, // logLevel
false, // clipboardAttribution
TEXT(""), // facebookAppId
TEXT("") // customSdid
);
전체 구성 예시
전체 SDK 구성
모든 구성 옵션이 설정된 전체 SDK 초기화 예시입니다.
// Complete configuration example
FString ApiKey = TEXT("SDK KEY");
FString ApiSecret = TEXT("SDK SECRET");
int SessionTimeout = 60;
FString CustomUserId = TEXT("user_12345");
bool SkAdNetworkEnabled = true;
bool ManualSkanConversionManagement = false;
int WaitForTrackingAuthorizationTimeout = 300;
bool OaidCollection = false;
bool EnableLogging = true;
int LogLevel = 3;
bool ClipboardAttribution = true;
FString FacebookAppId = TEXT("123456789012345");
FString CustomSdid = TEXT("");
bool Success = USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
SessionTimeout,
CustomUserId,
SkAdNetworkEnabled,
ManualSkanConversionManagement,
WaitForTrackingAuthorizationTimeout,
OaidCollection,
EnableLogging,
LogLevel,
ClipboardAttribution,
FacebookAppId,
CustomSdid
);
if (Success)
{
UE_LOG(LogTemp, Log, TEXT("Singular SDK initialized with full configuration"));
}
else
{
UE_LOG(LogTemp, Error, TEXT("Failed to initialize Singular SDK"));
}