跳轉至

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

添加身份提供者

將外部庫添加到模塊級別的 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"

    // 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 "com.com2us.android.hive:hive-authv4-provider-weverse"
}

由 IdP 提供的附加設定

根據身份提供者(IdP),需要額外的設置。

Google Play 遊戲登入 IdP 設定

要使用 Google Play 遊戲登入,請按以下方式進行配置。

AndroidManifest.xml 設定

這是Google Play服務的配置。這些是Google Play遊戲登錄設置所需的值。

<manifest>
    <application>
    <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/game_services_project_id"/>
    </application>
</manifest>

hive_config.xml 設定

hive_config.xml 中,在 <providers> 標籤內的 <google> 標籤中設置 playAppIdserverClientId

Facebook IdP 設定

要使用 Facebook 登入,請在 AndroidManifest.xml 中進行必要的設置。

首先,配置 FacebookContentProvider 以便從您的應用程式分享連結、圖片或影片。在 android:authorities 屬性中,將 Facebook AppID 添加到 com.facebook.app.FacebookContentProvider

範例:當 Facebook AppID 為 123456789

<provider android:authorities="com.facebook.app.FacebookContentProvider123456789" />

添加 Facebook AppId 和客戶端令牌設置的設定(Facebook v13 或更高版本所需)。

範例:當 Facebook AppID 為 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 或微信 IdP,请另外申请以下内容。


在模塊級build.gradle文件中設置對libs文件夾的依賴。

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

將外部庫 (.aar/.jar) 添加到模組級別的 libs 資料夾中,以便與 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 設定

  • /res/values/strings.xml文件中设置从VK控制台发出的应用程序ID。
<integer name="com_vk_sdk_AppId">your_app_id</integer>

華為 IdP 設定

  1. 添加 agconnect-services.json
    • 将从华为控制台下载的 agconnect-services.json 文件添加到项目文件夹中。
  2. 项目 - build.gradle 文件设置
    • 添加 AppGallery Connect 插件和 Maven 地址。
      buildscript {
          repositories {
              google()
              jcenter()
              // 华为 HMS Core SDK。
              maven {url 'https://developer.huawei.com/repo/'}
          }
          dependencies {
              ...
              // 华为 AppGallery Connect 插件
              classpath 'com.huawei.agconnect:agcp:1.9.1.301'
          }
      }
      allprojects {
          repositories {
              google()
              jcenter()
              /// 华为 HMS Core SDK。
              maven {url 'https://developer.huawei.com/repo/'}
          }
      }  
      
  3. 应用 - build.gradle 文件设置
    • 添加华为认证库和插件。
      dependencies {
          // 华为依赖
          implementation "com.com2us.android.hive:hive-authv4-provider-huawei" // 华为认证
      }
      apply plugin: 'com.huawei.agconnect'