menu 이용가이드
close
심화기능 chevron_right iOS SDK 심화기능
iOS 딥링크 설정
iOS 플랫폼에서 딥링크를 설정하는 방법에 대한 안내입니다.

연동 준비

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

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

(현재 등록된 Custom URI Schema는 Xcode의 ‘Info’ 탭 하단에서 확인할 수 있습니다.)

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

에어브릿지는 Universal Link 방식의 딥링크 연동을 지원합니다. Universal Link는 iOS 사파리(Safari) 브라우저 환경에서 HTTPS 프로토콜을 갖춘 인증된 링크의 클릭만으로도 앱이 설치되어 있을 경우에는 앱 내로 사용자를 보내고, 앱이 설치되어 있지 않은 경우 ‘원하는' 대체 링크(Fallback)로 사용자를 보낼 수 있도록 도와줍니다.

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

Xcode에서 YOURAPPNAME.airbridge.io 도메인을 설정에 추가

에어브릿지의 트래킹 링크는 https://YOURAPPNAME.airbridge.io 형태를 가지고 있습니다. 따라서 사용자는 우선 Xcode의 ‘Capabilities’탭의 ‘Associated Domains’ 섹션에서 “applinks:YOURAPPNAME.airbridge.io”를 추가해야 합니다. (YOURAPPNAME(앱 영문명)은 '앱정보 관리 > 앱 기본 정보'에서 확인할 수 있습니다.)

에어브릿지 대시보드에 appID 등록

또한 사용자는 appID를 에어브릿지 대시보드에 등록해야 합니다. appID는 team ID를 넣거나 혹은 app ID prefix를 bundle ID와 조합한 값으로 애플 개발자 사이트에서 Certificates, Identifiers & Profiles > Identifiers > App IDs > 해당 앱으로 들어갈 시 확인할 수 있습니다. (확인하기)

플랫폼 받아야 할 정보 해당 값 예시
iOS
(Universal Link)
appID 9JA89QQLNQ.com.apple.wwdc


예컨대 위의 스크린샷에서 보면 Prefix와 ID를 ‘.’을 구분자로 합친 값이 appID가 됩니다. 이 appID를 에어브릿지 대시보드 > 딥링크 설정 > iOS appID 란에 입력해주십시오.

에어브릿지 대시보드에 등록 이후에 http://YOURAPPNAME.airbridge.io/.well-known/apple-app-site-association 형식의 링크로 접속하여 Universal Link 연동을 위한 모든 정보가 잘 들어있는지 테스트할 수 있습니다. (YOURAPPNAME에는 해당 앱 영문명을 넣어주시면 됩니다.)

딥링크 핸들링

에어브릿지는 기존의 핸들링 파트에 에어브릿지 코드 추가를 통해 딥링크 실행을 추적하는 ‘자체 핸들러에 에어브릿지 코드 추가' 방식을 지원합니다. 이 경우 Custom URI 방식과 Universal Links 방식의 delegate이 따로 있기 때문에, 유의할 점은 둘 다 추가해주셔야 한다는 것입니다.

자체 핸들러에 에어브릿지 코드 추가

기존에 자체적으로 딥링크를 처리하는 delegate 안에 아래와 같은 매소드를 호출해주세요.

[[AirBridge instance] setdeeplinks:url];

실제 적용 예시는 아래와 같습니다.

Custom URI Delegate ( For supporting upper iOS 9.0 )

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
    [[AirBridge instance] setdeeplinks:url];
    /* else actions */
  .
}

Custom URI Delegate ( For supporting under iOS 9.0 )

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    [[AirBridge instance] setdeeplinks:url];
    /* else actions */
    .
    return YES;
}
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler {
    .
    [[AirBridge instance] setdeeplinks:userActivity.webpageURL];
    /* else actions */
   .
}

Facebook Applinks 연동하기

Facebook으로부터 딥 링크를 받으려면, Facebook에서 제공하는 지연된 딥 링크 기능을 사용하지 말아야 합니다. FBSDKAppLinkUtility의 fetchDeferredAppLink: 메소드 사용을 중지해주시고, 대신 Airbridge 핸들러를 사용해주세요. 코드 레벨에서의 더욱 자세한 적용은 이 링크에서 확인하실 수 있습니다.

검색결과
keyboard_return이전으로