사용자 ID 설정
내부 사용자 ID를 Singular에 전송하여 디바이스 간 추적 및 사용자 수준 데이터 보고를 활성화하세요. 이 식별자는 포괄적인 어트리뷰션 분석을 위해 세션과 디바이스 전반의 사용자 활동을 연결합니다.
참고: Singular의 크로스 디바이스 솔루션을 사용하는 경우 로그인 또는 인증 플로우를 사용하여 모든 플랫폼에서 사용자 ID를 수집해야 합니다.
사용자 ID 요구 사항
개인정보 보호 및 모범 사례
사용자 ID 추적을 구현할 때 다음 가이드라인을 준수하여 개인정보 보호 규정을 준수하고 적절한 교차 디바이스 측정을 보장하세요.
- PII 금지: 사용자 ID는 이메일 주소, 사용자 이름 또는 전화번호와 같은 개인 식별 정보(PII)를 노출해서는 안 됩니다. 퍼스트 파티 데이터에 고유한 해시값을 사용하세요.
- 플랫폼 간 일관성: 정확한 기기 간 측정을 위해 사용자 ID 값은 모든 플랫폼(웹/모바일/PC/콘솔/오프라인)에서 캡처하는 동일한 내부 식별자이어야 합니다.
- 퍼스트 파티 데이터: 사용자 수준 내보내기, ETL 및 내부 BI 포스트백(구성된 경우)에 사용자 ID가 포함됩니다. 사용자 ID는 퍼스트 파티 데이터이며 타사와 공유되지 않습니다.
-
지속성: 사용자 ID는
unsetCustomUserId()을 사용하여 명시적으로 설정 해제하거나 앱이 제거될 때까지 지속됩니다. 앱을 닫거나 다시 시작해도 사용자 ID는 지워지지 않습니다.
구현 개요
사용자 ID를 설정하는 시기
setCustomUserId() 을 사용하여 사용자 식별자를 설정하고 unsetCustomUserId() 을 사용하여 로그아웃 중에 지웁니다. 앱 흐름에서 사용자 ID를 사용할 수 있게 되는 시기에 따라 구현 방법을 선택하세요.
모범 사례: 여러 사용자가 하나의 디바이스를 공유하는 경우 로그인 시 setCustomUserId(), 로그아웃 시 unsetCustomUserId() 을 호출하는 로그아웃 플로우를 구현하세요.
앱이 열릴 때 이미 사용자 ID를 알고 있는 경우(예: 사용자가 영구 로그인이 있는 경우) Singular SDK를 초기화하기 전에 withCustomUserId() 을 사용하여 사용자 ID를 구성하세요. 이렇게 하면 Singular가 첫 번째 세션에서 사용자 ID를 수신합니다. 그러나 일반적으로 사용자가 등록하거나 로그인할 때까지 사용자 ID를 사용할 수 없으며, 이 경우 등록 또는 인증 흐름이 완료된 후 setCustomUserId() 을 호출하세요.
SDK 메서드
사용자 지정 사용자 아이디 설정
교차 디바이스 추적 및 사용자 수준 보고를 위해 내부 사용자 ID를 Singular로 전송합니다. 인증에 성공한 직후 이 메서드를 호출하여 이후의 모든 이벤트가 사용자와 연결되도록 하세요.
// Set the user ID after login or registration
cordova.plugins.SingularCordovaSdk.setCustomUserId('user_123456');
메소드 서명:
setCustomUserId(customUserId: string): void
예시: 로그인 후 사용자 ID 설정
사용자가 인증을 성공적으로 완료한 후 즉시 setCustomUserId() 을 호출하여 이후의 모든 이벤트가 사용자 ID와 연결되도록 합니다.
function handleUserLogin(email, password) {
// Your authentication logic
authenticateUser(email, password)
.then(function(response) {
if (response.success) {
// Set the user ID in Singular after successful login
cordova.plugins.SingularCordovaSdk.setCustomUserId(response.userId);
console.log('User ID set:', response.userId);
// Navigate to home screen
navigateToHome();
}
})
.catch(function(error) {
console.error('Login failed:', error);
});
}
사용자 지정 사용자 아이디 설정 해제
사용자가 로그아웃할 때 사용자 ID를 지우면 다중 사용자 디바이스에서 정확한 세션 추적을 보장할 수 있습니다. 이렇게 하면 후속 이벤트가 로그아웃한 사용자에게 잘못 어트리뷰션되는 것을 방지할 수 있습니다.
// Unset the user ID on logout
cordova.plugins.SingularCordovaSdk.unsetCustomUserId();
메서드 서명:
unsetCustomUserId(): void
예시: 로그아웃 시 사용자 ID 설정 해제
로그아웃 플로우 중에 unsetCustomUserId() 을 호출하여 사용자 ID를 지우고 후속 이벤트의 잘못된 어트리뷰션을 방지합니다.
function handleUserLogout() {
// Clear app data and user session
clearUserSession()
.then(function() {
// Unset the user ID in Singular
cordova.plugins.SingularCordovaSdk.unsetCustomUserId();
console.log('User ID cleared');
// Navigate to login screen
navigateToLogin();
})
.catch(function(error) {
console.error('Logout failed:', error);
});
}
초기화 중 사용자 ID 설정
앱이 실행될 때 사용자 ID를 사용할 수 있는 경우(예: 사용자가 이미 영구 세션으로 로그인한 경우), withCustomUserId() 을 사용하여 SDK 초기화 중에 사용자 ID를 구성합니다. 이렇게 하면 첫 번째 세션에 사용자 ID가 포함됩니다.
document.addEventListener('deviceready', initializeApp, false);
function initializeApp() {
// Check if user is already logged in (e.g., from local storage)
var userId = localStorage.getItem('user_id');
// Create configuration
var config = new cordova.plugins.SingularCordovaSdk.SingularConfig(
'YOUR_SDK_KEY',
'YOUR_SDK_SECRET'
);
// If user ID exists, set it during initialization
if (userId) {
config.withCustomUserId(userId);
}
// Initialize SDK
cordova.plugins.SingularCordovaSdk.init(config);
console.log('Singular SDK initialized');
}
구성 방법 서명:
withCustomUserId(customUserId: string): SingularConfig
권장 사항: 영구 로그인 세션이 있는 앱의 경우 초기화 중에 withCustomUserId()을 사용합니다. 사용자가 매번 로그인해야 하는 앱의 경우 인증 후 setCustomUserId() 을 호출합니다.