본문 바로가기
블로그 관리/모바일 마케팅

[용어 정리 #4] Android Install Referrer API

by Kibua20 2020. 5. 31.

앞서 설명한 UTM Campaign은 디지털 마케팅에서 범용으로 사용되는 방법이라면, Android Referrer는 Android 스마트폰에서 구체화된 방법이다.  본 게시글을 읽기 전에 이전에 정리한 블로그를 먼저 확인 바란다. 

 

<이전 글>

[모바일][용어 정리 #3] Deep link / App link

[모바일][용어 정리 #2] UTM (Urchin Tracking Module) campaign

[모바일][용어 정리 #1] Google 광고 ID / 추적 URL / 리퍼러 / 추적 알고리즘

 

Android Install referrer는 Google PlayStore 를 통해서 실치하는 유입 경로를 분석할 수 있다. Google Playstore에서 앱을 설치하는 경우 해당 App의  Intent reciever를 통해서 referrer 정보는 전달한다. 이 방식은 다른 앱 트래킹 방식에 비해서 정확도가 높다. 하지만, Android PlayStore 이외에 PC나 모바일 Web site Web 에서 설치하는 경우 지원되지 않고, I-OS 에서는 Android referrer와 유사한 방법을 제공하지 않는다. 한마디로  Android Playstore에 국한된 법이다. 

 

 

Google Play 스토어의 Install Referrer API를 사용하여 Google Play에서 다음과 같은 내용을 확인할 수 있다. 

  • 앱 설치 URL: 설치된 패키지의 리퍼러 URL (어디서 설치했는지)
  • Referrer 설치 시간: 리퍼러 클릭이 발생한 시간(초)의 타임 스탬프 (언제 설치했는지)
  • Install 설치 시간: 설치가 시작된 시간(초)의 타임스탬프
  • 사용자 사용 여부: 사용자가 지난 7일 동안 앱의인스턴트 환경과 상호작용했는지 여부

기존에는 "com.android.vending.INSTALL_REFERRER" intent를 처리해야 했으나, 지금은 intent 방식은 지원하지 않고, 반드시 Intall Receiver API를 사용해야 한다.  

"2019년 12월 11일, Google 개발자 콘솔을 통해 인스톨 브로드캐스트의 동작 방식 변경에 대한 공지사항이 올라왔습니다. 2020년 3월 1일부로 업데이트되는 구글 플레이 버전부터는 "com.android.vending.INSTALL_REFERRER" 를 사용하는 브로드캐스트 리시버로 구글 인스톨 리퍼러 정보를 전달하지 않습니다". (출처)

 

Play Install Referrer API를 사용해서  클라이언트 라이브러리를 AIDL로 서비스를 가져와서  Play Install Referrer API 를 사용할 수 있다. 

 

1. 앱 build.gradle 파일의 종속성 섹션에 다음 행을 추가합니다.

    dependencies {
        ...
        implementation 'com.android.installreferrer:installreferrer:1.1'
    }
    

2. 개발 중인앱과  Play 스토어 앱과 AIDL 서비스 연결하여 Play Install Referrer API 라이브러리를 사용

    InstallReferrerClient referrerClient;

    referrerClient = InstallReferrerClient.newBuilder(this).build();
    referrerClient.startConnection(new InstallReferrerStateListener() {
        @Override
        public void onInstallReferrerSetupFinished(int responseCode) {
            switch (responseCode) {
                case InstallReferrerResponse.OK:
                    // Connection established.
                    break;
                case InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
                    // API not available on the current Play Store app.
                    break;
                case InstallReferrerResponse.SERVICE_UNAVAILABLE:
                    // Connection couldn't be established.
                    break;
            }
        }

        @Override
        public void onInstallReferrerServiceDisconnected() {
            // Try to restart the connection on the next request to
            // Google Play by calling the startConnection() method.
        }
    });
    

3. Play 스토어 앱에 연결을 설정한 후 다음 단계를 완료하여 설치 리퍼러에서 세부정보를 가져옵니다.

    ReferrerDetails response = referrerClient.getInstallReferrer();
    String referrerUrl = response.getInstallReferrer();
    long referrerClickTime = response.getReferrerClickTimestampSeconds();
    long appInstallTime = response.getInstallBeginTimestampSeconds();
    boolean instantExperienceLaunched = response.getGooglePlayInstantParam();
    

주석) 기존 com.android.vending.INSTALL_REFERRER Intent 방식에서는 referrer URL (=compaign 정보)를 그대로 가져왔는나 AIDL에서도 그대로 return 하는지는 확인해 볼 필요가 있다. ReferrerDetails class 정의를 보면 compaign URL을 그대로 가져오는 method 존재하지 않는다. 

 

참고로, Android 단말에서는 adb command 로 설치 위치 확인이 가능하다.

# Anroid package manager dump
$  adb shell dumpsys package

Android 에서는 ADB command로 설치 위치 확인 가능

 

* Install referrer 활용 방안

  부정 트래픽 방지 기능 : http://blog.igaworks.com/adbrix_fraud_prevention/ 

   - Click inject 의 원천적인 방지

Google referrer API : 출처  http://blog.igaworks.com/adbrix_fraud_prevention/ 

   - 광고 효율 측정 기준 

 

<관련글>

[모바일/모바일 마케팅 용어정리][용어 정리 #1] Google 광고 ID / 추적 URL / 리퍼러 / 추적 알고리즘

[모바일/모바일 마케팅 용어정리][용어 정리 #2] UTM (Urchin Tracking Module) campaign

[모바일/모바일 마케팅 용어정리][용어 정리 #3] Deep link / App link

[모바일/모바일 마케팅 용어정리][용어 정리 #4] Android 에서 Install Referrer

[모바일/모바일 마케팅 용어정리][용어 정리 #5] Google Analytics 개념 잡기

[모바일/모바일 마케팅 용어정리][용어정리 #6] 백링크 / 역링크




댓글