Key input by IdP
To use the 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 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 Console or in the hive_config.xml file (or both). For example, if a developer wants to provide Google and Apple login to users in a Windows environment, they must obtain the key values issued from the Google Cloud console and the Apple Developer site, and enter the keys in both the Console and the hive_config.xml file. Please refer to the following content for the locations to enter the key values for each 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
- Console
- Enter the key value obtained from the IdP console you want to use in the Console
- Console, hive_config.xml
- Key values need to be entered in both Console and hive_config.xml
- Exclusion from settings
- No need to enter key values in both Console and hive_config.xml
- Unsupported
- Unsupported IdP
| IdP / OS | Android | iOS | Windows | macOS | Web Login |
|---|---|---|---|---|---|
| Login with Google Play | Console, hive_config.xml | Not Supported | Not Supported | Not Supported | Not Supported |
| Membership login | Exclude Settings | Exclude Settings | Exclude Settings | Exclude Settings | Console |
| Login with Facebook | hive_config.xml | hive_config.xml | Console, hive_config.xml | Console | Console |
| Login as Guest | Exclude Settings | Exclude Settings | Not Supported | Not Supported | Not Supported |
| Login with Apple | Console, hive_config.xml | hive_config.xml | Console, hive_config.xml | Console | Console |
| Login with Google | hive_config.xml | hive_config.xml | Console, hive_config.xml | Console | Console |
| Login with QQ | hive_config.xml | hive_config.xml | Not Supported | Not Supported | Not Supported |
| Login with VK | hive_config.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 | hive_config.xml | Not Supported | Not Supported |
| Login with Weverse | hive_config.xml | hive_config.xml | Not Supported | Not Supported | Not Supported |
| Login with HUAWEI ID | Console | Not Supported | Not Supported | Not Supported | Not Supported |
| Login with Steam | Console, hive_config.xml | Console, hive_config.xml | Console, hive_config.xml | Console | Not Supported |
| Login with X | hive_config.xml | hive_config.xml | hive_config.xml | Not Supported | Not Supported |
| Login with Telegram | Console, hive_config.xml | Console, hive_config.xml | hive_config.xml | Not Supported | Not Supported |
Enter in the 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 Console to select login types, change login order, and register the authentication key in the Console.
Security key issuance¶
To enhance authentication security between services, you must obtain a security key from the Console > Security Key Settings.
Warning
If you do not obtain a security key, app 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 into 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 (such as user_friends, user_gender) beyond the email and public_profile permissions that are automatically set 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>
<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" />
<!-- 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 configured by the Hive SDK. -->
<!-- When actually using hive_config.xml, 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 appId="1234567" />
<!-- Log in with WeChat -->
<wechat id="wx12345cf6c789c0f1" secret="abcdefg" />
<!-- Login with LINE -->
<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 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, the game company should only insert the permissions required 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" />
<!-- Login with Google (Google Sign-In) -->
<google serverClientId="123456789012-abc.apps.googleusercontent.com" deviceFlowClientId="331526026701-gn1abq1ev23nqj7rdvvlaamf7ii4f3u9.apps.googleusercontent.com" />
<!-- Log in with Steam (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.
To use the serverClientId value as is, you must register the authorized redirect URI in the web application client ID. For more details, refer to setting the redirect URI when linking authentication IdP Google Play.
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 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 that are automatically set by the Hive SDK. -->
<!-- When actually using hive_config.xml, only the permissions required by the game company should be inserted as <permission> elements. -->
<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 set 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)¶
Hive SDK v4 Unity Windows is the app ID for using the Facebook login feature when using Unity on Windows. You can check the app ID on the Meta app dashboard after modifying the app settings. 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 in 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>
<!-- Log in 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 up 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 for iOS Google Sign-In documentation page for more information.
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 input 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.
Id (Android, iOS)¶
Set the VK application 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.
Log in with LINE¶
Refer to the following example to enter values in the providers tag of the hive_config.xml file.
channelId (Android, iOS, Windows)¶
Set the channel ID that can be checked 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: Accesses the Weverse test server. Please use it after discussing with the Weverse representative during development.false: Accesses the Weverse production server.
Log in with Steam¶
Refer to the following example to input values in the providers tag of the hive_config.xml file.
Realm (Android, iOS, Windows)¶
Set the domain owned by the game development team to be used as the realm information in Steam OpenID authentication. Enter the domain of the service requesting the login (e.g., https://your-app.com). The value 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.
Log in with X¶
Refer to the following example to enter values in the providers tag of the hive_config.xml file.
clientId for X (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)¶
Set the botId for the Telegram login service. To obtain the botId, refer to the official Telegram documentation or 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 Authentication IdP bot setup for Telegram login. If you do not enter a botDomain, it will default to https://auth.qpyou.cn. This domain address will be displayed on the Telegram login screen.















