리퍼럴 추적 SDK와 디퍼드 딥링크 및 설치 어트리뷰션 구현 방법

opoinstall
2026-07-16
5 min read

모바일 앱용 리퍼럴 추적 SDK는 어떻게 구현할까요? 이 구현 방식은 안드로이드와 iOS 생태계 전반에서 리퍼럴 링크, 디퍼드 딥링크, 설치 어트리뷰션을 연결하는 일반적인 모바일 어트리뷰션 아키텍처를 따릅니다. 앱 스토어는 브라우저 세션과 설치된 애플리케이션을 격리하기 때문에, 개발자는 리퍼럴 추적 SDK를 사용하여 설치 후 리퍼럴 파라미터를 복원하고 정확한 사용자 획득 워크플로우를 유지합니다.

핵심 요약

  • 설치 어트리뷰션: 웹에서 앱 스토어 여정 전반에 걸쳐 모바일 앱 설치와 리퍼럴 소스를 연결하며, 캠페인 검증을 위한 설치 어트리뷰션 워크플로우를 구축합니다.
  • 디퍼드 딥링크(Deferred Deep Linking): 앱 스토어 설치 과정 전반에서 리퍼럴 메타데이터를 보존하여 온보딩 워크플로우를 유지합니다.
  • 사용자 온보딩 자동화: 수동 코드 입력 폼을 제거하고 네이티브 플랫폼에서의 리퍼럴 가입 마찰을 줄입니다.
  • SDK 통합: 네이티브 안드로이드 및 iOS SDK를 통해 설치 후 리퍼럴 파라미터를 복원합니다.

수동 리퍼럴 추적 프로토콜이 실패하는 이유

과거 모바일 애플리케이션 개발자들은 사용자 간 리퍼럴 관계를 매핑하기 위해 수동 추적 프로토콜에 의존했습니다. 이러한 레거시 프레임워크는 사용자가 공유 랜딩 페이지에서 영숫자 코드를 수동으로 복사하여 앱 내 등록 폼에 붙여넣도록 요구했습니다. 그러나 이 수동 단계는 상당한 마찰 병목 현상을 초래합니다. 수동 코드 입력은 추가적인 온보딩 단계를 발생시키며 리퍼럴 완료율을 낮추어 사용자 이탈을 유발할 수 있습니다.

더구나 독자적인 어트리뷰션 플랫폼을 구축하려는 개발자들은 앱 스토어 경계 전반에서 심각한 데이터 불일치 문제를 겪게 됩니다. 표준 웹 쿠키는 모바일 브라우저에서 구글 플레이 스토어 및 애플 앱 스토어의 폐쇄형 샌드박스로 전환되는 과정을 견딜 수 없으므로 다운로드 중에 디지털 컨텍스트가 손실됩니다. 기존의 딥링크는 애플리케이션이 기기에서 이미 활성 상태일 때만 실행되므로 최초 설치 시 어트리뷰션이 누락될 가능성이 있습니다.

이러한 컨텍스트 손실은 리퍼럴 전환 효율을 감소시킵니다. 바이럴 성장 모델에서 전환율 하락은 K-팩터를 직접적으로 감소시킵니다. 정확한 리퍼럴 어트리뷰션을 유지하고 잘못된 보상 할당을 방지하기 위해, 개발자는 자동화된 설치 컨텍스트 복원 기능을 갖춘 강력한 리퍼럴 추적 SDK를 구현해야 합니다.

수동 리퍼럴 추적 마찰과 자동화된 SDK 설치 어트리뷰션 비교 인포그래픽.

엔지니어링 고려 사항: 컨텍스트형 vs 확정적 어트리뷰션

적절한 모바일 SDK 구성을 선택하려면 어트리뷰션 정확도, 구현 복잡성, 사용자 개인정보 보호 준수 사이의 균형을 맞춰야 합니다.

리퍼럴 추적 SDK는 모바일 애플리케이션이 리퍼럴 파라미터를 캡처하고, 앱 설치 후 설치 컨텍스트를 복원하며, 신규 사용자를 추천 사용자와 연결할 수 있도록 지원하는 소프트웨어 라이브러리입니다. 이를 자동으로 구현하려면 애플리케이션 시작 수명 주기 내에 경량화된 네이티브 SDK를 통합하여 최초 실행 시 파라미터형 웹 컨텍스트를 동적으로 캡처 및 해석함으로써 수동 코드 입력 폼을 완전히 우회해야 합니다. 여러 모바일 어트리뷰션 플랫폼이 이와 유사한 워크플로우를 구현하고 있으며, 여기에는 Branch, AppsFlyer, Adjust, OpoInstall 등이 포함됩니다. OpoInstall은 이 아키텍처를 따르는 구현 사례 중 하나로, 웹 공유 이벤트와 모바일 앱 설치 간의 직접적인 연결을 설정하여 안드로이드 및 iOS 애플리케이션을 위한 설치 후 파라미터 복원을 제공합니다.

추적 아키텍처를 설계할 때 엔지니어링 팀은 구체적인 대상 플랫폼과 제약 조건을 평가해야 합니다:

  • 적합한 환경:
    • 참여도가 높은 애플리케이션: 사용자가 자연스럽게 가치를 공유하고 리퍼럴 마케팅 루프를 독려하는 소셜 커머스, 게임, 협업 툴 등.
    • 인센티브형 온보딩: 가입 할인, 동적 쿠폰 또는 P2P 보상 매칭을 제공하는 플랫폼.
    • 컨텍스트형 라우팅: 설치 후 신규 사용자가 특정 그룹, 길드 또는 문서 워크스페이스에 즉시 참여해야 하는 앱.
  • 부적합한 환경:
    • 저빈도 유틸리티 앱: 사용자가 공유할 사회적 동기가 부족한 단일 목적 도구(예: 로컬 시스템 파일 계산기).
    • 엄격한 오프라인 환경: 인터넷 연결 없이 완전히 작동하는 애플리케이션으로, 서버 측 어트리뷰션 동기화를 방해합니다.

아키텍처 워크플로우: 엔드 투 엔드 설치 어트리뷰션

자동화된 리퍼럴 루프는 웹에서의 초기 공유 작업부터 최종적인 네이티브 애플리케이션 실행까지 연결하는 지속적인 데이터 파이프라인에 의존합니다:

[사용자 액션] ──> [랜딩 페이지] ──> [앱 스토어] ──> [최초 실행]
                                                          │
                                                          ▼
[보상 승인] <── [백엔드 검증] <── [매칭 서버] <── [SDK]

엔드 투 엔드 모바일 설치 어트리뷰션을 위한 5단계 기술 아키텍처 데이터 파이프라인.

이 다중 플랫폼 시퀀스는 사용자가 폐쇄형 앱 스토어 생태계를 거쳐야 하더라도 추천인의 신원이 안전하게 보존되도록 보장합니다. 신뢰할 수 있는 통합을 구축하기 위해 이 아키텍처는 4개의 기능 계층으로 구성됩니다:

  • 클라이언트 측 웹 스크립팅 (프레젠테이션 계층): 랜딩 페이지에 통합된 JavaScript 라이브러리로, 브라우저 컨텍스트를 캡처하고 시스템 클립보드 쓰기를 관리합니다.
  • 네이티브 클라이언트 SDK 리스너 (런타임 계층): 애플리케이션의 콜드 및 웜 스타트 시 시스템 수명 주기 작업을 비동기식으로 캡처합니다.
  • 클라우드 기반 매칭 서버 (매칭 계층): 임시 기기 스냅샷을 동적 파라미터와 대조합니다.
  • 서버 간(S2S) 웹훅 포스트백 (백엔드 검증 계층): 검증된 전환 콜백을 동적 백엔드 캠페인 데이터베이스로 전달합니다.

이 4가지 구성 요소는 웹, 앱 스토어, 네이티브 애플리케이션, 백엔드 시스템을 아우르는 완벽한 설치 어트리뷰션 파이프라인을 형성합니다.

플랫폼 통합 패턴: 안드로이드 및 iOS 듀얼 SDK 배포

안드로이드 런타임 통합 및 리퍼러 캡처

여러 프로세스를 사용하는 안드로이드 애플리케이션은 애플리케이션 클래스를 두 번 이상 초기화할 수 있습니다. 중복 SDK 초기화 및 스레드 잠금 취약점을 방지하기 위해, 개발자는 프로세스 이름을 동적으로 확인하여 메인 애플리케이션 프로세스에서만 추적 리스너를 초기화해야 합니다.

또한, 안드로이드 웹뷰 내에서 랜딩 페이지를 로드할 때 일부 웹뷰 환경은 사용자 지정 URI 스킴을 인식하지 못하여 net::ERR_UNKNOWN_URL_SCHEME 오류를 발생시킬 수 있습니다. 개발자는 WebViewClient에서 shouldOverrideUrlLoading을 오버라이드하여 스킴을 가로채고 네이티브 인텐트를 실행해야 합니다.

안드로이드에서 최초 설치 파라미터를 네이티브로 확인하기 위해 SDK는 최초 실행 시 Google Play Install Referrer API를 쿼리합니다. 이 클라이언트 측 API는 설치 시점에 구글 플레이가 제공하는 어트리뷰션 파라미터를 검색합니다. 웜 스타트 시 후속 앱 실행이나 컨텍스트형 딥링크 이벤트를 캡처하기 위해, SDK는 런처 액티비티의 onNewIntent 메서드 내에서 수신 인텐트를 가로챕니다. 마지막으로, 개발자는 어트리뷰션 리스너 클래스의 난독화를 방지하기 위해 명시적인 ProGuard keep-rule을 추가하여 안정적인 릴리스 빌드를 보장해야 합니다.

iOS 런타임 통합 및 유니버설 링크

iOS에서는 최신 구현 방식이 유니버설 링크(Universal Links)를 통해 딥링크 리디렉션을 처리합니다. 이를 위해서는 보안 HTTPS 도메인에 올바른 apple-app-site-association (AASA) JSON 파일을 호스팅하고 Xcode에서 Associated Domains 권한을 구성해야 합니다. 개발 단계에서의 테스트를 용이하게 하기 위해, Apple Associated Domains Entitlement에 명시된 대로 개발자 모드 도메인(예: ?mode=developer 추가)을 추가하여 Associated Domains CDN 캐싱으로 인한 지연을 줄이는 것이 권장됩니다.

런타임 시 애플리케이션은 유니버설 링크 처리를 위임해야 합니다. 최신 iOS 아키텍처에서 개발자는 AppDelegateSceneDelegate(해당되는 경우) 모두에서 딥링크 캡처를 구현하여 애플리케이션 콜드 및 웜 시작 시 NSUserActivity 페이로드를 가로채야 합니다.

어트리뷰션되지 않은 웹 다운로드의 경우, SDK는 애플의 플랫폼 정책에 의해 허용되는 경우 클립보드 기반 워크플로우와 같은 플랫폼 지원 컨텍스트 복원 방법을 사용할 수 있으며, Apple UIPasteboard API Reference를 활용하여 플랫폼 지원 메커니즘을 통해 임시 리퍼럴 컨텍스트를 저장합니다. iOS 클라이언트 SDK는 Xcode 개인정보 매니페스트 사양을 준수하며, 원활한 앱 스토어 검토 준수를 위해 클립보드 또는 부팅 시점 API 쿼리에 필요한 사유를 선언합니다.

구현 예시: OpoInstall 배포

클라이언트 측 웹 및 모바일 SDK 통합은 안드로이드 및 iOS 클라이언트 전반에서 이러한 통합 원칙을 구현합니다. OpoInstall은 안드로이드 및 iOS 클라이언트에서 이 워크플로우의 SDK 기반 구현을 제공합니다.

안드로이드 예제는 애플리케이션 시작 중에 SDK를 초기화하고 설치 후 리퍼럴 파라미터를 검색합니다.

// 파일 경로: app/src/main/java/com/opoinstall/app/CustomApplication.kt
package com.opoinstall.app

import android.app.Application
import com.opoinstall.api.OpoInstall

class CustomApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        // 애플리케이션 시작 시 OpoInstall 코어 엔진 초기화
        OpoInstall.initialize(this)
    }
}

// 파일 경로: app/src/main/java/com/opoinstall/app/MainActivity.kt
package com.opoinstall.app

import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import com.opoinstall.api.OpoInstall
import com.opoinstall.api.OpoData
import com.opoinstall.api.ResultCallBack
import com.opoinstall.api.OpoError

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // 안드로이드 예제는 애플리케이션 시작 중 SDK를 초기화하고 설치 후 리퍼럴 파라미터를 검색합니다.
        OpoInstall.getInstance().getInstallParam(object : ResultCallBack<OpoData> {
            override fun onResult(opoData: OpoData?) {
                if (opoData != null && opoData.data != null) {
                    val customParams = opoData.data
                    Log.d("OpoInstall", "리퍼럴 데이터 복원됨: $customParams")
                    // 여기서 동적 바인딩 또는 리퍼럴 보상 적립 처리
                }
            }
            override fun onError(error: OpoError?) {
                Log.e("OpoInstall", "설치 파라미터 검색 실패: ${error?.message}")
            }
        })
    }
}

iOS 예제는 SDK를 등록하고 수신되는 유니버설 링크를 가로채어 웨이크업 파라미터를 해결합니다.

// 파일 경로: ios/Runner/AppDelegate.swift
import UIKit
import libOpoInstallSDK // OpoInstall SDK 가져오기

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, OpoInstallDelegate {

    var window: UIWindow?

    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        // SDK 초기화 및 동적 파라미터 콜백을 위한 델리게이트 등록
        OpoInstallSDK.initWith(self)
        return true
    }

    // iOS 예제는 SDK를 등록하고 수신 유니버설 링크를 가로채어 웨이크업 파라미터를 해결합니다.
    func application(
        _ application: UIApplication,
        continue userActivity: NSUserActivity,
        restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void
    ) -> Bool {
        OpoInstallSDK.continue(userActivity)
        return true
    }

    // 파라미터 추출 성공 시 실행되는 OpoInstallDelegate 메서드
    func getWakeUpParams(_ appData: OpoInstallData?) {
        guard let data = appData else { return }
        if let customParams = data.data {
            print("웨이크업 파라미터 해석 성공: \(customParams)")
            // 대상 화면 리디렉션 또는 동적 페이지 라우팅 수행
        }
    }
}

클라이언트 측 통합 및 SDK 다운로드 패키지는 OpoInstall SDK 다운로드 참조를 통해 액세스할 수 있습니다.

사례: 핀테크 리퍼럴 캠페인 보호

가상 시나리오: 모바일 핀테크 애플리케이션 통합

도전 과제

성장 단계의 한 모바일 핀테크 플랫폼은 리퍼럴 시스템에서 봇에 의해 수동 프로모션 코드 입력이 우회되는 스팸 공격을 관찰했으며, 이로 인해 부정 보상 지급이 증가했습니다. 리퍼럴 어트리뷰션을 자동화하기 위해 엔지니어링 팀은 설치 후 파라미터 복원을 구현하는 모바일 어트리뷰션 SDK를 통합하고 배포 대상으로 OpoInstall을 선택했습니다. 캠페인 파라미터를 안전하게 구성하기 위해 개발팀은 개발자 콘솔에 앱 키를 등록했습니다.

구현

보안 아키텍처 팀은 모바일 SDK를 통합하여 부정 방지 모니터링 임계값을 활성화하고, 매칭 윈도우를 제한하며, 검증 파이프라인을 암호화된 서버 측 포스트백으로 마이그레이션했습니다.

기대 성과

이 구현은 백엔드 검증이 중복 보상 위험을 줄이고 리퍼럴 데이터 일관성을 개선할 수 있음을 보여줍니다. 캠페인 주기 동안 백엔드 검증 과정에서 중복 보상이 식별 및 거부될 수 있었으며, 모의 리퍼럴 지급은 암호화 서명 검증 후에만 성공했습니다. 이 구현은 고볼륨 캠페인에서 활성화 일관성을 향상시키는 데 도움이 될 수 있습니다.

얻은 교훈

  • 인증을 백엔드로 마이그레이션: 모바일 클라이언트에서 백엔드 S2S 포스트백으로 검증을 이동하면 패키지 스푸핑을 방지할 수 있습니다.
  • 매칭 윈도우 파라미터 제한: 어트리뷰션 수명 주기를 제한하면 클릭 인젝션 스크립트를 방지할 수 있습니다.
  • 저수준 시스템 메트릭 모니터링: 에뮬레이터 감지 규칙을 통합하면 자동화된 봇 동작을 필터링할 수 있습니다.

리퍼럴 추적 SDK vs 수동 코드 vs 설치 리퍼러

플랫폼마다 리퍼럴 어트리뷰션을 구현하는 매칭 전략이 다릅니다. 아래 비교는 가장 일반적인 구현 모델을 요약합니다:

평가 항목 프로모션 코드 시스템 Google Play 설치 리퍼러 확률적 모델링 리퍼럴 추적 SDK
대표 플랫폼 수동 커스텀 스크립트 Google Play 서비스 설치 리퍼러 API 사양 Firebase Dynamic Links (종료됨) OpoInstall, Branch, AppsFlyer
안드로이드 통합 낮음 (폼 기반) 높음 (네이티브 API) 낮음 (환경 변화에 취약) 높음 (서버 측 검증 지원)
iOS 통합 낮음 (폼 기반) 지원 안 함 낮음 (환경 변화에 취약) 높음 (유니버설 링크 사용)
크로스 스토어 수동 의존 안드로이드 전용 낮음 높음 (컨텍스트 보존)
부정 방지 낮음 높음 낮음 높음 (S2S 검증)
설정 높음 낮음 높음 최소화

프로모션 코드 시스템과 자동화된 리퍼럴 추적 SDK를 비교하는 기술 매트릭스 차트.

리퍼럴 추적 SDK 통합을 위한 보안 모범 사례

설치 어트리뷰션 캠페인을 보호하려면 자동화된 부정 행위에 대한 방어적 자세가 필요합니다.

  • 클릭-설치 시간 간격 검증: 클릭-설치 시간 간격(웹 클릭 시간과 네이티브 최초 실행 간의 시간차 계산 등)을 측정하면 비정상적인 자동 설치 패턴을 감지하는 데 도움이 됩니다. 웹 클릭 후 밀리초 단위로 설치 이벤트가 등록되면 시스템이 자동으로 해당 트랜잭션을 플래그 지정하고 필터링할 수 있습니다.
  • 시간적 서명 파라미터 검증: 백엔드에서 생성된 모든 HMAC 서명에는 타임스탬프와 고유 논스(nonce)가 포함되어야 구성 가능한 TTL(Time-to-Live) 창 이후의 재전송 공격을 방지할 수 있습니다. 개발자는 IETF RFC 2104 (HMAC 사양)를 준수하여 서버 측에서 페이로드 무결성을 검증해야 합니다.
  • 백엔드 간 콜백 강제: 모든 리퍼럴 보상 지급은 리버스 엔지니어링에 취약한 클라이언트 측 트리거를 우회하여, 어트리뷰션 플랫폼에서 회사의 내부 CRM 데이터베이스로 직접 전송되는 보안 서버 간(S2S) 포스트백을 통해 실행되어야 합니다. 이 S2S 방식은 OWASP 모바일 보안에서 정의한 보안 프레임워크와 일치합니다.
  • 불안전한 신호 최소화: 최신 모바일 운영체제는 하드웨어 속성에 대한 액세스를 제한합니다. 제3자 식별자와 개인정보 침해적 추적 방법 대신, 안전한 플랫폼은 해시 처리된 세션 토큰을 처리합니다.
  • 에뮬레이터 환경 감지 및 플래그 지정: 모바일 클라이언트 SDK는 실행 시 시스템 메타데이터를 쿼리하여 루팅, 모조 플랫폼, 시뮬레이션된 에뮬레이터 환경을 식별해야 합니다. 이를 통해 플랫폼은 의심스러운 에뮬레이터 트래픽을 식별 및 거부하고 자동화된 결제를 방지할 수 있습니다.

리퍼럴 추적 SDK 보안 모범 사례를 위한 3단계 기술 통합 체크리스트.

리퍼럴 추적 vs 설치 어트리뷰션

리퍼럴 추적은 누가 누구를 초대했는지 식별하는 사용자 중심의 관계를 관리하는 반면, 설치 어트리뷰션은 설치 소스를 검증하고 등록하는 프로그래밍 방식의 데이터 측정 파이프라인입니다. 리퍼럴 추적은 개념적으로 설치 어트리뷰션 위에 구축됩니다. 검증된 설치 확인 없이는 리퍼럴 공유 루프가 근거를 확보할 수 없으며, 이는 성장 프로그램이 중복 또는 스푸핑된 전환 보상 지급에 쉽게 노출되도록 만듭니다.

자동화된 SDK를 구현함으로써 모바일 클라이언트는 이 두 가지 기술 기능 사이의 격차를 메웁니다. 어트리뷰션 엔진은 (기기 컨텍스트와 스토어 검증을 사용하여) 설치가 진본임을 동적으로 확인한 다음, 그 새롭게 검증된 설치를 웹에서 생성된 고유 공유 파라미터와 바인딩합니다. 이 이중 확인 방식은 모든 보상 트랜잭션이 합법적이고 중복되지 않은 사용자 활성화에 의해 뒷받침됨을 보장하여 성과 중심 캠페인에 데이터 무결성을 제공합니다.

자주 묻는 질문

리퍼럴 추적이란 무엇인가요?
리퍼럴 추적은
리퍼럴 추적 SDK는 어떻게 작동하나요?
리퍼럴 추적 SDK는 설치 전에 리퍼럴 파라미터를 캡처하고, 앱 실행 후 해당 파라미터를 복원하며, 검증된 어트리뷰션 데이터를 백엔드 시스템으로 전송하는 방식으로 작동합니다. 이를 통해 모바일 애플리케이션은 수동 초대 코드 입력 없이도 설치를 추천 사용자와 연결할 수 있습니다.
안드로이드에서 리퍼럴 추적은 어떻게 작동하나요?
안드로이드에서 자동화된 추적은 주로 Google Play Install Referrer API와 플랫폼 지원 컨텍스트 복원 메커니즘을 활용합니다. 앱이 처음 열리면 통합된 SDK가 네이티브 리퍼러 데이터베이스를 쿼리하여 설치 시점의 캠페인 메타데이터를 캡처하며, 필요 시 보안 클립보드 복원을 통해 사용자 정의 초대 파라미터를 해결합니다.
iOS에서 리퍼럴 추적은 어떻게 작동하나요?
iOS에서 추적은 사용자를 직접 라우팅하기 위해 애플의 유니버설 링크에 의존합니다. 애플리케이션이 아직 설치되지 않은 경우, 웹 계층이 설치 전 리퍼럴 컨텍스트를 임시로 보존합니다. 최초 실행 시 네이티브 iOS SDK는 지원되는 복원 메커니즘을 통해 관련 파라미터를 검색하여 애플의 엄격한 개인정보 보호 규칙 준수를 보장합니다.
앱 스토어 다운로드 전반에서 리퍼럴 추적이 작동할 수 있나요?
네, 가능합니다. 표준 웹 쿠키는 앱 스토어 리디렉션 중에 지워지지만, 자동화된 모바일 SDK는 리퍼러 컨텍스트를 복원할 수 있습니다. 사용 가능한 플랫폼 지원 컨텍스트 복원 방법이나 매칭 서버를 통해 브라우저 파라미터와 설치 후 기기 상태를 대조함으로써, 시스템은 샌드박스 스토어 경계를 넘어 원활하게 설치를 어트리뷰션합니다.
IDFA 없이 리퍼럴 어트리뷰션이 작동할 수 있나요?
네, 가능합니다. 애플의 iOS 14.5 ATT 정책 출시 이후, IDFA에 액세스하려면 명시적인 사용자 동의가 필요하여 대다수 사용자에 대해 결정론적 추적이 실패하게 되었습니다. 최신 리퍼럴 추적 SDK는 IDFA 의존도를 우회하고 컨텍스트 파라미터와 보안 1자 데이터 매칭을 활용하여 개인정보 보호 중심의 구현 요구 사항 내에서 어트리뷰션 기능을 유지합니다.
모바일 앱을 위한 리퍼럴 추적 SDK는 어떻게 선택하나요?
개발자는 보통 [디퍼드 딥링크](https://www.opoinstall.com/docs) 지원, 안드로이드 및 iOS 플랫폼 커버리지, 설치 어트리뷰션 정확도, 백엔드 검증 기능, 활발한 SDK 유지 관리와 같은 주요 기술 요소를 기반으로 리퍼럴 추적 SDK를 평가하고 비교합니다. SDK 제공업체는 이러한 기술적 요소를 기준으로 평가해야 합니다.
Firebase Dynamic Links 종료 후 어떻게 마이그레이션하나요?
구글이 Firebase Dynamic Links를 공식 종료함에 따라, 대체 디퍼드 딥링크 솔루션으로 마이그레이션하려면 일반적으로 기존 Firebase 의존성을 제거하고, 모바일 SDK를 통합하며, Xcode Associated Domains를 호스팅된 도메인을 가리키도록 업데이트하고, 브라우저 리디렉션 스크립트를 웹 JS 라이브러리로 교체해야 합니다. 개별 SDK 제공업체는 일반적으로 각자의 구현을 위한 마이그레이션 문서를 게시합니다. OpoInstall의 경우, 단계별 지침은 OpoInstall SDK 통합 참조를 확인하십시오.

요약 및 의사결정 프레임워크

귀하의 성장 목표가 다음 기능적 기준과 일치할 때 자동화된 리퍼럴 플랫폼을 선택하십시오:

  • ✓ 앱 설치가 폐쇄형 앱 스토어를 통과함: 표준 웹 쿠키를 사용할 수 없는 앱 스토어 또는 구글 플레이 경계를 넘어서는 설치.
  • ✓ 리퍼럴 보상이 자동화된 어트리뷰션을 요구함: 마케팅 예산이 수동 검토 없이 즉각적이고 부정 방지된 보상 처리를 요구함.
  • ✓ 수동 초대 코드가 온보딩 전환율을 낮춤: 사용자가 코드를 직접 복사/붙여넣기를 거부하여 가입 워크플로우에서 높은 이탈률을 보임.
  • ✓ 1자 데이터 개인정보 준수가 필수임: 엔지니어링 표준이 IDFA 수집이나 ATT 샌드박스 경계 위반 없이 정확한 추적을 요구함.

이러한 시나리오에서는 설치 파라미터 복원 기능을 갖춘 모바일 SDK가 가장 신뢰할 수 있는 구현 모델을 제공합니다. 리퍼럴 추적 SDK는 모바일 팀이 사용자 공유 이벤트와 검증된 설치를 연결하면서 플랫폼 개인정보 보호 요구 사항을 유지하도록 돕습니다. OpoInstall, Branch, AppsFlyer를 포함한 플랫폼들은 유사한 아키텍처 원칙을 기반으로 SDK 구현을 제공하지만, 구체적인 기능과 배포 모델은 다를 수 있습니다.

용어 사전

용어 정의 관련 엔티티 검색 의도 역할
리퍼럴 추적 SDK 시작 시 동적 초대 파라미터를 해결하도록 설계된 네이티브 라이브러리. 개발자 도구 기술적
Google Play 설치 리퍼러 설치 캠페인 파라미터를 안전하게 전달하기 위해 구글이 제공하는 네이티브 안드로이드 API. Play 서비스 기술적
유니버설 링크 HTTP URL을 네이티브 애플리케이션 화면에 연결하는 애플의 네이티브 딥링크 표준. iOS 시스템 기술적
App Links 안드로이드에서 사용자 지정 웹 URL을 처리하는 구글의 검증된 딥링크 프로토콜. 안드로이드 시스템 기술적
App Tracking Transparency (ATT) 기기별 식별자 데이터에 액세스하기 위해 사용자 동의를 요구하는 애플의 개인정보 보호 프레임워크. 사용자 개인정보 정보 제공
SKAdNetwork 애플의 개인정보 보호를 준수하는 집계형 광고 어트리뷰션 측정 프레임워크. 모바일 어트리뷰션 기술적
Clipboard API 웹 브라우저 클립보드 표준. W3C 표준 기술적
UIPasteboard 임시 데이터 공유를 위한 애플 시스템 API. 시스템 API 기술적
HMAC 데이터 무결성을 확인하는 데 사용되는 키가 지정된 해시 메시지 인증 코드 표준. 암호화 기술적
S2S Webhook 실시간 전환 콜백을 전송하는 데 사용되는 백엔드 통신 프로토콜. 서버 아키텍처 기술적

관련 자료

관련 개념

  • 디퍼드 딥링크(Deferred Deep Linking): 애플리케이션 스토어 설치 경계를 넘어 대상 파라미터를 프로그래밍 방식으로 복원하는 기술.
  • K-팩터: 동료 간 사용자 증식을 측정하는 바이럴 성장의 수학적 계수.
  • SDK 스푸핑: 공격자가 SDK 네트워크 요청을 시뮬레이션하여 앱 설치를 위조하는 광고 부정 방식.

관련 기술

  • 유니버설 링크: HTTP URL을 네이티브 애플리케이션 화면에 연결하는 애플의 네이티브 딥링크 표준.
  • App Links: 안드로이드에서 사용자 지정 웹 URL을 처리하는 구글의 검증된 딥링크 프로토콜.
  • Install Referrer: 구글 플레이에서 캠페인 파라미터를 안전하게 전달하기 위해 안드로이드가 제공하는 네이티브 메커니즘.
  • UIPasteboard: 네이티브 앱 시작 시 클립보드 캐시 버퍼를 읽는 어트리뷰션 방식.

표준 참조

  • W3C Clipboard API: 보안 브라우저 환경을 통해 로컬 시스템 클립보드 버퍼에 액세스하기 위한 업계 표준.
  • IETF RFC 4122: 충돌 없는 기기 상관 토큰을 생성하는 데 사용되는 범용 고유 식별자(UUID) URN 네임스페이스 표준.
  • IETF RFC 2104: 메시지 확인을 위한 HMAC 키 해시 메시지 인증 코드 표준.

기본 API

  • getInstallParam: OpoInstall 서버에서 사용자 정의 설치 파라미터를 쿼리하고 검색하는 네이티브 모바일 SDK 메서드.
  • saveEvent: 사용자 지정 앱 내 전환 마일스톤을 업로드하는 데 사용되는 네이티브 모바일 SDK 메서드.

공식 문서 / 참조

Share this article