Referrer란?
사용자가 플레이스토어를 통해서 앱을 설치하는 유입경로를 분석하기 위해 쓰이는 값
쓰는 방식
1. URL에 Referrer 값 추가
https://play.google.com/store/apps/details?id=(패키지명)?referrer=(사용할 referrer 값)
- 출시된 앱의 고유 URL 뒤에 "?referrer=(사용할 referrer값)" 을 붙여서 사용
- referrer값은 임의로 설정
예시) https://play.google.com/store/apps/details?id=(패키지명)?referrer=participateID=1234
2. 앱단 코딩
리시버 추가
public class InstallReferrerReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String referrer = "";
if(intent.getAction().equals("com.android.vending.INSTALL_REFERRER")) {
Bundle bundle = intent.getExtras();
referrer = bundle.getString("referrer");
Log.i("LOG", "Referrer: " + referrer);
}
}
}
- referrer 값이 있는 경우, 앱단에서 bundle로 값을 받아볼 수 있음
예시) 앱을 1번 예시의 URL로 설치했을 경우, "participateID=1234" 값이 들어오게 됨
매니페스트
<receiver
android:name="(패키지명).receiver.InstallReferrerReceiver"
android:permission="android.permission.INSTALL_PACKAGES"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
테스트 (ADB)
1. 커맨드 창 실행 후 adb가 있는 곳으로 이동
adb 위치 => C:\Users\puch9\AppData\Local\Android\Sdk\platform-tools
2. platform-tools 내에서 해당 명령어 입력
adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n (패키지명)/(리시버 명) --es "referrer" "(레퍼러로 전달할 값)"
- (리시버 명): 경로까지 전체다 적어야 한다. 예를 들어, 리시버 명이 "InstallReferrerReceiver" 일 경우, "com.example.receiver.InstallReferrerReceiver" 이런식으로
'안드로이드' 카테고리의 다른 글
[Android] SNS 로그인 키해시(key hash) 추출 (0) | 2020.05.21 |
---|---|
[Android] 인앱결제 예제 (BillingClient 사용) - 관리되는 제품 코드 (3) | 2020.04.14 |
[Android] 인앱결제 예제 (BillingClient 사용) - 판매자 계정 설정 , 아이템 등록 (0) | 2020.04.13 |
[Android] 상태바 색상 변경 (api 21 이상) (0) | 2020.04.09 |
[Android] JSONObject["value"] not a string. 예외 (0) | 2020.04.08 |