

이 문서는 기존에 멀티 앱 기능을 사용 중이며, 앱 설정을 유지해야만 하는 경우를 위한 참고용 안내입니다.
하나의 네이티브 앱 키에 여러 플랫폼 정보를 등록하는 멀티 앱 기능은 더 이상 지원하지 않습니다. 기존에 멀티 앱 사용 권한을 가진 앱 키에 한해 멀티 앱 설정(멀티 패키지, 멀티 번들, 멀티 스토어)을 계속 사용할 수 있지만, 해당 키를 삭제하면 멀티 앱 기능을 다시 사용할 수 없으므로 주의합니다.
멀티 앱은 하나의 네이티브 앱 키에 여러 개의 네이티브 앱 정보를 추가 등록하여, 하나의 카카오디벨로퍼스 앱 정보와 네이티브 앱 키로 Kakao SDK를 연동할 수 있게 해주는 기능입니다. 아래와 같은 경우에 사용합니다.
| 서비스 요구 사항 | 멀티 앱이 제공하는 기능 |
|---|---|
| 서비스에서 회원 체계를 공유하는 여러 네이티브 앱을 제공하는 경우 | 하나의 네이티브 앱 키로 서비스의 여러 네이티브 앱에서 카카오 로그인 또는 카카오싱크 적용 가능 |
| 서비스의 여러 네이티브 앱에서 카카오톡 공유나 카카오톡 메시지를 발송하려는 경우 | 하나의 네이티브 앱 키로 카카오톡 공유, 카카오톡 메시지 API를 사용해 메시지 발송 가능 각 메시지의 앱 링크에 원하는 네이티브 앱 링크 개별 설정 가능 |
이 문서는 이해를 돕기 위하여 아래와 같은 용어를 사용합니다.
| 용어 | 설명 |
|---|---|
| 멀티 앱 | 하나의 네이티브 앱 키에 여러 개의 네이티브 앱 정보를 추가 등록하여 Kakao SDK를 연동할 수 있게 해주는 기능 |
| 멀티 패키지 | 앱 관리 페이지의 [앱] > [플랫폼 키] > [네이티브 앱 키]에 여러 네이티브 앱의 패키지명을 등록할 수 있는 기능 |
| 멀티 번들 ID | 앱 관리 페이지의 [앱] > [플랫폼 키] > [네이티브 앱 키]에 여러 네이티브 앱의 번들 ID를 등록할 수 있는 기능 |
| 멀티 스토어 URL | 앱 관리 페이지의 [앱] > [플랫폼 키] > [네이티브 앱 키]에 여러 네이티브 앱의 스토어 URL을 등록할 수 있는 기능 |
| 카카오디벨로퍼스 앱 | 앱 관리 페이지에서 생성한 서비스의 카카오디벨로퍼스 앱 |
| 네이티브 앱 | 서비스의 Android, iOS 앱 |
| 메인 앱 | 서비스의 기본 네이티브 앱 |
| 서브 앱 | 멀티 앱으로 추가 등록된 네이티브 앱 |
앱 관리 페이지의 [앱] > [플랫폼 키] > [네이티브 앱 키]에서 각 네이티브 앱 정보를 추가 설정하여 멀티 앱을 사용할 수 있습니다. 아래 플랫폼별 가이드를 참고하여 멀티 패키지 및 멀티 번들 ID를 설정합니다.
멀티 앱 사용 권한을 받으면 앱 관리 페이지의 [앱] > [플랫폼 키] > [네이티브 앱 키]에서 [멀티 패키지명]과 [멀티 스토어 URL]을 설정할 수 있습니다. 아래를 참고하여 각 항목을 설정합니다.
🅐 패키지명: 메인 앱의 패키지명 입력 🅑 멀티 패키지명: 각 서브 앱의 패키지명 입력, 줄넘김으로 구분하여 여러 개 입력 가능 🅒 스토어 URL: 메인 앱을 다운로드할 수 있는 스토어 URL 입력 🅓 멀티 스토어 URL: 각 서브 앱을 다운로드할 수 있는 스토어 URL 입력, [추가] 버튼을 눌러 스토어 URL 추가 입력 가능 🅔 키 해시: 줄넘김으로 구분하여 여러 개 입력 가능, 키 해시 등록 참고
멀티 앱 사용 권한을 받으면 앱 관리 페이지의 [앱] > [플랫폼 키] > [네이티브 앱 키]에서 [멀티 번들 ID]와 [멀티 스토어 URL]을 설정할 수 있습니다. 아래를 참고하여 각 항목을 설정합니다.
🅐 번들 ID: 메인 앱의 번들 ID 입력 🅑 멀티 번들 ID: 각 서브 앱의 번들 ID 입력, 줄넘김으로 구분하여 여러 개 입력 가능 🅒 iOS 앱, iPad 앱: 메인 앱을 다운로드할 수 있는 스토어 URL 입력 🅓 멀티 스토어 URL: 각 서브 앱을 다운로드할 수 있는 스토어 URL 입력, [추가] 버튼을 눌러 스토어 URL 추가 입력 가능
Kakao SDK로 카카오 로그인 사용 시, 커스텀 URL 스킴을 설정해야 합니다. 커스텀 URL 스킴은 사용자가 카카오톡으로 로그인한 후 서비스의 각 네이티브 앱으로 돌아가거나, 메시지의 앱 링크로 네이티브 앱을 실행할 때 사용됩니다.
멀티 앱 설정으로 멀티 패키지명 및 멀티 번들 ID를 등록한 후, 각 네이티브 앱에 설정해야 할 커스텀 URL 스킴 값을 확인할 수 있습니다. 아래 플랫폼별 가이드에 따라 각 네이티브 앱에 커스텀 URL 스킴을 설정합니다.
앱 관리 페이지의 [앱] > [플랫폼 키] > [네이티브 앱 키]의 [스킴] 목록에서 각 네이티브 앱의 패키지명에 해당하는 커스텀 URL 스킴을 찾아 [복사] 버튼을 눌러 복사합니다.
복사한 커스텀 URL 스킴 값을 각 네이티브 앱의 AndroidManifest.xml에 추가합니다. 아래 예제를 참고하여 카카오 로그인, 카카오톡 공유 중 사용하는 기능의 커스텀 URL 스킴을 각각 추가해야 합니다.
<activity android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- 카카오 로그인 리다이렉트 URI: "${COPIED_CUSTOM_SCHEME}://oauth" -->
<data android:host="oauth" android:scheme="${COPIED_CUSTOM_SCHEME}" />
<!-- 카카오톡 공유: "${COPIED_CUSTOM_SCHEME}://kakaolink -->
<data android:host="kakaolink" android:scheme="${COPIED_CUSTOM_SCHEME}" />
<!-- 카카오톡 채널 간편 추가: "${COPIED_CUSTOM_SCHEME}://channel" -->
<data android:host="channel" android:scheme="${COPIED_CUSTOM_SCHEME}" />
<!-- 배송지 피커: "${COPIED_CUSTOM_SCHEME}://address" -->
<data android:host="address" android:scheme="${COPIED_CUSTOM_SCHEME}" />
</intent-filter>
</activity>
iOS의 경우, 두 가지 설정이 필요합니다.
앱 관리 페이지의 [앱] > [플랫폼 키] > [네이티브 앱 키]의 [스킴] 목록에서 각 네이티브 앱의 번들 ID에 해당하는 커스텀 URL 스킴을 찾아 [복사] 버튼을 눌러 복사합니다.
각 네이티브 앱의 [Target] > [Info] > [URL Types] > [URL Schemes]에 아래와 같이 복사한 커스텀 URL 스킴을 추가합니다.
각 네이티브 앱에서 카카오 로그인 및 카카오톡 공유를 사용하기 위해 앱 실행 허용 목록(Allowlist)을 등록해야 합니다. 설정을 참고해 카카오 로그인과 카카오톡 공유 중 사용하는 기능의 LSApplicationQueriesSchemes 설정을 추가합니다.
Flutter의 경우, Android와 iOS 설정이 모두 필요합니다.
멀티 앱 사용 시, 각 네이티브 앱에서 Kakao SDK를 초기화할 때 추가 파라미터로 커스텀 URL 스킴 설정에서 설정했던 커스텀 URL 스킴 값을 customScheme 파라미터로 전달해야 합니다.
KakaoSdk.init(
context,
appKey = "${NATIVE_APP_KEY}",
customScheme = "${COPIED_CUSTOM_SCHEME}"
)
KakaoSDK.initSDK(
appKey: "${NATIVE_APP_KEY}",
customScheme: "${COPIED_CUSTOM_SCHEME}"
)
KakaoSdk.init(
nativeAppKey: '${NATIVE_APP_KEY}',
customScheme: '${COPIED_CUSTOM_SCHEME}',
);
멀티 앱을 사용하면 메인 앱과 서브 앱 모두 메시지의 앱 링크에 설정할 수 있습니다. 메시지에 설정 가능한 앱 링크의 종류는 아래와 같습니다.
멀티 앱을 사용한 링크 설정은 기본 템플릿에 지원되지 않으며 사용자 정의 템플릿에만 지원됩니다. 기본 템플릿과 사용자 정의 템플릿의 차이는 사용 방법에서 확인할 수 있습니다.
[도구] > [메시지 템플릿]에서 앱의 사용자 정의 템플릿을 등록할 수 있습니다. 멀티 앱을 사용할 경우, 해당 메뉴에서 멀티 앱의 커스텀 URL 스킴 및 스토어 URL을 메시지의 앱 링크에 원하는 대로 설정할 수 있습니다.
예를 들어, 서비스의 멀티 앱 중 '가' 네이티브 앱에서 보내는 메시지에는 '가' 네이티브 앱의 링크를 설정하고, '나' 네이티브 앱에서 보내는 메시지에는 '나' 네이티브 앱의 링크를 설정할 수 있습니다. 메시지 템플릿의 일부 구성 요소에만 다른 네이티브 앱의 링크를 설정할 수도 있습니다.
자세한 내용은 메시지 템플릿 도구를 참고합니다.
멀티 앱은 사용 권한이 주어진 앱에서만 사용할 수 있습니다. 실제 서비스에서 기능을 사용하려면 앱 관리 페이지의 [앱] > [추가 기능 신청]에서 사용 권한을 신청해야 합니다.
사용 권한 신청 시, 앱이 아래 조건을 만족해야 합니다.
멀티 앱은 하나의 카카오디벨로퍼스 앱을 기반으로 동작합니다. 이에 따라 아래와 같은 제약 사항이 있습니다.
멀티 앱은 앱 앱 기본 정보를 네이티브 앱마다 다르게 설정할 수 없습니다.
앱 기본 정보는 멀티 앱을 적용받는 카카오디벨로퍼스 앱의 서비스 이름, 회사명(상호, 법인 또는 단체명), 아이콘으로 구성됩니다. 앱 기본 정보는 카카오 로그인 동의 화면, 연결된 서비스 관리, 카카오톡 메시지에 노출되며, 멀티 앱을 적용받는 모든 네이티브 앱에서 동일하게 나타납니다.
앱 기본 정보의 노출 위치는 아래 이미지를 참고합니다.
이 중 카카오톡 메시지는 카카오톡 공유, 카카오톡 메시지 API로 발송된 메시지입니다.
카카오톡 메시지 하단에 노출되는 출처 앱 정보는 앱 기본 정보와 스토어 URL, 커스텀 URL 스킴으로 구성됩니다. 이 중 앱 기본 정보는 고정이지만, 스토어 URL과 커스텀 URL 스킴은 멀티 앱을 지원합니다. 자세한 안내는 메시지 설정에서 확인할 수 있습니다.
멀티 앱을 적용 받는 모든 네이티브 앱은 카카오 로그인 사용 시 사용자의 앱 연결 상태를 서로 공유합니다. 사용자가 멀티 앱 중 다른 네이티브 앱으로 연결 또는 연결 해제함으로써 API 호출 시 에러가 발생할 수 있으므로 주의합니다.