추천인 단축 링크 생성
공유 가능한 추천인 단축 링크를 생성하여 사용자 간 어트리뷰션을 활성화하고 유기적 추천을 통한 앱 설치를 추적합니다.
버전 요구 사항: 이 기능을 사용하려면 SDK 버전 11.0.8 이상이 필요합니다. 단축 링크는 생성 후 30일 동안 활성 상태로 유지됩니다.
개요
추천인 단축 링크란
단축 링크는 파라미터가 많은 긴 Singular Links를 SMS, 소셜 미디어 또는 앱 내 초대를 통해 공유하기 편리한 간결하고 안전한 URL로 변환합니다.
단축 링크를 동적으로 생성하면 사용자가 친구에게 공유하여 앱을 다운로드하고 사용하도록 초대할 수 있습니다. 각 단축 링크는 추천인 사용자를 추적하여 바이럴 성장을 측정하고 새로운 설치를 특정 추천인에게 어트리뷰션할 수 있도록 합니다.
구현 요구 사항
필수 구성 요소
추천인 단축 링크를 생성하기 전에 다음 요소를 준비하세요:
- Singular Link: 사용자를 앱 다운로드로 안내하는 기본 추적 링크입니다. 설정 방법은 Singular Links FAQ 를 참조하세요
- 동적 매개변수: 링크에 컨텍스트를 추가하기 위한 선택적 사용자 지정 매개변수입니다. 사용 가능한 옵션은 Tracking Link Parameters 에서 확인하세요
- 추천인 정보: 새로운 설치를 추천인에게 어트리뷰션할 수 있도록 링크를 공유하는 사용자의 이름과 ID입니다
SDK 메서드
createReferrerShortLink
성공 및 오류 상태에 대한 콜백 핸들러와 사용자 지정 매개변수가 포함된 추천인 단축 링크를 생성합니다.
메서드 시그니처:
+ (void)createReferrerShortLink:(NSString *)baseLink
referrerName:(NSString *)referrerName
referrerId:(NSString *)referrerId
passthroughParams:(NSDictionary *)passthroughParams
completionHandler:(void(^)(NSString *, NSError *))completionHandler;
매개변수:
- baseLink: 원본 Singular 추적 링크 URL
- referrerName: 추천인 사용자의 표시 이름
- referrerId: 추천인 사용자의 고유 식별자
- passthroughParams: 추가 동적 매개변수를 포함하는 NSDictionary (선택 사항)
- completionHandler: 단축 링크 문자열과 오류 매개변수를 포함하는 콜백 블록
사용 예시
사용자 지정 매개변수로 단축 링크를 생성하고 완료 핸들러에서 공유 로직을 구현합니다.
// Define your Singular tracking link as the base link
let referrerBaseLink = "https://yourdomain.sng.link/Csfge/aknl?_dl=myscheme%3A%2F%2Fmydeeplink/referrer&_smtype=3"
// Get referrer information from user input
let referrerID = referrerIDField.text ?? "unknown_user"
let referrerName = referrerNameField.text ?? "Anonymous"
// Add custom passthrough parameters
let passthroughParams: [String: Any] = [
"channel": "sms",
"campaign_id": "summer_promo_2025",
"referral_type": "friend_invite"
]
// Generate the short referrer link
Singular.createReferrerShortLink(
referrerBaseLink,
referrerName: referrerName,
referrerId: referrerID,
passthroughParams: passthroughParams
) { shortLink, error in
if let error = error {
// Handle error - retry or show user feedback
print("Error creating short link: \(error.localizedDescription)")
// Show error message to user
let alert = UIAlertController(
title: "Error",
message: "Failed to create share link. Please try again.",
preferredStyle: .alert
)
alert.addAction(UIAlertAction(title: "OK", style: .default))
self.present(alert, animated: true)
return
}
if let shortLink = shortLink, !shortLink.isEmpty {
// Share the short link via iOS Activity Controller
let shareText = "Join me on this awesome app! \(shortLink)"
let activityVC = UIActivityViewController(
activityItems: [shareText],
applicationActivities: nil
)
// For iPad: set popover presentation controller
if let popover = activityVC.popoverPresentationController {
popover.sourceView = self.view
popover.sourceRect = CGRect(x: self.view.bounds.midX,
y: self.view.bounds.midY,
width: 0,
height: 0)
popover.permittedArrowDirections = []
}
self.present(activityVC, animated: true)
}
}
// Define your Singular tracking link as the base link
NSString *referrerBaseLink = @"https://yourdomain.sng.link/Csfge/aknl?_dl=myscheme%3A%2F%2Fmydeeplink/referrer&_smtype=3";
// Get referrer information from user input
NSString *referrerID = self.referrerIDField.text ?: @"unknown_user";
NSString *referrerName = self.referrerNameField.text ?: @"Anonymous";
// Add custom passthrough parameters
NSDictionary *passthroughParams = @{
@"channel": @"sms",
@"campaign_id": @"summer_promo_2025",
@"referral_type": @"friend_invite"
};
// Generate the short referrer link
[Singular createReferrerShortLink:referrerBaseLink
referrerName:referrerName
referrerId:referrerID
passthroughParams:passthroughParams
completionHandler:^(NSString *shortLink, NSError *error) {
if (error) {
// Handle error - retry or show user feedback
NSLog(@"Error creating short link: %@", error.localizedDescription);
// Show error message to user
UIAlertController *alert = [UIAlertController
alertControllerWithTitle:@"Error"
message:@"Failed to create share link. Please try again."
preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:[UIAlertAction actionWithTitle:@"OK"
style:UIAlertActionStyleDefault
handler:nil]];
[self presentViewController:alert animated:YES completion:nil];
return;
}
if (shortLink && ![shortLink isEqualToString:@""]) {
// Share the short link via iOS Activity Controller
NSString *shareText = [NSString stringWithFormat:@"Join me on this awesome app! %@", shortLink];
UIActivityViewController *activityVC = [[UIActivityViewController alloc]
initWithActivityItems:@[shareText]
applicationActivities:nil];
// For iPad: set popover presentation controller
if (activityVC.popoverPresentationController) {
activityVC.popoverPresentationController.sourceView = self.view;
activityVC.popoverPresentationController.sourceRect = CGRectMake(
CGRectGetMidX(self.view.bounds),
CGRectGetMidY(self.view.bounds),
0, 0
);
activityVC.popoverPresentationController.permittedArrowDirections = 0;
}
[self presentViewController:activityVC animated:YES completion:nil];
}
}];
구현 모범 사례
오류 처리
네트워크 장애, 잘못된 매개변수 또는 서버 문제를 관리하기 위해 완료 핸들러에서 견고한 오류 처리를 구현하세요.
- 재시도 로직: 일시적인 네트워크 오류에 대해 지수 백오프를 구현합니다
- 사용자 피드백: 링크 생성에 실패할 때 명확한 오류 메시지를 표시합니다
- 대체 옵션: 대체 공유 방법을 제공합니다(예: 단축 링크 생성에 실패할 경우 전체 Singular Link 공유)
-
검증:
문제를 조기에 파악하기 위해
createReferrerShortLink를 호출하기 전에 매개변수를 확인합니다
추적 및 분석
추천인 정보를 활용하여 바이럴 루프를 구축하고 유기적 성장을 측정하세요.
모범 사례: 내부 사용자 식별 시스템과 일치하는 일관된 추천인 ID를 사용하세요. 이를 통해 다음을 수행할 수 있습니다:
- 특정 추천인 사용자에게 새로운 설치를 어트리뷰션
- 성공적인 추천에 대해 사용자에게 보상 제공
- 바이럴 계수 및 K-factor 지표 추적
- 가장 가치 있는 브랜드 옹호자 식별
링크 만료
공유 전략에 30일 링크 수명 주기를 계획에 포함하세요.
중요: 단축 링크는 30일 후 만료됩니다. 장기 캠페인 또는 지속적인 공유 기능의 경우 새로운 단축 링크를 주기적으로 생성하거나 전체 Singular Link를 대체 옵션으로 사용하세요.
일반적인 사용 사례
앱 내 추천 프로그램
사용자가 개인화된 추천 링크를 통해 앱에서 직접 친구를 초대할 수 있도록 합니다.
- 보상 시스템: 추천을 추적하고 성공적인 친구 가입에 대해 사용자에게 보상을 제공합니다
- 소셜 공유: Messages, Mail 및 소셜 미디어를 위한 iOS Activity Controller와 연동합니다
- 개인 초대: 개인화를 위해 공유 메시지에 추천인 이름을 포함합니다
사용자 생성 콘텐츠
사용자가 다른 사용자와 공유하고 싶은 콘텐츠를 생성할 때 공유 가능한 링크를 만듭니다.
- 콘텐츠 어트리뷰션: 어떤 콘텐츠가 가장 많은 앱 설치를 유도하는지 추적합니다
- 크리에이터 인정: 게이미피케이션을 위해 신규 사용자를 콘텐츠 크리에이터에게 어트리뷰션합니다
- 캠페인 태깅: 콘텐츠 유형 또는 카테고리에 따라 동적 매개변수를 추가합니다
이벤트 초대
어떤 참석자가 새로운 사용자를 데려오는지 추적하는 이벤트 초대용 고유 링크를 생성합니다.
- 이벤트 컨텍스트: 링크 매개변수에 이벤트 ID와 세부 정보를 포함합니다
- 참석자 추적: 이벤트에서 이벤트로의 바이럴 확산을 측정합니다
- 네트워크 효과: 전환율이 가장 높은 이벤트를 식별합니다