Android
Hive SDK Android에서 인증 기능을 사용하기 위한 설정을 안내합니다.
기능 추가¶
모듈 수준 build.gradle 파일에 해당하는 외부 라이브러리를 추가해야 합니다. 사용할 인증 기능만 추가합니다.
아래는 모듈 수준 build.gradle 파일에 외부 라이브러리를 추가한 예시입니다.
dependencies {
// 기능별 설정. 사용하는 기능만 추가합니다.
// AuthV4 기기 관리
implementation "com.com2us.android.hive:hive-authv4-device-management"
// AuthV4 구글 앱 내 업데이트
implementation "com.com2us.android.hive:hive-authv4-google-inappupdate"
// AuthV4 구글 reCAPTCHA
implementation "com.com2us.android.hive:hive-authv4-google-recaptcha"
// AuthV4 중국 실명 인증
implementation "com.com2us.android.hive:hive-authv4-real-name-verification"
}
IdP 추가¶
모듈 수준 build.gradle 파일에 외부 라이브러리를 추가합니다. 사용할 IdP만 추가합니다.
아래는 모듈 수준 build.gradle 파일에 외부 라이브러리를 추가한 예시입니다. 게스트 로그인 기능은 라이브러리를 추가하지 않아도 사용할 수 있습니다.
dependencies {
// IdP별 설정. 사용하는 IdP만 추가합니다.
// Apple 로그인
implementation "com.com2us.android.hive:hive-authv4-provider-apple-signin"
// Facebook 로그인
implementation "com.com2us.android.hive:hive-authv4-provider-facebook"
// Google Play Games 로그인
// `hive-authv4-provider-google-playgames`는 `play-service-games-v2` 라이브러리를 포함합니다.
// Google Play Games 로그인과 Google 로그인은 서로 다른 로그인 수단입니다.
implementation "com.com2us.android.hive:hive-authv4-provider-google-playgames"
// Google 로그인
// Google 로그인은 2가지 방식을 지원합니다. 두 라이브러리를 동시에 선언할 수 없습니다. 둘 중 하나를 선택합니다.
// - google-signin : Play Services 라이브러리를 사용하는 로그인
// - google-credential-signin : Credential Manager 라이브러리를 사용하는 로그인
if(usePlayServices) {
implementation "com.com2us.android.hive:hive-authv4-provider-google-signin"
} else {
implementation "com.com2us.android.hive:hive-authv4-provider-google-credential-signin"
}
// 멤버십 로그인
implementation "com.com2us.android.hive:hive-authv4-provider-hive-membership"
// Huawei 로그인
implementation "com.com2us.android.hive:hive-authv4-provider-huawei"
// LINE 로그인
// LINE 라이브러리를 적용하기 위해서는 minSdkVersion 24 이상 버전이 필요합니다.
implementation "com.com2us.android.hive:hive-authv4-provider-line"
// QQ 로그인
implementation "com.com2us.android.hive:hive-authv4-provider-qq"
// Steam 로그인
implementation "com.com2us.android.hive:hive-authv4-provider-steam"
// VK 라이브러리를 적용하기 위해서는 targetSdkVersion 32 이상 버전이 필요합니다.
implementation "com.com2us.android.hive:hive-authv4-provider-vk"
// WeChat 로그인
implementation "com.com2us.android.hive:hive-authv4-provider-wechat"
// Weverse 로그인
implementation "com.com2us.android.hive:hive-authv4-provider-weverse"
// X 로그인
implementation "com.com2us.android.hive:hive-authv4-provider-x"
// Telegram 로그인
implementation "com.com2us.android.hive:hive-authv4-provider-telegram"
// Xiaomi 로그인
implementation "com.com2us.android.hive:hive-authv4-provider-xiaomi-oauth"
// animateGO 로그인
implementation "com.com2us.android.hive:hive-authv4-provider-animatego-oauth"
// DMM 로그인
implementation "com.com2us.android.hive:hive-authv4-provider-dmm"
}
hive_config.xml에 IdP별 키 값 입력¶
hive_config.xml에 각 IdP 콘솔에서 얻은 키 값을 입력합니다. 자세한 내용은 인증 사전 준비를 참고하세요.
IdP별 추가 설정¶
IdP에 따라 추가 설정이 필요합니다.
Google Sign-in IdP 설정¶
Note
Hive SDK 26.4.0부터 Google 로그인 수단으로, Google SignIn 또는 Google Credential Manager 방식을 선택할 수 있습니다.
- hive-authv4-provider-google-signin: Play Services 라이브러리를 활용해 Google 로그인을 처리합니다.
- hive-authv4-provider-google-credential-signin: Credential Manager 라이브러리를 활용해 Google 로그인을 처리합니다.
- Gradle 8.x 이상 사용 필수
기존 Play Services 라이브러리 기반의 Google 로그인은 2024년 9월부로 지원 중단(Deprecated)되었으며 당초 2025년에 제거될 예정이었으나, 현재 Google에서는 해당 라이브러리를 계속 지원하고 있습니다.
Google에서는 안정적인 서비스 운영을 위해 Play Services 대신 Credential Manager로 마이그레이션을 진행하는 방식을 권장합니다.
Hive SDK는 Play Services와 Credential Manager 두 가지 방식을 모두 지원하며, Google에서 Play Services를 제거하는 계획이 확정되면 Hive SDK 업데이트를 통해 안내할 예정입니다.
Google Play Games Sign-in IdP 설정¶
Google Play Games 로그인을 사용하려면 다음과 같이 설정합니다.
AndroidManifest.xml 설정¶
Google Play Services를 위한 설정입니다. Google Play Games 로그인 설정에 필요한 값입니다.
<manifest>
<application>
<meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/game_services_project_id"/>
</application>
</manifest>
Facebook IdP 설정¶
Facebook 로그인을 사용하려면 AndroidManifest.xml을 아래 안내를 따라 설정합니다.
먼저, 게임 앱에서 링크, 이미지 또는 동영상 공유를 위해 FacebookContentProvider 설정을 합니다. android:authorities 속성 값으로 com.facebook.app.FacebookContentProvider에 Facebook AppID를 붙여서 입력하세요. Facebook AppID는 Facebook 콘솔에 등록한 게임 앱에 대한 앱 ID를 참고하세요.
예시: FacebookAppID가 123456789일 때
<provider android:authorities="com.facebook.app.FacebookContentProvider123456789"
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>
Warning
Facebook 공유 활성화 설정을 위해 FacebookContentProvider 권한을 선언하면 마켓별 Android 빌드(예: Google Play Store, One Store)를 동시에 설치할 수 없습니다.
Facebook 공유 활성화를 사용하지 않는다면 문제 해결 가이드를 참고하여 FacebookContentProvider 권한 선언을 제거하세요.
Facebook AppId 및 클라이언트 토큰 설정(Facebook v13 이상 필수)을 위해 설정을 추가합니다. Facebook 클라이언트 토큰은 Facebook 콘솔에서 앱 설정 > 고급 설정을 참고하세요.
예시: FacebookAppID가 123456789일 때
예시: Facebook Client Token이 123456789일 때
Note
Facebook AppId 및 클라이언트 토큰은 string.xml 파일로도 설정할 수 있습니다. 이때, android:value 설정 시 fb 접두사는 필요하지 않습니다. 자세한 내용은 여기에서 확인하세요.
QQ/WeChat IdP 설정¶
만약 QQ 또는 WeChat IdP를 지원한다면 아래 내용을 추가로 적용합니다.
모듈 수준의 build.gradle 파일에 libs 폴더에 대한 의존성을 설정합니다.
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation fileTree(include: ['*.aar'], dir: 'libs')
}
모듈 수준의 libs 폴더에 SDK 배포 버전에 있는 외부 라이브러리(.aar/.jar)를 추가합니다. 배포 버전에 포함된 외부 라이브러리 목록은 다음과 같습니다.
- mid-sdk-2.10.jar (QQ IdP 로그인 지원 시 이 파일 추가)
- mta-sdk-2.0.0.jar (QQ 또는 WeChat IdP 로그인 지원 시 이 파일 추가)
- open_sdk_3.5.4.11_r3f56456_lite.jar (QQ IdP 로그인 지원 시 이 파일 추가)
Huawei IdP 설정¶
- agconnect-services.json 추가
- Project 폴더에 Huawei 콘솔에서 다운로드한 agconnect-services.json 파일을 추가하세요.
- Project - build.gradle 파일 설정
- AppGallery Connect 플러그인과 Maven 주소를 추가하세요.
buildscript { repositories { google() jcenter() // Huawei HMS Core SDK. maven {url 'https://developer.huawei.com/repo/'} } dependencies { ... // Huawei AppGallery Connect plugin classpath 'com.huawei.agconnect:agcp:1.9.1.301' } } allprojects { repositories { google() jcenter() /// Huawei HMS Core SDK. maven {url 'https://developer.huawei.com/repo/'} } }
- AppGallery Connect 플러그인과 Maven 주소를 추가하세요.
- App - build.gradle 파일 설정
- Huawei 인증 라이브러리와 플러그인을 추가하세요.
VK IdP 설정¶
VK 로그인을 사용하려면 다음과 같이 설정합니다.
AndroidManifest.xml 설정¶
VK 로그인 리다이렉션에 필요한 설정입니다.
<manifest>
<application>
<activity
android:name="com.hive.authv4.provider.vk.HiveProviderVkActivity"
android:configChanges="colorMode|density|keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|locale|fontScale|layoutDirection"
android:exported="true"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="vk${vkClientId}" />
<data android:host="vk.com" />
</intent-filter>
</activity>
</application>
</manifest>
Xiaomi IdP 설정¶
Xiaomi 로그인을 사용하려면 Xiaomi 콘솔에서 발급받은 XiaomiAppId와 XiaomiAppKey 설정이 필요합니다.
AndroidManifest.xml 설정¶
<meta-data
android:name="miGameAppId"
android:value="${xiaomiAppId}" />
<meta-data
android:name="miGameAppKey"
android:value="${xiaomiAppKey}" />
<!-- user OAID -->
<meta-data
android:name="miGameEnhance"
android:value="false" />
settings.gradle maven 추가¶
maven {
url "https://repos.xiaomi.com/maven"
credentials {
username 'mi-gamesdk'
password 'AKCp8mYeLuhuaGj6bK1XK7t2w4CsPuGwg6GpQdZ9cat7K59y5sD7Tx3dHjJcFrBGj3TQ4vi7g'
}
}
build.gradle libs 추가¶
dependencies {
// hive-china-wrapper-xxxxxxxx.aar
implementation fileTree(include: ['*.aar'], dir: 'libs')
}
animate Games Online IdP 설정¶
Note
animate Games Online 로그인은 Android 플랫폼만 지원합니다.
animate Games Online 로그인을 사용하려면 아래와 같이 설정합니다.
hive_config.xml 설정¶
animate Games Online 로그인에 필요한 clientId를 hive_config.xml에 기입합니다. 설정할 키 목록은 animate GO로 로그인을 참조하세요.
Callback URL / Redirect URI 설정¶
animate Games Online 로그인 콜백이 정상적으로 동작하려면 animate Games Online 개발자 대시보드에서 Callback URL과 Redirect URI를 등록해야 합니다. 자세한 내용은 animate Games Online Callback URL / Redirect URI 설정을 참조하세요.
AAR 라이브러리 추가¶
모듈 수준의 build.gradle 파일에 libs 폴더에 대한 의존성을 설정합니다.
모듈 수준의 libs 폴더에 SDK 배포 버전에 포함된 외부 라이브러리(.aar)를 추가합니다. animate Games Online IdP 로그인 및 빌링 지원 시 아래 파일이 필요합니다.
- sdk-XXXXXXXXXXXXXXXXXXXXXXX.aar
- 예시: sdk-bf62685719935e68ec4100c0d51aa469.aar
AndroidManifest.xml 설정¶
animate Games Online 로그인 콜백을 앱에서 수신하려면, 로그인 콜백을 처리하는 Activity의 intent-filter에 host hive와 game을 추가합니다.
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- animateGO 로그인 콜백 수신시 실행 선택 앱 목록에 중복 표시 방지를 위해 host 추가 -->
<data android:scheme="${applicationId}" />
<data android:host="hive" />
<data android:host="game" />
</intent-filter>
DMM IdP 설정¶
Note
Android용 DMM 인증은 DMM Games Store 앱을 통해 인증 정보를 DMM 서버에 등록해서 사용하며, Hive AuthV4의 IdP provider(hive:authv4:provider:dmm)로 제공됩니다.
Android DMM 로그인은 Google, Apple 등 다른 IdP와 동일하게 AuthV4.signIn(ProviderType.DMM) 호출로 사용하며, DMM SDK 초기화·로그인·서명 검증 연계는 provider가 내부에서 처리합니다.
DMM 자격 증명 발급¶
DMM GAMES 개발자 콘솔에 패키지명, 앱 정보 등 Android 앱 정보를 먼저 등록한 뒤, 아래 자격 증명을 발급받습니다. DMM 인증은 OpenSocial 계열과 AuthSDK 계열, 두 종류의 자격 증명을 사용합니다.
| 구분 | 키 | 설명 |
|---|---|---|
| OpenSocial | appId | OpenSocial 앱 ID. makeRequest opensocial_app_id 값이자 서명 검증에 사용 |
| OpenSocial | consumerKey, consumerSecret | 서명용 consumer 자격 증명. 앱 등록 후 DMM 콘솔에서 확인 |
| AuthSDK | clientId, clientSecret, secretKey | OAuth2 로그인 자격 증명. 기기 측 DMM AuthSDK가 소비하며 Hive 서버로 전송되지 않음. DMM에 별도 신청 후 발급 |
| AuthSDK | redirectUri | OAuth2 콜백 스킴. DMM에서 clientId에 바인딩하여 신청 시 함께 제공 |
hive_config.xml DMM 블록 설정¶
발급받은 자격 증명을 hive_config.xml에 기입합니다. 설정할 키 목록은 DMM으로 로그인을 참조하세요.
redirectUri(scheme) 설정¶
redirect_uri는 comXXX://auth와 같은 커스텀 스킴이며, clientId 신청 시 함께 제출하여 DMM 인증을 받아 사용해야 합니다. 이 값은 clientId에 바인딩되기 때문에 인증되지 않은 값을 사용하면 로그인 시 DMM 에러 E210019 (error_redirect_uri_unavailable)가 발생합니다.
build.gradle에서 redirect scheme을 주입합니다.
Gradle 의존성·리포지토리 설정¶
루트 settings.gradle의 dependencyResolutionManagement { repositories }에 DMM Maven 리포지토리를 추가합니다. Gradle 리포지토리 선언은 비전이적이므로, 앱 빌드에서 선언되지 않으면 DMM SDK(link-id-sdk, AuthSDK) 해석에 실패합니다.
Config Editor에서 Client 자격 증명 설정¶
Config Editor에서 Client 자격 증명을 지정합니다.
| 속성 | 필수 | 설명 |
|---|---|---|
appId | O | 상용 OpenSocial 앱 ID |
consumerKey / consumerSecret | O | 상용 consumer 서명 자격 증명 |
clientId / clientSecret / secretKey | O | AuthSDK OAuth2 로그인 자격 증명 |
redirectUri | O | OAuth2 redirect_uri. DMM에 등록한 값과 동일해야 함 |

