Rudderstack - Singular Destination (디바이스 모드)

RudderStack는 오픈소스 고객 데이터 플랫폼(CDP)으로 기업이 고객 데이터를 수집, 연동하고 다양한 목적지로 라우팅할 수 있게 해줍니다. 고객 데이터 파이프라인을 관리하는 중앙 집중형 플랫폼을 제공하여, 조직이 웹사이트, 모바일 앱, 서버, 클라우드 서비스 등 다양한 소스에서 데이터를 손쉽게 수집할 수 있도록 합니다.

Singular SDK는 Rudderstack용 플러그인으로 제공되며, 이를 "Device-Mode" 목적지 라고 합니다. 아래 지침은 Rudderstack에 Singular 목적지를 추가하는 방법을 설명합니다.

이 연동은 Rudderstack에서 구축 및 관리한다는 점에 유의하십시오. 구현 중 문제가 발생하면 Rudderstack에 문의하십시오.

대상 가이드 엔지니어링 팀
사전 요구 사항 이 문서는 앱에 Rudderstack iOS, Android, React Native 또는 Cordova SDK가 이미 연동되어 있음 을 전제로 합니다. device-mode 및 모바일 SDK에 대한 자세한 내용은 Rudderstack 문서를 참조하십시오.

이 연동을 사용하려면 다음 플랫폼용 Rudderstack 모바일 SDK를 사용해야 합니다: iOS(네이티브 Obj-C 또는 Swift), Android(Java 또는 Kotlin), React Native 또는 Cordova. 이 연동은 다른 어떤 프레임워크와도 호환되지 않습니다!

지원되는 기능
  1. 기본 설치 어트리뷰션
  2. SkAdNetwork 지원
  3. Apple Search Ads 어트리뷰션
  4. 커스텀 인앱 이벤트 트래킹
  5. 수익 트래킹
  6. 커스텀 User ID
지원되지 않는 기능
  1. META Install Referrer 어트리뷰션
  2. 딥링킹
  3. Limited Data Sharing 지원

다른 프레임워크 에 대한 지원이 필요하거나 Singular SDK가 제공하는 "전체 기능(Full Feature Functionality)"을 원하는 경우, Rudderstack과 별도로 Singular SDK를 독립적으로 구현해야 합니다. SDK 옵션 및 프레임워크는 여기 에서 확인하십시오.

시작하기

  1. RudderStack 대시보드 에서 소스를 추가하십시오. 그런 다음 목적지 목록에서 Singular 를 선택하십시오.
  2. 목적지에 이름을 지정하고 Continue 를 클릭하십시오.

연결 설정

Singular를 목적지로 성공적으로 구성하려면 다음 설정을 구성해야 합니다:



  • API Key: 여기에 Singular "SDK Key" 를 입력하십시오. 필수 항목입니다.
  • Secret: Singular secret을 입력하십시오. 필수 항목이며 RudderStack iOS 및 Android SDK를 사용하는 device mode 연동에 필요합니다.

    Singular "SDK KEY" 는 Singular 대시보드의 "Developer Tools > SDK Integration > SDK Keys" 에서 확인할 수 있습니다.


    참고: "Cloud-Mode" 연동의 경우 API Key(SDK Key) 값만 입력합니다 .
    "Secret"은 비워 두십시오.

  • Session Event Name: 이 설정은 cloud mode를 통해 이벤트를 전송하는 경우에만 적용됩니다.
  • Use device mode to send events: Android 또는 iOS 플랫폼을 사용할 때 이 설정을 활성화하여 device mode를 통해 이벤트를 전송할 수 있습니다. 그런 다음 Singular Device Mode 가이드에 따라 프로젝트에 Singular를 추가하는 단계를 진행하십시오.

    device mode를 통해 이벤트를 전송할 때 RudderStack에서는 어떤 이벤트를 폐기하거나 통과시킬지 지정할 수도 있습니다. 자세한 내용은 Client-side Event Filtering 가이드를 참조하십시오.

device mode 연동 추가하기

RudderStack에서 Singular를 목적지로 설정한 후, 연동 플랫폼에 따라 다음 단계를 수행하여 프로젝트에 추가하십시오.

React NativeCordovaiOS Obj-C (Legacy)iOS SDK v2 (Legacy)Android Java (Legacy)

React Native 앱에 Singular를 추가하려면 다음 단계를 따르십시오:

  1. 다음 명령을 실행하여 앱에 RudderStack-Singular 모듈을 추가하십시오:

    bash

    npm install @rudderstack/rudder-integration-singular-react-native
    // OR //
    yarn add @rudderstack/rudder-integration-singular-react-native
  2. 프로젝트 수준의 android/build.gradle 파일을 열고 다음 스니펫을 추가하십시오:

    groovy

    repositories {
      maven {
        url "https://maven.singular.net/"
      }
    }
    
  3. 위 모듈을 import하고 SDK 초기화에 추가하십시오:

    typescript

    import rudderClient from "@rudderstack/rudder-sdk-react-native"
    import singular from "@rudderstack/rudder-integration-singular-react-native"
    const config = {
    	dataPlaneUrl: <data_plane_url>,
    	trackAppLifecycleEvents: true,
    	withFactories: [singular],
    }
    rudderClient.setup(<write_key>, config)

Identify

device mode 연동의 경우, Singular SDK는 RudderStack의 identify 메서드를 사용하여 user ID를 커스텀 user ID에 매핑합니다. RudderStack은 Singular의 setCustomUserId API를 사용하여 식별된 user ID를 Singular로 전달합니다.

Android 및 iOS SDK 모두에 대한 identify 호출 예시는 다음과 같습니다:

iOS (Obj-C) Android (Kotlin)
[[RSClient getInstance] identify:@"1hKOmRA4el9Zt1WSfVJIVo4GRlm"];

Track

track 호출을 사용하면 모든 사용자 동작과 그와 관련된 속성을 캡처할 수 있습니다. 각 사용자 동작은 하나의 이벤트로 간주됩니다.

커스텀 이벤트 트래킹

커스텀 track 호출을 사용하면 앱에서 발생하는 커스텀 이벤트를 트래킹할 수 있습니다. RudderStack은 이러한 호출을 Singular로 전송하며, 여기서 커스텀 포스트 인스톨 이벤트로 처리되어 관련 리포트에서 사용할 수 있게 됩니다.

Android 및 iOS SDK 모두에 대한 커스텀 track 호출 예시는 다음과 같습니다:

iOS (Obj-C) Android (Kotlin)
[[RSClient getInstance] track:@"Product Reviewed" properties:@{
        @"product_id" : @"345676543",
        @"review_id" : @"123454387"
    }];

수익 트래킹

Singular는 수익 이벤트 트래킹을 지원합니다. revenue 속성을 포함하는 이벤트가 전송될 때마다 수익 트래킹을 구현합니다(0 값 포함). 선택적으로 currency 필드를 ISO 코드 로 전달할 수도 있습니다.

기본 통화는 USD로 설정되어 있습니다.

revenue track 호출 예시는 다음과 같습니다:

iOS (Obj-C) Android (Kotlin)
[[RSClient getInstance] track:@"Order Completed" properties:@{
        @"revenue" : @1251,
        @"currency" : @"INR"
    }];

Screen

screen 메서드를 사용하면 사용자가 모바일 화면을 볼 때마다 관련 선택적 속성과 함께 이를 기록할 수 있습니다. 이 호출은 웹 애플리케이션의 page 호출과 유사하지만 모바일 기기 전용입니다.

Android 및 iOS SDK 모두에 대한 screen 호출 예시는 다음과 같습니다:

iOS (Obj-C) Android (Kotlin)
[[RSClient sharedInstance] screen:@"Home" properties:@{
    @"category" : @"launcher"
}];

위 스니펫에서 RudderStack은 조회된 화면과 관련된 모든 정보와 화면에 대한 추가 정보를 캡처합니다.

RudderStack은 screen 이벤트를 커스텀 이벤트로 Singular에 전송합니다.

Reset

reset 메서드는 현재 사용자의 신원을 초기화하고 새로운 익명 세션을 생성합니다. 사용자가 로그아웃할 때 호출해야 합니다.

RudderStack은 Singular의 unsetCustomUserId 메서드를 호출하여 사용자의 신원을 초기화합니다.

Android 및 iOS SDK 모두에 대한 reset 호출 예시는 다음과 같습니다:

iOS (Obj-C) Android (Kotlin)
[[RSClient getInstance] reset];

SKAdNetwork(SKAN) 지원 구현하기

SKAdNetwork 연동의 제어권을 Singular에 위임하려면 iOS SDK 초기화 전에 다음 코드를 추가하십시오:

중요:

  • manualSkanConversionManagement = true 로 설정하면 Conversion Value를 직접 수동으로 업데이트해야 합니다. 이렇게 하면 Singular의 SKAN 모델이 대신 CV 값을 업데이트할 수 없습니다. "managed" 모드를 활성화하려면 이 값을 "false"로 설정하십시오.
  • waitForTrackingAuthorizationWithTimeoutInterval 설정은 앱에서 iOS App Tracking Transparency(ATT) 프롬프트를 사용하는 경우에만 사용해야 합니다. ATT를 표시하는 경우 이 값을 300으로 설정해야 합니다.

Obj-C

[RudderSingularIntegration setSKANOptions:YES
        isManualSkanConversionManagementMode:NO
withWaitForTrackingAuthorizationWithTimeoutInterval:@300
        withConversionValueUpdatedHandler:^(NSInteger conversionValue){
    // Receive a callback whenever the Conversion Value is updated
    NSLog(@"SKAN handler %ld",conversionValue);
}];