기본 통합

문서

언리얼 엔진 SDK 연동 가이드

다음 대상 가이드 개발자 변경 로그
전제 조건
호환성 언리얼 엔진 4.23 이상
연동 가이드
  1. 기본 연동
  2. 이벤트 및 구매 추적
  3. 딥링크 구현하기
  4. SKAdNetwork 지원 추가
  5. 고급 옵션

SDK 설치

SDK를 설치하려면 다음과 같이 하세요:

  1. SDK 아카이브를 다운로드하여 압축을 풉니다.
  2. 앱의 플러그인 폴더에 SingularSDK 폴더를 복사합니다.
  3. 앱의 Build.cs 파일(<YOUR_APP>.Build.cs)의 PublicDependencyModuleNames 배열에 SingularSDK를 종속 요소로 추가합니다:

    PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject",
      "Engine", "InputCore", "SingularSDK" });

SDK 초기화

참고: Singular SDK를 구현할 때 GDPR, CCPA, COPPA를 포함하되 이에 국한되지 않는 비즈니스를 운영하는 지역에서 제정된 다양한 개인정보 보호법을 준수해야 한다는 점을 잊지 마세요. 자세한 내용은 SDK 옵트인 및 옵트아웃 사례를 참조하세요.

앱을 열 때마다 SDK 초기화 코드를 호출해야 합니다. 이는 모든 Singular 어트리뷰션 기능의 전제 조건이며, 사용자 리텐션을 계산하는 데 사용되는 새 세션을 Singular로 전송하기도 합니다. 앱 실행 초기에 가능한 한 빨리 SDK를 초기화하는 것이 좋습니다.

SDK를 초기화하려면 SingularSDKBPLibrary 클래스에서 Initialize 메서드를 호출합니다:

초기화 메서드
설명 Singular SDK를 초기화하고 사용자 세션을 Singular 서버로 보냅니다.
서명
static bool Initialize(FString sdkKey, FString sdkSecret,
       int sessionTimeout = 60,
       FString customUserId = TEXT(""),
       bool skAdNetworkEnabled = true,
       bool manualSkanConversionManagement = false,
       int waitForTrackingAuthorizationWithTimeoutInterval = 0,
       bool oaidCollection = false);
사용 예제
#include "SingularSDKBPLibrary.h"
  
  [...]
  
  USingularSDKBPLibrary::Initialize("SDK KEY", "SDK SECRET");
  

메서드 파라미터

파라미터 필수? 설명 기본값
sdkKey 이 키를 얻으려면 Singular 계정에 로그인하고"개발자 도구 > SDK 연동 > SDK 키"로 이동하세요.
sdkSecret

세션 타임아웃

사용자 지정 세션 시간 제한을 설정합니다(초 단위). 60
customUserId 사용자 ID를 Singular로 보냅니다. 아래에서 자세히 알아보세요.
waitForTrackingAuthorization WithTimeoutInterval (iOS) 사용자가 기기 식별자 데이터 공유에 동의하거나 거부할 때까지 세션/이벤트 전송을 Singular로 지연시킵니다. 아래에서 자세히 알아보세요. False
skAdNetworkEnabled (iOS) Singular가 사용자의 전환 가치를 추적하도록 하려면 True로 설정합니다. 자세한 내용은 Singular의 SKAdNetwork 솔루션 소개를 참조하세요. False
수동스캔전환 관리 (iOS) SKAdNetwork 전환 값을 수동으로 관리하려면 True로 설정합니다(코드에서 직접 설정 및 업데이트). 자세한 내용은Singular의 SKAdNetwork 솔루션 소개를 참조하세요 . False
oaidCollection (안드로이드) 디바이스의 OAID를 수집하려면 true로 설정합니다. False


사용자 ID 설정

Singular SDK 메소드를 사용하여 내부 사용자 ID를 Singular로 전송할 수 있습니다.

참고: Singular의 크로스 디바이스 솔루션을 사용하는 경우 모든 플랫폼에서 사용자 ID를 수집해야 합니다.

  • 사용자 ID는 모든 식별자가 될 수 있으며 PII(개인 식별 정보)를 노출해서는 안 됩니다. 예를 들어, 사용자의 이메일 주소, 사용자 이름 또는 전화번호를 사용해서는 안 됩니다. Singular는 퍼스트 파티 데이터에만 고유한 해시값을 사용할 것을 권장합니다.
  • 또한 Singular에 전달되는 사용자 ID 값은 모든 플랫폼(웹/모바일/PC/콘솔/오프라인)에서 캡처한 내부 사용자 ID와 동일해야 합니다.
  • Singular는 사용자 수준 내보내기, ETL 및 내부 BI 포스트백(구성된 경우)에 사용자 ID를 포함합니다. 사용자 ID는 퍼스트 파티 데이터이며, Singular는 이를 다른 당사자와 공유하지 않습니다.
  • Singular SDK 메서드로 설정한 사용자 ID 값은 UnsetCustomUserId 메서드를 사용하여 설정 해제하거나 앱이 제거될 때까지 유지됩니다. 앱을 닫거나 다시 시작해도 사용자 ID는 설정이 해제되지 않습니다.

사용자 ID를 설정하려면 SetCustomUserId 메서드를 사용합니다. 설정을 해제하려면(예: 사용자가 계정에서 '로그아웃'하는 경우) UnsetCustomUserId 으로 전화하세요.

참고: 여러 사용자가 하나의 디바이스를 사용하는 경우에는 로그인 및 로그아웃할 때마다 사용자 ID를 설정하고 설정 해제하는 로그아웃 플로우를 구현하는 것이 좋습니다.

앱이 열릴 때 사용자 ID를 이미 알고 있는 경우 Singular SDK를 초기화하기 전에 SetCustomUserId 으로 전화하세요. 이렇게 하면 Singular가 첫 번째 세션부터 사용자 ID를 가질 수 있습니다. 그러나 일반적으로 사용자가 등록하거나 로그인을 수행할 때까지 사용자 ID를 사용할 수 없습니다. 이 경우 등록 흐름이 완료된 후 SetCustomUserId 을 호출하세요.

SingularSDK SetCustomUserId 메서드
설명 사용자 ID를 Singular로 전송합니다.
Signature static void SetCustomUserId(FString customUserId)
사용 예제
USingularSDKBPLibrary::SetCustomUserId("custom_user_id");
SingularSDK 언셋 커스텀 유저 아이디 메서드
설명 Singular 로 전송된 사용자 ID 를 설정 해제합니다.
Signature static void UnsetCustomUserId()
사용 예제
USingularSDKBPLibrary::UnsetCustomUserId();

선택 사항입니다: 사용자 정의 사용자 ID 장치 매핑

중요: 이 고급 엔터프라이즈 기능은 예외적인 경우에만 사용할 수 있습니다. 구현하기 전에 Singular의 솔루션 엔지니어와 상담하시기 바랍니다.

Singular는 서버 간 연동을 통해 추가 모바일 이벤트 추적 데이터를 수신할 수 있습니다. 이 기능을 활용하려면 사용자 ID를 Singular의 모바일 디바이스 추적 식별자에 매핑해야 합니다.

참고: 이 메서드는 Singular SDK를 초기화한 후 또는 사용자 ID를 확보한 후 가능한 한 빨리 호출하세요.

SingularSDK SetCustomUserId 메서드
설명 사용자 지정 사용자 아이디를 로그인과 동일하게 설정하고 이를 Singular의 추적 식별자에 매핑합니다.
서명 static void SetDeviceCustomUserId(FString customUserId)
사용 예시
USingularSDKBPLibrary::SetDeviceCustomUserId("custom_user_id");


iOS 14+ 앱 추적 투명성 지원

iOS 14+에서는 앱이 사용자 데이터를 공유하기 전에 기기의 IDFA 값 사용을 포함하여 사용자 동의를 요청해야 합니다( 앱 추적 투명성 참조). Singular는 IDFA를 사용하여 디바이스를 식별하고 인스톨 어트리뷰션을 수행함으로써 큰 이점을 얻을 수 있습니다. 따라서, Singular SDK가 사용자 세션과 사용자 이벤트를 Singular 서버로 전송하기 전에 사용자 동의를 요청해야 합니다.

SDK가 세션을 전송하면 해당 시점에 Singular에서 사용할 수 있는 데이터만을 기반으로 Singular의 인스톨 어트리뷰션 프로세스가 트리거됩니다.

SDK가 사용자 세션 및 사용자 이벤트를 전송하는 것을 지연시키려면 waitForTrackingAuthorizationWithTimeoutInterval 매개 변수를 사용하여 Singular SDK를 초기화합니다. 그렇게 하면

  1. SDK가 초기화되고 세션과 사용자 이벤트를 기록하기 시작하지만 아직 Singular 서버로 전송하지는 않습니다.
  2. 앱 추적 투명성 동의가 승인/거부되거나 설정된 시간 제한이 경과하는 즉시, SDK는 세션과 대기 중인 모든 이벤트를 (IDFA를 사용하거나 사용하지 않고) Singular 서버로 전송합니다.
  3. 그러면 Singular는 사용 가능한 경우 IDFA를 활용하여 어트리뷰션 프로세스를 시작합니다.

자세한 내용은 iOS 14 준비하기를 참조하세요.