跳轉至

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

添加身份提供者

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

hive_config.xml中輸入每個IdP的鍵值

輸入從每個 IdP 控制台獲得的鍵值於 hive_config.xml。有關更多詳細信息,請參閱 身份驗證先決條件

由 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>

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商店)同時安裝。
如果您不使用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/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 登入時,請添加此文件)

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

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>

小米 IdP 配置

要使用小米登录,您需要配置从小米控制台获得的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 libs 配置

dependencies {
    // hive-china-xiaomi-wrapper-xxxxxxxx.aar 
    implementation fileTree(include: ['*.aar'], dir: 'libs')
}