Singular iOS SDK | |
---|---|
다운로드 | Singular iOS SDK version 10.1.3 |
호환성 | iOS 8+ |
샘플 앱 |
Singular SDK를 전체적으로 연동한 샘플 앱을 확인해주세요. 베스트 프랙티스에 기반하여 여러 연동 부분이 어떻게 결합될 수 있는지 확인하세요. |
연동 가이드 |
|
SDK 설치
Singular SDK를 가장 간편하게 연동하는 방법으로 CocoaPods 사용을 강력히 권장합니다.
CocoaPods 사용
- 앱의 podfile에 Singular pod를 다음처럼 추가하세요.
- podfile의 디렉터리에서 `pod install`을 실행하세요.
...
target 'APP' do
pod 'Singular-SDK'
end
Singular 스태틱 라이브러리 사용
- SDK를 다운로드하고 압축 해제합니다.
- App Name > Add Files To <Your Project Name>를 클릭합니다.
- 대화 창에서 Options > Create Groups를 선택하고 SDK 압축을 해제한 폴더를 선택합니다.
- 프로젝트에 다음 파일이 포함됩니다: libSingular.a, Singular.h, SingularLinkParams.h, and Singular.js
- App Name > Build Phases를 클릭하고 Link Binary With Libraries를 확장합니다.
- + 아이콘을 클릭하고 다음 라이브러리를 추가합니다.
- libsqlite3.0.tbd
- SystemConfiguration.framework
- Security.framework
- libz.tbd
- AdSupport.framework
- iAd.framework
- StoreKit.framework
주의: 빌드에 실패한 경우 libSingular.a가 위치한 디렉터리를 프로젝트의 "Library Search Paths" (Build Settings > Search Paths > Library Search Paths)에 명시적으로 추가하세요.
Singular 라이브러리 임포트
AppDelegate 파일에 다음 코드를 추가하여 Singular 클래스 라이브러리를 임포트합니다
Objective-C:
// Cocoapods로 설치한 경우
#import <Singular.h>
// 수동으로 설치한 경우
#import "Singular.h"
SDK 초기화
SDK 초기화 코드는 앱이 열릴 때마다 호출돼야 합니다. 이는 Singular의 어트리뷰션 기능이 동작하기 위한 전제 조건이자, Singular에 새 세션을 보내서 유저 리텐션을 계산하는 기준으로 사용됩니다.
주의: 앱에 Swift를 사용하는 경우, 아래의 "Swift 사용" 항목에서 브리징 헤더를 만드는 방법과 예제 코드를 참조하세요.
대부분에 앱에서는 다음 예제처럼 applicationDidBecomeActive 메서드에서 초기화를 할 수 있습니다.
Objective-C:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[Singular startSession:@"yourAPIKey" withKey:@"yourSecret"];
}
Swift (requires bridging header):
func applicationDidBecomeActive(_ application: UIApplication) {
Singular.startSession("yourAPIKey", withKey: "yourSecret")
}
선택 사항: Session 타임아웃 설정
기본적으로 만약 앱이 포그라운드로 되돌아오기 전 백그라운드에서 60초 이상 머무른 경우, Singular SDK는 새로운 세션을 등록합니다. 이 기본 타임아웃 값은 setSessionTimeout 메서드를 사용하여 변경할 수 있습니다.
setSessionTimeout 메서드 |
|
---|---|
정의 | 세션 타임아웃 값 변경 |
메서드 | +(void)setSessionTimeout:(int)timeout |
사용예 |
Objective-C:
Swift (requires bridging header):
|
Singular로 유저 ID 전송
선택 사항으로 Singular SDK를 사용하여 앱에서 Singular로 유저 ID를 전달할 수 있습니다. 유저 ID는 유저네임, 이메일 주소, 랜덤 생성 문자열 등 유저를 식별하는 어떤 값이라도 가능합니다. Singular로 전달한 유저 ID는 유저레벨 데이터를 추출하거나 고객사가 내부 BI 포스트백을 설정한 경우 포스트백 내의 데이터 형태로 전달될 수 있습니다.
Singular에 유저 ID를 보내려면 setCustomUserId 메서드를 호출하세요. ID 설정을 해제하려면 unsetCustomUserId 메서드를 사용합니다. 예를 들어 유저가 로그아웃하는 경우 사용할 수 있습니다.
- 유저 ID는 unsetCustomUserId 호출을 통해 설정을 해제하거나 앱이 삭제되기 전까지 유지됩니다. 앱을 닫거나 재시작하는 것으로는 유저 ID 설정이 해제되지 않습니다.
- 앱이 열리는 시점에 유저 ID를 이미 식별할 수 있고 첫 세션부터 Singular에 이를 포함해서 보내고자 한다면 Singular SDK 초기화를 하기 전에 유저 ID를 먼저 설정하세요.
setCustomUserId 메서드 |
|
---|---|
정의 | Singular에 유저 ID 전송 |
메서드 | +(void)setCustomUserId:(NSString*)customUserId |
사용예 |
Objective-C:
Swift (requires bridging header):
|
unsetCustomUserId 메서드 |
|
정의 | Unset the user ID that has been sent to Singular. |
메서드 | +(void)unsetCustomUserId; |
사용예 |
Objective-C:
Swift (requires bridging header):
|
Swift 사용
Swift 앱에서 Objective-C 코드를 사용하려면 브리징 헤더를 생성해야 합니다.
- Objective-C 브리징 헤더 파일을 생성하는 방법은 Apple의 영문 공식 문서(Swift documentation on language interoperability)를 참조하세요.
- "*-Bridging-Header.h" 파일에 다음 예제처럼 Singular 라이브러리를 임포트하세요.
// *-Bridging-Header.h
#import "Singular.h"