跳轉至

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 中的鍵值

hive_config.xml中输入从每个IdP控制台获得的密钥值。有关更多详细信息,请参阅身份验证先决条件

由 IdP 提供的附加設定

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

Google Play 遊戲登入 IdP 設定

要使用 Google Play Games 登入,請按以下方式設置。

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>

Facebook IdP 配置

要使用 Facebook 登入,請根據以下指示配置 AndroidManifest.xml

首先,设置 FacebookContentProvider 以在应用中共享链接、图像或视频。通过将 Facebook AppID 附加到 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 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

您也可以在string.xml文件中设置Facebook AppId和客户端令牌。在这种情况下,设置android:value时不需要fb前缀。有关更多详细信息,请查看这里

QQ/微信 IdP 配置

如果您支持 QQ 或 WeChat IdP,请申请以下附加内容。


在模組級build.gradle檔案中設置libs資料夾的依賴。

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

從Hive 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 登錄時添加此文件)

華為 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'