Android
このガイドでは、Hive SDK Androidでの認証機能の設定に関する手順を提供します。
機能を追加¶
モジュールレベルのbuild.gradleファイルに対応する外部ライブラリを追加する必要があります。使用する認証機能のみを追加してください。
以下は、モジュールレベルのbuild.gradleファイルに外部ライブラリを追加する例です。
dependencies {
// Feature-specific settings. Add only the features you are using.
// AuthV4 Device Management
implementation "com.com2us.android.hive:hive-authv4-device-management"
// AuthV4 Google In-App Update
implementation "com.com2us.android.hive:hive-authv4-google-inappupdate"
// AuthV4 Google reCAPTCHA
implementation "com.com2us.android.hive:hive-authv4-google-recaptcha"
// AuthV4 Real Name Verification (China)
implementation "com.com2us.android.hive:hive-authv4-real-name-verification"
}
IdPを追加¶
モジュールレベルのbuild.gradleファイルに外部ライブラリを追加します。使用するIdPのみを追加してください。
以下は、モジュールレベルのbuild.gradleファイルに外部ライブラリを追加する例です。ゲストログイン機能は、ライブラリを追加せずに使用できます。
dependencies {
// IdP-specific settings. Add only the IdPs you are using.
// Apple Login
implementation "com.com2us.android.hive:hive-authv4-provider-apple-signin"
// Facebook Login
implementation "com.com2us.android.hive:hive-authv4-provider-facebook"
// Google Play Games Login
// `hive-authv4-provider-google-playgames` includes the `play-service-games-v2` library.
implementation "com.com2us.android.hive:hive-authv4-provider-google-playgames"
// Google Login
// Google Play Games Login and Google Login are different login methods.
implementation "com.com2us.android.hive:hive-authv4-provider-google-signin"
// Membership Login
implementation "com.com2us.android.hive:hive-authv4-provider-hive-membership"
// Huawei Login
implementation "com.com2us.android.hive:hive-authv4-provider-huawei"
// LINE Login
// To apply the LINE library, minSdkVersion 24 or higher is required.
implementation "com.com2us.android.hive:hive-authv4-provider-line"
// QQ Login
implementation "com.com2us.android.hive:hive-authv4-provider-qq"
// Steam Login
implementation "com.com2us.android.hive:hive-authv4-provider-steam"
// VK library requires targetSdkVersion 32 or higher.
implementation "com.com2us.android.hive:hive-authv4-provider-vk"
// WeChat Login
implementation "com.com2us.android.hive:hive-authv4-provider-wechat"
// Weverse Login
implementation
// X Login
implementation "com.com2us.android.hive:hive-authv4-provider-x"
// Telegram Login
implementation "com.com2us.android.hive:hive-authv4-provider-telegram"
// Xiaomi Login
implementation "com.com2us.android.hive:hive-authv4-provider-xiaomi-oauth"
// animateGO Login
implementation "com.com2us.android.hive:hive-authv4-provider-animatego-oauth"
// DMM Login
implementation "com.com2us.android.hive:hive-authv4-provider-dmm"
}
各IdPのキー値をhive_config.xmlに入力してください¶
各IdPコンソールから取得したキー値をhive_config.xmlに入力してください。詳細については、認証の前提条件を参照してください。
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 サインイン 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を設定します。com.facebook.app.FacebookContentProviderのandroid:authorities属性の値として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ストア、ONEストア)の同時インストールが防止されます。
Facebookシェアリングを使用していない場合は、FacebookContentProviderの権限の宣言を削除するためにトラブルシューティングガイドを参照してください。
Facebook AppIdとクライアントトークンの設定を追加します(Facebook v13以降に必要)。Facebookクライアントトークンについては、Facebookコンソールのアプリ設定 > 高度な設定を参照してください。
例: FacebookAppIDが123456789のとき
例: Facebookクライアントトークンが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')
}
SDK配布バージョンのモジュールレベルlibsフォルダー(.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を追加します
- Huaweiコンソールからダウンロードしたagconnect-services.jsonファイルをプロジェクトフォルダに追加します。
- プロジェクトの設定 - build.gradleファイル
- AppGallery ConnectプラグインとMavenアドレスを追加します。
buildscript { repositories { google() jcenter() // Huawei HMS Core SDK. maven {url 'https://developer.huawei.com/repo/'} } dependencies { ... // Huawei AppGallery Connectプラグイン 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アドレスを追加します。
- アプリの設定 - 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 ライブラリ構成¶
dependencies {
// hive-china-xiaomi-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系、2種類の資格情報を使用します。
| 区分 | キー | 説明 |
|---|---|---|
| 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に登録した値と同一である必要あり |

