iOS SDK: SKAdNetwork 지원 추가

Singular iOS SDK
다운로드 Singular iOS SDK version 11.0.0
호환성 iOS 8+
샘플 앱

Singular SDK를 전체적으로 연동한 샘플 앱을 확인해주세요. 베스트 프랙티스에 기반하여 여러 연동 부분이 어떻게 결합될 수 있는지 확인하세요.

연동 가이드

 

소개: SKAdNetwork와 SKAN

SKAdNetwork는 유저의 개인 정보를 침해하지 않고 모바일 인스톨 어트리뷰션을 판정하기 위한 Apple의 신규 프레임워크입니다. SKAdNetwork를 사용하면 사용자의 개인 식별 정보를 공유하지 않는 방식으로 앱 마케팅 캠페인 성과를 측정할 수 있습니다.

Singular의 새로운 iOS SDK 버전을 통해 최소한의 개발 리소스로도 SKAdNetwork를 원할히 구현할 수 있습니다.

본 SKAdNetwork 구현은 Singular가 SKAdNetwork를 매끄럽게 구현할 수 있도록 고안한 SKAN 표준안을 따릅니다. SKAN에 대한 더 자세한 내용은 SKAN 2020년 7월에 발표된 SKAN 사양을 참조하세요.

주의: 추후 iOS 14 버전의 변화에 따라 SDK에 점진적인 변화가 있을 수 있습니다.

SKAdNetwork 트래킹 활성화

Singular 초기화 이전에 skAdNetworkEnabled 설정 옵션을 켜면 앱 내 SKAdNetwork 트래킹을 활성화할 수 있습니다.

// SingularConfig 인스턴트화
SingularConfig* config = [[SingularConfig alloc] initWithApiKey:apiKey andSecret:secretKey];
// skAdNetworkEnabled 옵션을 추가하고 YES로 설정
config.skAdNetworkEnabled = YES;
// 시작
[Singular start:config];

전환값(Conversion Value) 업데이트 처리

관리 모드(Managed Mode)

기본적으로 SKAdNetwork 구현은 Singular 서버 측에서 전환값을 직접 관리합니다.

이를 통해 클라이언트측 코드를 직접 변경하는 대신 Singular 웹앱 플랫폼에서 전환값을 설정하고 변경할 수 있어 보다 편리하고 유연하게 사용할 수 있습니다.

또한 서버측 관리 모드로 SKAdNetwork 타이머 관리 역시 도울 수 있습니다. SKAdNetwork의 전환값은 SKAdNetwork 등록 이후 24시간 이내에만 업데이트할 수 있습니다. 전환값 업데이트를 호출할 때마다 해당 타이머는 24시간 연장됩니다. 따라서 전환값을 선택할 때 해당 이벤트가 업데이트 윈도우 내에 일어나도록 관리해야 합니다. 관리 모드에서는 새로운 앱 버전을 업데이트하지 않고도 언제든 전환 이벤트 설정을 바꿀 수 있습니다.

매뉴얼 모드

관리 모드 사용 대신 앱 코드 내에서 직접 전환값을 수동 업데이트하고자 한다면 SDK 초기화시 manualSkanConversionManagement를 YES로 설정하세요.

SingularConfig* config = 
[[SingularConfig alloc] initWithApiKey:apiKey andSecret:secretKey];
// SKAdNetwork 활성화 config.skAdNetworkEnabled = YES;
// 매뉴얼 전환값 업데이트 활성화 config.manualSkanConversionManagement = YES;
[Singular start:config];

이후 앱의 생명주기에 맞춰 skanUpdateConversionValue 메서드를 사용해서 전환값을 업데이트할 수 있습니다.

skanUpdateConversionValue 메서드 (Objective-C)
정의 SKAdNetwork 전환값을 수동으로 업데이트
메서드 + (BOOL)skanUpdateConversionValue:(NSInteger)conversionValue;
사용예
// signup 이벤트 발생
[Singular event:@"SignUp"];
// 전환값을 7로 업데이트 [Singular skanUpdateConversionValue:7];

주의: 매뉴얼 업데이트 옵션을 “yes”로 설정하지 않으면 skanUpdateConversionValue 메서드가 동작하지 않습니다.

전환값 획득

현재의 전환값을 확인하려면 skanGetConversionValue 메서드나 conversionValueUpdatedCallback을 사용하세요. 두 메서드는 관리 모드와 매뉴얼 모드 모두에서 사용할 수 있습니다.

skanGetConversionValue 메서드 (Objective-C)
정의 Singular SDK에서 트래킹된 현재 전환값 획득
메서드 + (NSNumber *)skanGetConversionValue;
사용예
NSNumber* conversionValue = [Singular skanGetConversionValue];
conversionValueUpdatedCallback 콜백 (Objective-C)
정의 Singular SDK에서 트래킹된 현재 전환값 획득
메서드 void(^conversionValueUpdatedCallback)(NSInteger);
사용예
SingularConfig* config = [[SingularConfig alloc] 
initWithApiKey:apiKey andSecret:secretKey];

// SKAdNetwork 활성화 config.skAdNetworkEnabled = YES;

config.conversionValueUpdatedCallback=^(NSInteger conversionValue) {
// 여기서 최신 전환값(conversion value)에 접근 가능 };
[Singular start:config];

고급 옵션

SKAdNetwork 등록 지연

SKAdNetwork 트래킹 등록을 SDK 초기화 시점에 바로 하지 않고 앱 생명주기 내의 다른 시점에 하고자 한다면 SDK 초기화시에 skAdNetworkEnabled = "no"를 설정하고 이후 skanRegisterAppForAdNetworkAttribution 메서드를 통해 등록할 수 있습니다.

skanRegisterAppForAdNetworkAttribution 메서드 (Objective-C) 
정의 SKAdNetwork 트래킹 등록
메서드 + (void)skanRegisterAppForAdNetworkAttribution;
사용예
// SingularConfig 초기화
SingularConfig* config = [[SingularConfig
alloc] initWithApiKey:apiKey andSecret:secretKey];
// SKAdNetwork 등록 비활성화 config.skAdNetworkEnabled = NO;
// 시작 [Singular start:config];
// 추후 시점 - SKAdNetwork 등록 [Singular skanRegisterAppForAdNetworkAttribution];

기타 iOS 14 업데이트

도움이 되었습니까?