언리얼 엔진 SDK - 메서드 레퍼런스
Singular 언리얼 엔진 SDK는 언리얼 엔진 애플리케이션을 위한 포괄적인 트래킹 및 어트리뷰션 기능을 제공합니다. 이 레퍼런스에서는 사용 가능한 모든 SDK 메서드를 시그니처 및 사용 예제와 함께 설명합니다.
리퍼러 쇼트링크 생성
리퍼러 쇼트 링크 생성
사용자 간 어트리뷰션 및 바이럴 성장 캠페인을 추적하기 위해 공유할 수 있는 짧은 Singular 링크를 생성합니다.
서명
static void CreateReferrerShortLink(
FString baseLink,
FString referrerName,
FString referrerId,
TMap<FString, FString> args
);
사용 예시
// Create a referrer short link
FString BaseLink = TEXT("https://example.sng.link/abc123");
FString ReferrerName = TEXT("John Doe");
FString ReferrerId = TEXT("user_12345");
TMap<FString, FString> PassthroughParams;
PassthroughParams.Add(TEXT("campaign"), TEXT("summer_promo"));
PassthroughParams.Add(TEXT("level"), TEXT("5"));
USingularSDKBPLibrary::CreateReferrerShortLink(
BaseLink,
ReferrerName,
ReferrerId,
PassthroughParams
);
GetLimitDataSharing
데이터 공유 제한 상태 조회
개인정보 보호 규정 준수를 위해 현재 데이터 공유 제한 상태를 확인합니다.
서명
static bool GetLimitDataSharing();
사용 예
// Check if data sharing is limited
bool IsLimited = USingularSDKBPLibrary::GetLimitDataSharing();
if (IsLimited)
{
UE_LOG(LogTemp, Log, TEXT("Data sharing is currently limited"));
}
else
{
UE_LOG(LogTemp, Log, TEXT("Data sharing is enabled"));
}
초기화
Singular SDK 초기화
API 자격 증명, 추적 설정, 개인정보 보호 옵션을 포함한 구성 매개변수로 Singular SDK를 초기화합니다.
서명
static bool Initialize(
FString apiKey,
FString apiSecret,
int sessionTimeout = 60,
FString customUserId = TEXT(""),
bool skAdNetworkEnabled = true,
bool manualSkanConversionManagement = false,
int waitForTrackingAuthorizationWithTimeoutInterval = 0,
bool oaidCollection = false,
bool enableLogging = false,
int logLevel = 0,
bool clipboardAttribution = false,
FString facebookAppId = TEXT(""),
FString customSdid = TEXT("")
);
사용 예시
// Initialize SDK with required parameters
FString ApiKey = TEXT("SDK KEY");
FString ApiSecret = TEXT("YOUR_API_SECRET");
bool Success = USingularSDKBPLibrary::Initialize(
ApiKey,
ApiSecret,
60, // Session timeout in seconds
TEXT(""), // Custom user ID (optional)
true, // SKAdNetwork enabled
false, // Manual SKAN conversion management
0, // Wait for tracking authorization timeout
false, // OAID collection
true, // Enable logging for debugging
3, // Log level (0-5)
false, // Clipboard attribution
TEXT(""), // Facebook App ID (optional)
TEXT("") // Custom SDID (optional)
);
if (Success)
{
UE_LOG(LogTemp, Log, TEXT("Singular SDK initialized successfully"));
}
else
{
UE_LOG(LogTemp, Error, TEXT("Failed to initialize Singular SDK"));
}
IsAllTrackingStopped
모든 추적이 중지되었는지 확인
개인정보 보호 규정 준수 또는 사용자 기본 설정을 위해 모든 추적이 중지되었는지 여부를 확인합니다.
서명
static bool IsAllTrackingStopped();
사용 예
// Check tracking status
bool IsTrackingStopped = USingularSDKBPLibrary::IsAllTrackingStopped();
if (IsTrackingStopped)
{
UE_LOG(LogTemp, Warning, TEXT("Tracking is currently stopped"));
// Update UI to reflect tracking status
}
else
{
UE_LOG(LogTemp, Log, TEXT("Tracking is active"));
}
데이터 공유 제한
데이터 공유 제한 설정
GDPR 및 CCPA와 같은 개인정보 보호 규정 준수를 위해 사용자 데이터를 제3자와 공유할지 여부를 제어합니다.
서명
static void LimitDataSharing(bool shouldLimitDataSharing);
사용 예시
// Limit data sharing when user opts out
USingularSDKBPLibrary::LimitDataSharing(true);
UE_LOG(LogTemp, Log, TEXT("Data sharing has been limited"));
// Enable data sharing when user opts in
USingularSDKBPLibrary::LimitDataSharing(false);
UE_LOG(LogTemp, Log, TEXT("Data sharing has been enabled"));
ResumeAllTracking
모든 추적 재개
추적이 중지된 후 다시 활성화하여 SDK가 데이터 수집 및 이벤트 보고를 재개할 수 있도록 합니다.
서명
static void ResumeAllTracking();
사용 예시
// Resume tracking when user grants consent
USingularSDKBPLibrary::ResumeAllTracking();
UE_LOG(LogTemp, Log, TEXT("Tracking has been resumed"));
SendEvent
사용자 지정 이벤트 보내기
사용자 지정 이벤트를 이름으로 추적하여 애플리케이션 내에서 사용자 행동과 참여를 측정합니다.
서명
static void SendEvent(FString eventName);
사용 예시
// Track level completion event
USingularSDKBPLibrary::SendEvent(TEXT("level_completed"));
// Track tutorial start
USingularSDKBPLibrary::SendEvent(TEXT("tutorial_start"));
// Track user achievement
USingularSDKBPLibrary::SendEvent(TEXT("achievement_unlocked"));
SendEventWithArgs
속성과 함께 사용자 지정 이벤트 보내기
추가 속성이 있는 사용자 지정 이벤트를 추적하여 사용자 행동에 대한 자세한 컨텍스트를 제공합니다.
서명
static void SendEventWithArgs(
FString eventName,
TMap<FString, FString> args
);
사용 예시
// Track level completion with attributes
TMap<FString, FString> LevelAttributes;
LevelAttributes.Add(TEXT("level_name"), TEXT("Dark Forest"));
LevelAttributes.Add(TEXT("level_number"), TEXT("5"));
LevelAttributes.Add(TEXT("time_spent"), TEXT("245"));
LevelAttributes.Add(TEXT("score"), TEXT("8500"));
USingularSDKBPLibrary::SendEventWithArgs(
TEXT("level_completed"),
LevelAttributes
);
// Track item purchase with details
TMap<FString, FString> PurchaseAttributes;
PurchaseAttributes.Add(TEXT("item_id"), TEXT("sword_legendary"));
PurchaseAttributes.Add(TEXT("item_category"), TEXT("weapon"));
PurchaseAttributes.Add(TEXT("item_rarity"), TEXT("legendary"));
USingularSDKBPLibrary::SendEventWithArgs(
TEXT("item_purchased"),
PurchaseAttributes
);
SendRevenue
구매 이벤트 보내기
구매 창출 이벤트를 통화와 금액으로 추적하여 구매화 성과를 측정하세요.
서명
static void SendRevenue(
FString eventName,
FString currency,
float amount
);
사용 예시
// Track in-app purchase revenue
USingularSDKBPLibrary::SendRevenue(
TEXT("coin_pack_purchase"),
TEXT("USD"),
4.99f
);
// Track subscription purchase
USingularSDKBPLibrary::SendRevenue(
TEXT("premium_subscription"),
TEXT("EUR"),
9.99f
);
SendRevenueWithArgs
속성과 함께 구매 이벤트 보내기
추가 속성으로 구매을 추적하여 거래에 대한 자세한 정보를 제공합니다.
서명
static void SendRevenueWithArgs(
FString eventName,
FString currency,
float amount,
TMap<FString, FString> args
);
사용 예시
// Track revenue with transaction details
TMap<FString, FString> TransactionAttributes;
TransactionAttributes.Add(TEXT("product_id"), TEXT("com.game.coins.large"));
TransactionAttributes.Add(TEXT("product_name"), TEXT("Large Coin Pack"));
TransactionAttributes.Add(TEXT("quantity"), TEXT("1"));
TransactionAttributes.Add(TEXT("payment_method"), TEXT("credit_card"));
USingularSDKBPLibrary::SendRevenueWithArgs(
TEXT("iap_purchase"),
TEXT("USD"),
9.99f,
TransactionAttributes
);
SetCustomUserId
사용자 지정 사용자 ID 설정
사용자 지정 사용자 식별자를 할당하여 자체 ID 시스템을 사용하여 여러 디바이스 및 세션에서 사용자를 추적하세요.
서명
static void SetCustomUserId(FString customUserId);
사용 예
// Set custom user ID after login
FString UserId = TEXT("user_abc123xyz");
USingularSDKBPLibrary::SetCustomUserId(UserId);
UE_LOG(LogTemp, Log, TEXT("Custom user ID set: %s"), *UserId);
SetUninstallToken
제거 추적 토큰 설정
푸시 알림 토큰을 등록하여 사용자 리텐션 측정을 위한 제거 추적을 활성화합니다.
서명
static void SetUninstallToken(FString token);
사용 예시
// Set push notification token for uninstall tracking
FString PushToken = TEXT("abc123def456...");
USingularSDKBPLibrary::SetUninstallToken(PushToken);
UE_LOG(LogTemp, Log, TEXT("Uninstall token registered"));
SkanGetConversionValue
SKAdNetwork 전환 가치 가져오기
iOS 앱의 현재 SKAdNetwork 전환 값을 가져옵니다(iOS만 해당).
서명
static int SkanGetConversionValue();
사용 예시
// Get current SKAdNetwork conversion value (iOS only)
int ConversionValue = USingularSDKBPLibrary::SkanGetConversionValue();
UE_LOG(LogTemp, Log, TEXT("Current conversion value: %d"), ConversionValue);
SkanRegisterAppForAdNetworkAttribution
애드 네트워크 어트리뷰션을 위한 앱 등록
어트리뷰션 추적을 위해 앱을 Apple의 SKAdNetwork 프레임워크에 등록합니다(iOS만 해당).
서명
static void SkanRegisterAppForAdNetworkAttribution();
사용 예시
// Register for SKAdNetwork attribution (iOS only)
USingularSDKBPLibrary::SkanRegisterAppForAdNetworkAttribution();
UE_LOG(LogTemp, Log, TEXT("Registered for SKAdNetwork attribution"));
SkanUpdateConversionValue
SKAdNetwork 전환 값 업데이트
사용자 인게이지먼트와 구매화를 반영하도록 SKAdNetwork 전환 값을 업데이트합니다(iOS만 해당).
서명
static bool SkanUpdateConversionValue(int conversionValue);
사용 예시
// Update conversion value based on user actions (iOS only)
int NewValue = 10;
bool Success = USingularSDKBPLibrary::SkanUpdateConversionValue(NewValue);
if (Success)
{
UE_LOG(LogTemp, Log, TEXT("Conversion value updated to: %d"), NewValue);
}
else
{
UE_LOG(LogTemp, Warning, TEXT("Failed to update conversion value"));
}
SkanUpdateConversionValues
세분화된 값과 거친 값으로 SKAdNetwork 전환 값 업데이트하기
iOS 16.1+에 대해 세분화된 전환 값, 거친 값 및 잠금 상태로 SKAdNetwork를 업데이트합니다(iOS 전용).
서명
static void SkanUpdateConversionValues(
int conversionValue,
int coarse,
bool lock
);
사용 예시
// Update conversion values with fine and coarse values (iOS 16.1+)
int FineValue = 25;
int CoarseValue = 1; // 0 = low, 1 = medium, 2 = high
bool Lock = false; // Set to true to prevent further updates
USingularSDKBPLibrary::SkanUpdateConversionValues(FineValue, CoarseValue, Lock);
UE_LOG(LogTemp, Log, TEXT("Updated conversion values: fine=%d, coarse=%d"), FineValue, CoarseValue);
StopAllTracking
모든 추적 중지
사용자 개인정보 보호 기본 설정 또는 규제 요구사항을 준수하기 위해 모든 SDK 추적 활동을 완전히 중지합니다.
서명
static void StopAllTracking();
사용 예시
// Stop tracking when user withdraws consent
USingularSDKBPLibrary::StopAllTracking();
UE_LOG(LogTemp, Warning, TEXT("All tracking has been stopped"));
TrackingOptIn
추적 옵트인 기록
사용자가 GDPR 준수를 위해 추적에 명시적으로 동의했음을 Singular에 알립니다.
서명
static void TrackingOptIn();
사용 예시
// Record user opt-in for GDPR compliance
USingularSDKBPLibrary::TrackingOptIn();
UE_LOG(LogTemp, Log, TEXT("User has opted in to tracking"));
TrackingUnder13
사용자를 13세 미만으로 표시
COPPA 준수 및 아동 개인정보 보호를 위해 사용자가 13세 미만임을 Singular에 알립니다.
서명
static void TrackingUnder13();
사용 예시
// Mark user as under 13 for COPPA compliance
USingularSDKBPLibrary::TrackingUnder13();
UE_LOG(LogTemp, Log, TEXT("User marked as under 13 years old"));
UnsetCustomUserId
사용자 지정 사용자 아이디 제거
일반적으로 로그아웃 또는 계정 전환 시 사용되는 이전에 설정된 사용자 지정 사용자 아이디를 지웁니다.
서명
static void UnsetCustomUserId();
사용 예
// Clear custom user ID on logout
USingularSDKBPLibrary::UnsetCustomUserId();
UE_LOG(LogTemp, Log, TEXT("Custom user ID has been cleared"));