Singular SDK는 " 디바이스 모드" 대상이라고 하는 세그먼트용 플러그인으로 사용할 수 있습니다. 아래 지침은 세그먼트에 단수 대상을 추가하는 방법을 설명합니다.
대상 가이드 | 엔지니어링 팀 |
전제조건 | 이 문서에서는 앱에이미 세그먼트 iOS 또는 안드로이드 애널리틱스 SDK가 연동되어있다고 가정합니다. |
이 통합 기능을 사용하려면 iOS(Native Obj-C 또는 Swift), Android(Java 또는 Kotlin) 용 Segment의 모바일 애널리틱스 SDK를 사용 중이어야 합니다. 이 통합 기능은 유니티, 팩추얼 엔진, 리액트 네이티브, 자마린 등을 포함한 다른 프레임워크와 호환되지 않습니다!
- 기본 인스톨 어트리뷰션
- SkAdNetwork 3 지원(SKAN 3.0)
- 애플 검색 광고 어트리뷰션
- 맞춤형 인앱 이벤트 추적
- 구매 추적
- 맞춤 사용자 ID
- SkAdNetwork 4 지원(SKAN 4.0)
- 메타 인스톨 리퍼러 어트리뷰션
- 딥링킹
- 제한된 데이터 공유 지원
다른 프레임워크에 대한 지원이 필요하거나 싱글 SDK가 제공하는 '전체 기능'을 원하는 경우, 세그먼트와 독립적으로 싱글 SDK를 구현해야 합니다. SDK 옵션 및 프레임워크는 여기를 참조하세요.
시작하기
- Segment 웹 앱의 "연결" 메뉴에서 "카탈로그"를 클릭합니다.
- 카탈로그에서 "싱글" 을 검색하여 선택한 다음 "대상 추가" 버튼을 클릭합니다.
- 대상을 연결할 소스를 선택하고 "다음"을 클릭합니다.
- 대상의 이름을 지정하고 "대상 만들기"를 클릭합니다.
- 싱글 대시보드의 "개발자 도구 > SDK 연동 > SDK 키"에서 싱글 "SDK 키"를 가져와 "연결 설정"의 "API 키" 및 "시크릿" 아래에 있는 세그먼트에 추가합니다.
중요: 세그먼트의 API 키 값은 반드시 싱귤러 SDK 키를 사용해야 합니다. 단수 보고 API 키를 사용하지 마세요. 잘못된 키를 사용하면 단수에서 데이터를 수신하지 못합니다.
추가 설정
이 통합의 네이티브 전용 기능을 사용하려면 종속성 구성에 다음 줄을 추가하여 Singular 라이브러리를 포함시켜야 합니다:
- 라이브러리와 바이너리 링크에 AdServices.framework를 추가하고 선택 사항으로 표시합니다 (iOS 14.3 이상 기기에서만 사용 가능). 이는 Apple 검색 광고 어트리뷰션을 지원하는 데 필요합니다.
- 다음과 같이 앱의 포드 파일에 싱글 세그먼트 연동 포드를 추가합니다:
pod 'Segment-Singular'
- 파일에서 싱글 라이브러리를 가져옵니다:
#import <Segment-Singular/SEGSingularIntegrationFactory.h>
- 마지막으로, 세그먼트 SDK에 Singular를 등록합니다.
SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@”<SEGMENT_WRITE_KEY>”]; // Enable this to record certain application events automatically!
configuration.trackApplicationLifecycleEvents = YES;
// Enable this to record screen views automatically!
configuration.recordScreenViews = YES;
// Add any of your Device-mode destinations.
configuration use:[SingularIntegrationFactory instance]];
[SEGAnalytics setupWithConfiguration:configuration];let configuration = AnalyticsConfiguration(writeKey: "<SEGMENT_WRITE_KEY>")
// Enable this to record certain application events automatically!
configuration.trackApplicationLifecycleEvents = true
// Enable this to record screen views automatically!
configuration.recordScreenViews = true
// Add any of your Device-mode destinations. configuration.use(SingularIntegrationFactory.instance())
Analytics.setup(with: configuration) - [선택 사항] SKAN 지원 구현하기
싱귤러 SDK는 SKAdnetwork 연동을 제어할 수 있습니다. 작동 방식에 대한 자세한 내용은 iOS SDK를 참조하세요: SKAdNetwork 지원 추가하기를 참조하세요.
싱귤러가 SKAdNetwork 연동을 제어하도록 하려면, 세그먼트 SDK를 초기화하기 전에 다음 코드를 추가하세요:
[SingularIntegation setSKANOptions:YES isManualSkanConversionManagementMode: NO withWaitForTrackingAuthorizationWithTimeoutInterval:@0 withConversionValueUpdatedHandler:^(NSInteger conversionValue) { NSLog(@"Your SKAN handler %ld",conversionValue); }];
SingularIntegation.setSKANOptions(
true,
isManualSkanConversionManagementMode: false,
withWaitForTrackingAuthorizationWithTimeoutInterval: NSNumber(value: 0), withConversionValueUpdatedHandler: { conversionValue in print(String(format: "Your SKAN handler %ld", conversionValue)) })
- 앱의 build.gradle 파일에 싱글 세그먼트 통합 종속성을 추가하세요:
compile 'net.singular.segment.integration:singular_segment_sdk:+'
- 안드로이드 매니페스트.xml 파일에 필수 권한을 추가합니다. 다음 권한을 포함하세요:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="BIND_GET_INSTALL_REFERRER_SERVICE" />
- 종속성을 추가한 후에는 통합을 가져와야 합니다.
import net.singular.segment.integration.SingularIntegration;
- 마지막으로, 코드를 추가하여 Singular SDK를 초기화합니다.
.trackApplicationLifecycleEvents() 를 추가하여 앱 열기, 앱 업데이트 및 앱 설치 이벤트를 Singular로 전송합니다.
static final String SEGMENT_WRITE_KEY = "<YOUR_KEY>"; @Override protected void onCreate(Bundle savedInstanceState) {
Analytics analytics = new Analytics.Builder(this , SEGMENT_WRITE_KEY) .use(SingularIntegration.FACTORY .logLevel(Analytics.LogLevel.VERBOSE) .recordScreenViews() .trackApplicationLifecycleEvents() .build(); Analytics.setSingletonInstance(analytics); }
인스톨 어트리뷰션
초기화 구성 매개변수(iOS, Android)를 사용하여 수명 주기 이벤트(애플리케이션 열기, 애플리케이션 설치, 애플리케이션 업데이트)의 자동 추적을 활성화하여 싱귤러에서 설치 및 세션을 추적합니다. 위의 이벤트를 포함하기만 하면 통합에 의해 싱글 '세션'이 자동으로 전송됩니다.
사용자 지정 이벤트 추적
세그먼트 사양에 익숙하지 않은 경우, 트랙 메서드가 어떤 기능을 하는지 살펴보세요.
세그먼트 추적 기능을 사용하면 이벤트를 번역하여 단수로 전송할 수 있습니다:
[[SEGAnalytics sharedAnalytics] track:@"simple event"];
Analytics.with(this).track("event_name");
Segment는 모든 이벤트 속성을 Singular 이벤트의 콜백 파라미터로 포함합니다.
이벤트는 보고 및 사용자 수준 내보내기에서 사용할 수 있습니다.
수익 추적
수익 속성이 포함된 이벤트가 전송될 때(0 값 포함) Singular는 수익 추적을 수신합니다. 선택적으로 통화를 전달할 수 있습니다( ISO 4217 통화 코드 코드 ). 기본 통화는 USD입니다.
[[SEGAnalytics sharedAnalytics] track:@"segment revenue event" properties:@{@"currency": @"USD", @"revenue":@20}];
Analytics.with(this).track("purchase", new Properties().putRevenue(2.5).putValue("currency","USD"));
참고: 통화를 세 글자로 된 ISO 4217 통화 코드(예: "USD", "EUR", "INR")로 전달합니다.
사용자 지정 사용자 ID
세그먼트 식별 방법을 사용하여 세그먼트 사용자 ID를 Singular에 보낼 수 있습니다.
참고: 싱귤러의 크로스 디바이스 솔루션을 사용하는 경우, 모든 플랫폼에서 동일한 사용자 ID를 수집해야 합니다.
- 사용자 ID는 모든 식별자가 될 수 있으며 PII(개인 식별 정보)를 노출해서는 안 됩니다. 예를 들어, 사용자의 이메일 주소, 사용자 이름 또는 전화번호를 사용해서는 안 됩니다. 싱귤러는 퍼스트 파티 데이터에만 고유한 해시값을 사용할 것을 권장합니다.
- 또한 Singular에 전달되는 사용자 ID 값은 모든 플랫폼(웹/모바일/PC/콘솔/오프라인)에서 캡처한 내부 사용자 ID와 동일해야 합니다.
- Singular는 사용자 수준 내보내기, ETL 및 내부 BI 포스트백(구성된 경우)에 사용자 ID를 포함합니다. 사용자 ID는 퍼스트 파티 데이터이며, Singular는 다른 당사자와 공유하지 않습니다.
- 사용자 ID 값은 설정된 경우 세그먼트 재설정 방법을 사용하여 설정 해제하거나 앱을 제거할 때까지 유지됩니다. 앱을 닫거나 다시 시작해도 사용자 ID는 설정이 해제되지 않습니다.
iOS, Android에 대해 구성하려면 다음 단계를 따르세요.
[[SEGAnalytics sharedAnalytics] identify:@"segment custom user id"];
Analytics.with(context).identify("myUserId");
사용자 지정 사용자 ID를 재설정하려면 재설정 메서드를 호출합니다.
[[SEGAnalytics sharedAnalytics] reset];