2020년 3월 1일 이후로 아래의 방법으로 referrer 정보를 얻으실 수 없습니다.
변경된 방법은 이 링크에서 확인하실 수 있습니다.
----------
구글 마켓으로 부터 앱이 설치되었더라도 그 전에 어떤 경로를 통해 마켓으로 진입해 왔는지 그 정보를 얻는 방법이 있습니다.
아래는 그 방법과 테스트 방법을 설명합니다.
1. 아래와 같이 BroadcastReceiver 를 위한 XML코드를 AndroidManifest.xml 에 추가합니다.
<receiver android:name=".MyReceiver" android:enabled="true" android:exported="true" android:permission="android.permission.INSTALL_PACKAGES"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver>
2. BroadcastReceiver 를 상속받은 MyReceiver 코드를 아래와 같이 추가, 작성합니다.
public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if( intent != null ) { if (intent.getAction().equals("com.android.vending.INSTALL_REFERRER")) { //아래와 같이 referrer 정보를 얻을 수 있습니다 Log.d("MyReceiver", "referrer " + intent.getStringExtra("referrer")); } }
3. 테스트 방법은 아래와 같습니다. adb shell 에서 아래의 명령으로 자신의 앱을 실행합니다.
am broadcast -a com.android.vending.INSTALL_REFERRER -n org.airpage.app/.MyReceiver --es "referrer" "from=blahblah&version=1.0"