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