언리얼 엔진 SDK - 구성 메서드 레퍼런스

문서

언리얼 엔진 SDK - 구성 레퍼런스

Initialize 메서드 파라미터를 통해 Singular 언리얼 엔진 SDK를 구성합니다. 이 레퍼런스에서는 사용 가능한 모든 환경설정 옵션과 그 유형, 기본값, 사용 예제를 설명합니다.


apiKey

API 키 (필수)

Singular 대시보드에서 얻은 Singular API 키입니다. SDK를 초기화하고 앱을 식별하는 데 필요합니다.

서명

C++
FString apiKey

사용 예시

C++
FString ApiKey = TEXT("your_singular_api_key");

USingularSDKBPLibrary::Initialize(
    ApiKey,
    ApiSecret,
    // ... other parameters
);

apiSecret

API 시크릿(필수)

Singular 대시보드에서 얻은 Singular API 시크릿입니다. SDK를 초기화하고 앱을 인증하는 데 필요합니다.

서명

C++
FString apiSecret

사용 예시

C++
FString ApiSecret = TEXT("your_singular_api_secret");

USingularSDKBPLibrary::Initialize(
    ApiKey,
    ApiSecret,
    // ... other parameters
);

clipboardAttribution

클립보드 어트리뷰션

추적 정확도를 높이기 위해 클립보드에서 읽기를 활성화하여 iOS 유니버설 링크 어트리뷰션을 지원합니다(iOS만 해당).

서명

C++
bool clipboardAttribution
// Default: false

사용 예시

C++
// 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)를 설정합니다.

서명

C++
FString customSdid
// Default: TEXT("")

사용 예

C++
// 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 시스템을 사용하여 여러 디바이스에서 사용자를 추적할 수 있습니다.

서명

C++
FString customUserId
// Default: TEXT("")

사용 예

C++
// 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

C++
bool enableLogging
// Default: false

사용 예시

C++
// 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를 설정합니다.

서명

C++
FString facebookAppId
// Default: TEXT("")

사용 예시

C++
// 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.

서명

C++
int logLevel
// Default: 0
// Valid range: 0 (minimal) to 5 (verbose)

사용 예시

C++
// 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만 해당).

서명

C++
bool manualSkanConversionManagement
// Default: false

사용 예시

C++
// 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(오픈 익명 식별자) 수집을 활성화합니다(안드로이드 전용).

서명

C++
bool oaidCollection
// Default: false

사용 예시

C++
// 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
);

세션 타임아웃

세션 시간 초과

세션 타임아웃을 초 단위로 설정합니다. 이 시간 동안 활동이 없으면 사용자가 돌아오면 새 세션이 시작됩니다.

서명

C++
int sessionTimeout
// Default: 60 (seconds)

사용 예시

C++
// 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 전용).

서명

C++
bool skAdNetworkEnabled
// Default: true

사용 예시

C++
// 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 이상만 해당).

서명

C++
int waitForTrackingAuthorizationWithTimeoutInterval
// Default: 0 (no waiting)
// Recommended: 60-300 seconds

사용 예시

C++
// 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 초기화 예시입니다.

C++
// 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"));
}