Skip to content

Key input by IdP

To use the Hive SDK authentication feature, you need the key values provided by each IdP (Identity Provider) across all development engines. This document guides you on how to enter the key values issued from each IdP console into the Hive console and the hive_config.xml file.

Overview

To use any IdP, you need to obtain the key values issued from the IdP console and enter them in the Hive console or the hive_config.xml file (or both). For example, if a developer wants to provide Google and Apple login for users in a Windows environment, they need to obtain the key values issued from the Google console and Apple console respectively and enter the keys in both the Hive console and the hive_config.xml file. Please refer to the information below for the locations to enter the key values by IdP and OS.


  • hive_config.xml
    • Enter the key value obtained from the IdP console you want to use in the hive_config.xml file
    • In Unity or Unreal Engine environments, it can be entered in the Config Editor
  • Hive console
    • Enter the key value obtained from the IdP console you want to use in the Hive console
  • Hive console, hive_config.xml
    • Key values need to be entered in both Hive console and hive_config.xml
  • Exclude settings
    • No need to enter key values in both Hive console and hive_config.xml
  • Not supported
    • Unsupported IdP


IdP / OS Android iOS Windows macOS Web Login
Login with Google Play Hive console,
hive_config.xml
Not supported Not supported Not supported Not supported
Hive Login Exclude settings Exclude settings Exclude settings Exclude settings Hive console
Login with Facebook hive_config.xml hive_config.xml Hive console,
hive_config.xml
Hive console Hive console
Login as Guest Exclude settings Exclude settings Not supported Not supported Not supported
Login with Apple Hive console,
hive_config.xml
hive_config.xml Hive console,
hive_config.xml
Hive console Hive console
Login with Google hive_config.xml hive_config.xml Hive console,
hive_config.xml
Hive console Hive console
Login with QQ hive_config.xml hive_config.xml Not supported Not supported Not supported
Login with VK strings.xml hive_config.xml Not supported Not supported Not supported
Login with WeChat hive_config.xml hive_config.xml Not supported Not supported Not supported
Login with LINE hive_config.xml hive_config.xml Not supported Not supported Not supported
Login with Weverse hive_config.xml hive_config.xml hive_config.xml Not supported Not supported
Login with HUAWEI ID Hive console Not supported Not supported Not supported Not supported
Login with Steam Hive console,
hive_config.xml
Hive console,
hive_config.xml
Hive console,
hive_config.xml
Hive console Not supported
Login with X hive_config.xml hive_config.xml hive_config.xml Not supported Not supported
Login with Telegram Hive console,
hive_config.xml
Hive console,
hive_config.xml
hive_config.xml Not supported Not supported

Hive input in console

When providing a login feature in the game, you need to determine the IdP to be exposed and the order of exposure. To do this, proceed in order with the select login types, change login order, and register the authentication key in the Hive console for each AppID in the Hive console.

Security key issuance

To enhance authentication security between services, you must obtain a security key from the Hive console > Security Key Settings.

Warning

If you do not obtain a security key, users will not be able to log in to the app.

Input for hive_config.xml

Obtain the key value from the IdP console and enter it in the hive_config.xml file. The following is an example code assuming the use of all IdPs.

<properties>

    <providers>
        <!-- Log in with Google Play (Google Play Games) -->
        <googleplaygames playAppId="123456789012" serverClientId="123456789012-abc.apps.googleusercontent.com" />

        <!-- Login with Facebook (Facebook) -->
        <!-- The following Facebook code is an example of how to set additional permissions (e.g., user_friends, user_gender) beyond the email and public_profile permissions automatically configured by the Hive SDK. -->
        <!-- When using hive_config.xml, the game company should only insert the permissions they require in the <permission> element. -->
        <facebook>
            <permissions>
                <permission name="user_friends" />
                <permission name="user_gender" />
            </permissions>
        </facebook>

        <!-- Sign in with Apple -->
        <signinwithapple serviceid="com.sample.your" />

        <!-- Log in with Google (Google Sign-In) -->
        <google playAppId="123456789012" serverClientId="123456789012-abc.apps.googleusercontent.com" />

        <!-- Log in with QQ -->
        <qq id="1234567890" />

        <!-- Log in with WeChat -->
        <wechat id="wx12345cf6c789c0f1" secret="abcdefg" paymentKey="abc123def456xyz789"/>

        <!-- LINE login -->
        <line channelId="1234567890" />

        <!-- Log in with Weverse -->
        <weverse clientId="abcdefg" />

        <!-- Log in with Steam -->
        <steam realm="https://your-app.com"/>

        <!-- Log in with X -->
        <x clientId="ABCDEFG"/>

        <!-- Log in with Telegram (Telegram) -->
        <telegram botId="123456789" botDomain="https://auth.qpyou.cn"/>
    </providers>

</properties>
<properties>

    <providers>
        <!-- Login with Facebook (Facebook) -->
        <!-- The Facebook code below is an example of how to set additional permissions (such as user_friends, user_gender) beyond the email and public_profile permissions automatically set by the Hive SDK. -->
        <!-- When using hive_config.xml in practice, only the permissions required by the game company should be inserted into the <permission> element. -->
        <facebook>
            <permissions>
                <permission name="user_friends" />
                <permission name="user_gender" />
            </permissions>
        </facebook>

        <!-- Sign in with Apple -->
        <signinwithapple serviceid="com.sample.your" />

        <!-- Log in with Google (Google Sign-In) -->    
        <google serverClientId="123456789012-abc.apps.googleusercontent.com"  reversedClientId="com.googleusercontent.apps.123456789012-abc" />

        <!-- Log in with QQ -->
        <qq id="1234567890" />

        <!-- Log in with VK -->
        <vk id="1234567" /> 

        <!-- Log in with WeChat -->
        <wechat id="wx12345cf6c789c0f1" secret="abcdefg" />

        <!-- LINE login -->
        <line channelId="1234567890" />

        <!-- Log in with Weverse -->
        <weverse clientId="abcdefg" />

        <!-- Log in with Steam -->
        <steam realm="https://your-app.com"/>

        <!-- Login with X -->
        <x clientId="ABCDEFG"/>

        <!-- Log in with Telegram -->
        <telegram botId="123456789" botDomain="https://auth.qpyou.cn"/>
    </providers>

</properties>
<properties>

    <providers>
        <!-- Login with Facebook (Facebook) -->
        <!-- The following Facebook code is an example of setting additional permissions (such as user_friends, user_gender) beyond the email and public_profile permissions automatically configured by the Hive SDK. -->
        <!-- When using hive_config.xml, only the permissions required by the game company should be inserted into the <permission> element. -->
        <facebook id="1809615065921877">
            <permissions>
                <permission name="user_friends" />
                <permission name="user_gender" />
            </permissions>
        </facebook>

        <!-- Sign in with Apple -->
        <signinwithapple serviceid="com.sample.your" />

        <!-- Log in with Google (Google Sign-In) -->    
        <google serverClientId="123456789012-abc.apps.googleusercontent.com"  deviceFlowClientId="331526026701-gn1abq1ev23nqj7rdvvlaamf7ii4f3u9.apps.googleusercontent.com" />

        <!-- Log in with Weverse -->
        <weverse clientId="abcdefg" />

        <!-- Log in with Steam -->
        <steam realm="https://your-app.com"/>

        <!-- Log in with X -->
        <x clientId="ABCDEFG"/>

        <!-- Log in with Telegram -->
        <telegram botId="123456789" botDomain="https://auth.qpyou.cn"/>
    </providers>

</properties>
Note

When using Unreal Engine or Unity, you can enter key values using the Config Editor (Unity, Unreal) without directly creating or editing the hive_config.xml file.


Follow the instructions below to add authentication settings to the hive_config.xml file according to the IdP you want to use.

Log in with Google play (google play games)

Refer to the following example to enter values in the providers tag of the hive_config.xml file.

<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with Google Play (Google Play Games) -->
        <googleplaygames playAppId="123456789012" serverClientId="123456789012-abc.apps.googleusercontent.com" />
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>

Playappid (Android)

Set the Android type client ID issued from the Google Cloud Console.



Serverclientid (Android)

Set up the Web Application Client ID obtained from the Google Cloud Console.



Log in with Facebook

Refer to the following example to enter values in the providers tag of the hive_config.xml file.

<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with Facebook (Facebook) -->
        <!-- The following Facebook code is an example of how to set additional permissions (such as user_friends, user_gender) beyond the email and public_profile permissions automatically configured by the Hive SDK. -->
        <!-- When using hive_config.xml in practice, only the permissions required by the game company should be inserted into the <permission> element. -->
        <facebook>
            <permissions>
                <permission name="user_friends" />
                <permission name="user_gender" />
            </permissions>
        </facebook>
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>
<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with Facebook (Facebook) -->
        <!-- The following Facebook code is an example of how to set additional permissions (such as user_friends, user_gender) beyond the email and public_profile permissions automatically configured by the Hive SDK. -->
        <!-- When using hive_config.xml, only the permissions required by the game company should be inserted as <permission> elements. -->
        <facebook id="1809615065921877">
            <permissions>
                <permission name="user_friends" />
                <permission name="user_gender" />
            </permissions>
        </facebook>
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>

Id (Windows)

This is the app ID for using the Facebook login feature when using Hive v4 Unity on Windows. You can check the app ID on the Meta app dashboard after modifying the app settings. The app ID can be found here.

Permission (Android, iOS, Windows)

When using the Facebook SDK, if you need additional permissions beyond the default email permission (access to the Facebook account email address) and public_profile (access to the Facebook public profile) set by Hive , you can request the necessary permissions from the Facebook console and set the permissions in the permission field. When logging in with Facebook at Hive , the login request includes the permissions set in the permissions field.


Sign in with Apple

Refer to the following example to enter values in the providers tag of the hive_config.xml file.

<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Sign in with Apple -->    
        <signinwithapple serviceid="com.sample.your" />
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>

Serviceid (Android, iOS, Windows)

Set up the Services ID issued by the Apple Developer Center. When set up, you can log in with your Apple account on Android and Windows.

Sign in with Google

Refer to the following example to enter values in the providers tag of the hive_config.xml file.

<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with Google (Google Sign-In) -->    
        <google playAppId="123456789012" serverClientId="123456789012-abc.apps.googleusercontent.com" />
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>
<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with Google (Google Sign-In) -->    
        <google serverClientId="123456789012-abc.apps.googleusercontent.com" reversedClientId="com.googleusercontent.apps.123456789012-abc" />
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>
<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with Google (Google Sign-In) -->    
        <google serverClientId="123456789012-abc.apps.googleusercontent.com" deviceFlowClientId="331526026701-gn1abq1ev23nqj7rdvvlaamf7ii4f3u9.apps.googleusercontent.com" />
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>

Playappid (Android)

Set the Android type client ID issued from the Google Cloud Console.



Serverclientid (Android, iOS, Windows)

Set the web application client ID issued from the Google Cloud Console.



Reversedclientid (iOS)

Set the reverse client ID issued from the Google Cloud console. Please refer to the reverse client ID on the Google Sign-In for iOS documentation page.

Deviceflowclientid (Windows)

Set the client ID of the client type issued from the Google Cloud Console.



Log in with QQ

Refer to the following example to enter values in the providers tag of the hive_config.xml file.

<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with QQ -->    
        <qq id="1234567890" />
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>

Id (Android, iOS)

Set the QQ APP ID issued through the Game App Registration Request for QQ Service (connect.qq.com). There are specific review requirements that must be requested by Chinese citizens when registering the app.

Log in with VK

Refer to the following example to enter values in the providers tag of the hive_config.xml file.

<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with VK -->    
        <vk id="1234567" />
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>
Warning

The login method provided by VK IdP has changed. Therefore, if you register a new app setting in the VK console after June 2024, you will not be able to use VK login provided by the Hive SDK. The changed login method is expected to be supported in Hive SDK v4 25.2.0 or higher around April to May 2025.

Id (iOS)

Set up the VK ID issued from the VK service page.

Log in with WeChat

Refer to the following example to enter values in the providers tag of the hive_config.xml file.

<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with WeChat -->    
        <wechat id="wx12345cf6c789c0f1" secret="abcdefg" />
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>

Id (Android, iOS)

Set the game app identifier APP ID in the Wechat console.


Secret (Android, iOS)

Set the AppSecret that can be checked in the Wechat console.


Login with line

Refer to the following example to input values in the providers tag of the hive_config.xml file.

<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with LINE -->    
        <line channelId="1234567890" />
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>

Channelid (Android, iOS)

Set the Channel ID that can be found in the Basic settings under the Providers section in the Line console.


Log in with weverse

Refer to the following example to enter values in the providers tag of the hive_config.xml file.

<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with Weverse -->    
        <weverse clientId="abcdefg" isTest="false" />
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>
<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with Weverse -->    
        <weverse clientId="abcdefg" />
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>

Clientid (Android, iOS, Windows)

Set the unique identifier Client ID for Weverse login. For Weverse's Client ID, it must be issued through Weverse contact.

Istest (Android, iOS)

Sets whether to connect to the Weverse test server.

  • true: Connects to the Weverse test server. Please use it after discussion with the Weverse person in charge during development.
  • false: Connects to the Weverse production server.

Login with steam

Refer to the following example to enter values in the providers tag of the hive_config.xml file.

<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with Steam -->    
        <steam realm="https://your-app.com"/>
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>

Realm (Android, iOS, Windows)

Set the domain owned by the game development team that uses the realm information in the Steam OpenID authentication. Enter the domain of the service requesting the login (e.g., https://your-app.com). The value you set will also be displayed on the Steam login page. The default is https://withhive.com. You must enter a valid domain, and if it is not valid, the login may not proceed.

Login with x

Refer to the following example to enter values in the providers tag of the hive_config.xml file.

<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Log in with X -->    
        <x clientId="ABCDEFG"/>
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>

Clientid (Android, iOS, Windows)

Set the OAuth 2.0 Client ID of the X Console (X Developer Portal).


Log in with telegram

Refer to the following example to enter values in the providers tag of the hive_config.xml file.

<properties>
    <!-- Hive SDK common settings omitted -->

    <!-- Hive SDK authentication settings: START -->
    <providers>
        <!-- Login with Telegram -->    
        <telegram botId="123456789" botDomain="https://auth.qpyou.cn"/>
    </providers>
    <!-- Hive SDK authentication settings: END -->
</properties>

Botid (Android, iOS, Windows)

Setting the botId for the Telegram login service. To obtain the botId, refer to the Telegram official documentation or Hive authentication Idp bot setup for Telegram login. The botId is a required value when using Telegram login.

Botdomain (Android, iOS, Windows)

Set the botDomain for the Telegram login service. To obtain the botDomain, refer to the Telegram official documentation or Hive authentication Idp bot setup for Telegram login. If you do not enter a botDomain, it will be set to the default value of https://auth.qpyou.cn. This domain address will be displayed on the Telegram login screen.