menu 이용가이드
close
Advanced features chevron_right Android SDK advanced
Android 딥링크 설정
Android 플랫폼에서 딥링크를 설정하는 방법에 대한 안내입니다.

연동 준비

Custom URI Scheme 방식의 딥링크 연동하기

연동을 위해서는 기존 앱의 Custom URI Schema (ex. your-app-name://)를 에어브릿지 대시보드에 등록해줘야 합니다.

등록이 완료될 경우 JS 분기 방식을 통한 딥링크 사용이 활성화되며, 마케터들이 대시보드에서 트래킹링크를 생성 시 딥링크에 대한 path와 query string 파라미터를 입력하여 사용할 수 있게 됩니다. (Custom URI Scheme 혹은 SHA256 핑거프린트 중 1개 이상 연동 필수)

에어브릿지는 Android Applinks 방식의 딥링크 연동을 지원합니다.

Android Applinks 연동이 완료될 경우 HTTPS 분기 방식을 통한 딥링크 사용이 활성화되며, 마케터들이 대시보드에서 트래킹링크를 생성 시 딥링크에 대한 path와 query string 파라미터를 입력하여 사용할 수 있게 됩니다. (Custom URI Scheme 혹은 SHA256 핑거프린트 중 1개 이상 연동 필수) 연동 절차는 아래와 같습니다.

AndroidManifest.xml에 URI 매핑 추가

에어브릿지 딥링크를 통해 연결하고자 하는 Activity에 다음과 같이 인텐트 필터를 등록해 주세요. 반드시 YOUR_APP_NAME 부분을 에어브릿지 대시보드에 등록된 앱 영문명으로 바꿔야 합니다.

<activity android:name=".ContentActivity" >
     <intent-filter android:autoVerify="true">
         <action android:name="android.intent.action.VIEW" />
         <category android:name="android.intent.category.DEFAULT" />
         <category android:name="android.intent.category.BROWSABLE" />

         <data android:scheme="https" />
         <data android:host="YOUR_APP_NAME.airbridge.io" />
     </intent-filter>
</activity>

에어브릿지 대시보드에 SHA256 핑거프린트 등록

딥링크 기능을 사용하려면 앱을 서명한 키의 SHA256 핑거프린트를 등록해야 합니다. 이 정보는 Android의 Digital Asset Links Verification 과정에 의해, 신뢰할 수 있는 앱 링크를 판별하는 데 사용됩니다.

플랫폼 받아야 할 정보 해당 값 예시
android
(App Links)
https 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5


릴리즈 키 등록하기
앱을 배포할 때는 디버그 키가 아닌 .jks 확장자의 릴리즈 키로 사인을 하게 됩니다. 이 릴리즈 키도 동일한 방법을 통해 등록해야 합니다.

Google Play App Signing 기능을 사용하시는 경우, APK가 스토어에 업로드되는 과정에서 서명이 변경되기 때문에 해당 키도 등록해야 합니다.

다음 명령을 실행하신 후, SHA256 란을 복사해, 에어브릿지 대시보드 > 딥링크 설정 > SHA256 핑거프린트란에 등록해주세요.

keytool -list -v -keystore my-release-key.keystore

에어브릿지 대시보드 등록 이후에, Digital Asset Links Tester를 통해 정보가 제대로 반영되었는지 확인할 수 있습니다. (Hosting Site Domain : YOURAPPNAME.airbridge.io)

※ 주의 : 현재 에어브릿지 Android Applinks 지원 시스템은 단 1개의 핑거프린트 등록만을 지원하고 있습니다. 이 기능은 추후 여러 개의 핑거프린트를 등록할 수 있도록 개선될 예정이며, 따라서 현재는 릴리즈 키만을 등록하는 기능을 제공하고 있습니다.

딥링크 핸들링

에어브릿지가 딥링크 실행을 추적하려면 딥링크 핸들러에 코드를 추가해야 합니다.

액티비티에서 핸들링

딥링크를 받는 액티비티에 Intent가 들어왔을 때, Tracker#onNewIntent 메서드를 호출해 주세요.

@Override
public void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    ...
    AirBridge.getTracker().onNewIntent(getIntent());
}

@Override
public void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    AirBridge.getTracker().onNewIntent(intent);
}

수동 핸들링

액티비티 이외의 곳에서 딥링크를 받는다면, DeepLinkLaunchEvent 를 직접 발송해 주세요.

AirBridge.getTracker().send(new DeepLinkLaunchEvent(String uri));

Facebook Applinks 연동하기

Facebook으로부터 딥링크를 받으려면, Facebook에서 제공하는 지연된 딥링크 기능을 사용하지 말아야 합니다.
AppLinkData.fetchDeferredAppLinkData 메서드를 호출하지 말아주세요. 코드 레벨에서의 더욱 자세한 적용은 이 링크에서 확인하실 수 있습니다.

에어브릿지 이외의 외부 딥링크 필터링하기

에어브릿지는 안드로이드 구글플레이스토어와 외부 딥링크에 대해서 에어브릿지 파라미터가 없더라도, UTM 파라미터가 포함되어 있을 경우 해당 링크를 자동 파싱하여 통계처리하는 기능을 제공합니다.

이 중 외부 딥링크에 대한 수집과 통계 처리를 하지 않기 위해서는 DeepLink.isFromAirbridge(Intent) 메서드를 통해 외부 딥링크를 수동으로 필터링해 주시거나 DeepLink.trackAirbridgeOnly() 메서드를 에어브릿지 초기화 이후에 호출해 주세요.

이 방법을 통하여 원하지 않는 외부 딥링크까지 통계에 잡히거나 로그로 쌓이는 것을 방지할 수 있습니다.

// 자동
AirBridge.init(this, );
DeepLink.trackAirbridgeOnly();

// 수동
if (DeepLink.isFromAirbridge(getIntent()) {
    AirBridge.getTracker().send(new DeepLinkLaunchEvent(intent.toDataString()));
}
검색결과
keyboard_return이전으로