• 개발자 가이드
  • SDK Integration
  • Expo SDK

트러블 슈팅 - 엑스포 SDK

문제 현상

Password AutoFill 기능으로 저장된 암호의 도메인이 airbridge.io 또는 abr.ge로 보이는 현상이 앱을 사용하는 유저에게 발생할 수 있습니다.

발생 원인

에어브릿지 SDK의 딥링크를 설정한 후에 Password AutoFill 기능을 활용하면 도메인이 에어브릿지 딥링크의 앱 링크(applinks) 도메인 airbridge.io 또는 abr.ge로 저장됩니다.

해결 방법

Password AutoFill에 사용하는 webcredentials 도메인을 설정하면 문제를 해결할 수 있습니다.

1. 암호를 저장하는 도메인을 준비해주세요.

2. 아래 JSON을 https://YOUR_DOMAIN/.well-known/apple-app-site-associationContent-Type: application/json으로 호스팅합니다. 준비한 도메인이 YOUR_DOMAIN입니다.

애플 개발자 대시보드의 [Identifiers]>[YOUR_APP]에서 App ID Prefix, Bundle ID를 확인할 수 있습니다.

12345
{
    "webcredentials": {
        "apps": ["YOUR_APP_ID_PREFIX.YOUR_BUNDLE_ID"]
    }
}

3. Xcode의 [YOUR_PROJECT]>[Signing & Capabilities]로 이동합니다.

4. '+ Capability'를 클릭해 Associated Domains를 추가합니다. Associated Domains에 webcredentials:YOUR_DOMAIN을 입력합니다.

문제 현상

App Store에 앱 업로드 시 Xcode에 Airbridge framework에 dSYM이 포함되어 있지 않다는 경고 메세지가 나타나는 현상

발생 원인

Airbridge iOS SDK에서 dSYM을 지원하고 있지 않습니다.

해결 방법

다음 버전에서 dSYM 지원을 개발 중에 있습니다. 해당 경고는 무시해 주세요.

문제 현상

기존에 expo-route 를 사용중인 경우 SDK 설치 후 expo-route 기능이 동작 하지 않습니다.

발생 원인

Airbridge tracking link 를 통해서 app 진입 시 진입한 링크를 airbridge 를 통해서 scheme deeplink 로 변환 처리 후 route 처리가 되어야 합니다. 그러나 expo-router 로 인해 route 처리가 중복, 잘못된 이동 등과 같은 옳지 않은 방향으로 처리 될 수 있습니다.

그리하여 Airbridge Expo SDK 에서 Deeplink 를 route 처리되도록 설계 되었습니다.

해결 방법

아래 코드와 같이 Airbridge.setOnDeeplinkReceived 내에서 route 되도록 처리 해주세요.

123456789
import { Airbridge } from 'airbridge-react-native-sdk';
import * as Router from 'expo-router';

const router = Router.useRouter();

Airbridge.setOnDeeplinkReceived((result) => {
  // route deeplink
  router.push(...);
});