コンテンツにスキップ

Android

このガイドでは、Android上のHive SDKで認証機能を設定するための手順を提供します。

機能の追加

モジュールレベルのbuild.gradleファイルに対応する外部ライブラリを追加する必要があります。使用する認証機能のみを追加してください。

以下は、モジュールレベルのbuild.gradleファイルに外部ライブラリを追加する例です。

dependencies {
   // Feature-specific settings. Add only the features you are using.
   // AuthV4 Device Management Service
   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"

    // Hive 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"
}

各IdPのキー値をhive_config.xmlに入力してください

各IdPコンソールから取得したキー値をhive_config.xmlに入力してください。詳細については、認証の前提条件を参照してください。

IdPによる追加設定

IdPに応じて追加の設定が必要です。

Google Play ゲーム サインイン 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ストア、One Store)の同時インストールが防止されます。
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')
}

モジュールレベルのlibsフォルダー(.aar/.jar)に、Hive SDK配布バージョンから外部ライブラリを追加します。配布バージョンに含まれる外部ライブラリのリストは以下の通りです。

  • 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ログインをサポートする際にこのファイルを追加してください)

VK IdP 設定

  • VKコンソールから発行されたアプリID/res/values/strings.xmlファイルに設定します。
<integer name="com_vk_sdk_AppId">your_app_id</integer>
Warning

提供されたVK IdPのログイン方法が変更され、2024年6月以降、VKコンソールで新しいアプリ設定を登録すると、Hive SDKによって提供されるVKログインを使用できなくなります。変更されたログイン方法は、2025年4月から5月頃にHive SDK v4 25.2.0以上でサポートされる予定です。

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'