コンテンツにスキップ

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 を選択できます。

既存の 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.FacebookContentProviderandroid: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のとき

<meta-data
    android:name="com.facebook.sdk.ApplicationId"
    android:value="fb123456789"/>

例: Facebookクライアントトークンが123456789のとき

<meta-data
    android:name="com.facebook.sdk.ClientToken"
    android:value="fb123456789"/>
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の構成

  1. agconnect-services.jsonを追加します
    • Huaweiコンソールからダウンロードしたagconnect-services.jsonファイルをプロジェクトフォルダに追加します。
  2. プロジェクトの設定 - 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/'}
          }
      }  
      
  3. アプリの設定 - build.gradleファイル
    • Huawei認証ライブラリとプラグインを追加します。
      dependencies {
          // Huawei依存関係
          implementation "com.com2us.android.hive:hive-authv4-provider-huawei" // Huawei認証
      }
      apply plugin: 'com.huawei.agconnect'
      

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ログインに必要なclientIdhive_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フォルダへの依存関係を設定します。

dependencies {
    implementation fileTree(include: ['*.aar'], dir: 'libs')
}

モジュールレベルのlibsフォルダに、SDK配布バージョンに含まれる外部ライブラリ(.aar)を追加します。animate Games Online IdPログインおよび課金対応時には、以下のファイルが必要です。

  • sdk-XXXXXXXXXXXXXXXXXXXXXXX.aar
    • 例: sdk-bf62685719935e68ec4100c0d51aa469.aar

AndroidManifest.xmlの設定

animate Games Onlineログインコールバックをアプリで受信するには、ログインコールバックを処理するActivityのintent-filterにhost hivegameを追加します。

<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 consumerKeyconsumerSecret 署名用consumer資格情報。アプリ登録後、DMMコンソールで確認
AuthSDK clientIdclientSecretsecretKey OAuth2ログイン資格情報。デバイス側のDMM AuthSDKが消費し、Hiveサーバーには送信されません。DMMに別途申請後に発行
AuthSDK redirectUri OAuth2コールバックスキーム。DMMでclientIdにバインドして申請時に併せて提供

hive_config.xml DMMブロックの設定

発行された資格情報をhive_config.xmlに入力します。設定するキーの一覧はDMMでログインを参照してください。

redirectUri(scheme)の設定

redirect_uricomXXX://authのようなカスタムスキームであり、clientIdの申請時に併せて提出し、DMMの認証を受けて使用する必要があります。この値はclientIdにバインドされるため、認証されていない値を使用すると、ログイン時にDMMエラーE210019 (error_redirect_uri_unavailable)が発生します。

build.gradleでredirect schemeを注入します。

manifestPlaceholders += [hiveDmmRedirectScheme: "comXXX"]

Gradle依存関係・リポジトリの設定

ルートのsettings.gradledependencyResolutionManagement { repositories }にDMM Mavenリポジトリを追加します。Gradleのリポジトリ宣言は非伝播的であるため、アプリビルドで宣言されていないとDMM SDK(link-id-sdkAuthSDK)の解決に失敗します。

maven { url 'https://repos-app.games.dmm.com/' }

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に登録した値と同一である必要あり