짧은 리퍼러 링크 생성하기
사용자 간 어트리뷰션을 가능하게 하는 공유 가능한 짧은 리퍼러 링크를 생성하고 오가닉 추천을 통해 앱 설치를 추적하세요.
버전 요구 사항: 이 기능을 사용하려면 SDK 버전 11.0.8 이상이 필요합니다. 짧은 링크는 생성 후 30일 동안 활성 상태로 유지됩니다.
개요
짧은 리퍼러 링크란?
짧은 링크는 매개변수로 가득 찬 긴 Singular 링크를 SMS, 소셜 미디어 또는 인앱 초대를 통해 공유하기 편리한 작고 안전한 URL로 변환합니다.
짧은 링크를 동적으로 생성하여 사용자가 친구와 공유하여 앱을 다운로드하고 사용하도록 초대할 수 있습니다. 각 짧은 링크는 추천한 사용자를 추적하여 바이럴 성장을 측정하고 특정 지지자에게 신규 설치를 할당할 수 있습니다.
구현 요구 사항
필수 구성 요소
짧은 리퍼러 링크를 만들기 전에 다음 요소를 수집하세요:
- Singular 링크: 사용자를 앱 다운로드로 안내하는 기본 추적 링크입니다. 설정 지침은 Singular 링크 FAQ를참조하세요.
- 동적 파라미터: 링크에 컨텍스트를 추가하기 위한 선택적 사용자 지정 매개변수입니다. 추적 링크 파라미터에서사용 가능한 옵션 보기
- 리퍼러 정보: 링크를 공유하는 사용자의 이름과 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: 추천 사용자의 고유 식별자
- 패스스루 파라미터: 추가 동적 파라미터가 포함된 NSDictionary(선택 사항)
- 완료 핸들러: 짧은 링크 문자열과 오류 파라미터가 포함된 콜백 블록
사용 예시
사용자 지정 매개변수가 포함된 짧은 링크를 만들고 완료 핸들러에서 공유 로직을 구현합니다.
// 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 링크 공유)
-
유효성 검사:
createReferrerShortLink으로 호출하기 전에 매개변수를 확인하여 문제를 조기에 포착하세요.
추적 및 분석
리퍼러 정보를 활용하여 바이럴 루프를 구축하고 유기적 성장을 측정하세요.
모범 사례: 내부 사용자 식별 시스템과 일치하는 일관된 리퍼러 ID를 사용하세요. 이를 통해 다음을 수행할 수 있습니다:
- 특정 추천 사용자에게 신규 설치 속성 부여
- 성공적인 추천에 대해 사용자에게 보상 제공
- 바이럴 계수 및 K-요인 지표 추적
- 가장 가치 있는 브랜드 옹호자 식별
링크 만료
공유 전략에서 30일의 링크 수명 주기를 계획하세요.
중요: 짧은 링크는 30일 후에 만료됩니다. 장기 캠페인 또는 지속적인 공유 기능의 경우 주기적으로 새로운 짧은 링크를 생성하거나 전체 Singular 링크를 대체로 사용하세요.
일반적인 사용 사례
인앱 추천 프로그램
맞춤화된 추천 링크를 통해 사용자가 앱에서 직접 친구를 초대할 수 있도록 하세요.
- 보상 시스템: 추천을 추적하고 성공적인 친구 가입에 대해 사용자에게 보상을 제공하세요.
- 소셜 공유: 메시지, 메일, 소셜 미디어를 위해 iOS 활동 컨트롤러와 연동하세요.
- 개인 초대: 개인 맞춤화를 위해 공유 메시지에 추천인 이름을 포함합니다.
사용자 생성 콘텐츠
사용자가 다른 사람들과 공유하고 싶은 콘텐츠를 생성할 때 공유 가능한 링크를 생성하세요.
- 콘텐츠 어트리뷰션: 어떤 콘텐츠가 가장 많은 앱 설치를 유도하는지 추적하세요.
- 크리에이터 인식: 게임화를 위해 신규 사용자를 콘텐츠 크리에이터에게 어트리뷰션하세요.
- 캠페인 태깅: 콘텐츠 유형 또는 카테고리에 따라 동적 파라미터 추가
이벤트 초대
이벤트 초대를 위한 고유 링크를 생성하여 어떤 참석자가 신규 사용자를 데려왔는지 추적할 수 있습니다.
- 이벤트 컨텍스트: 링크 매개변수에 이벤트 ID 및 세부 정보를 포함하세요.
- 참석자 추적: 이벤트에서 이벤트로의 바이럴 확산 측정
- 네트워크 효과: 전환율이 가장 높은 이벤트 식별