After sign-in, display the sync status of PlayerID that user currently use and provide the function to be able to link with other ID Providers (“IdP”).
Display the sync status of IdP in the game settings menu, and configure the UI so that the user can connect and disconnect with the IdP.

Checking the Information of IdP Sync Status

You can use getPlayerInfo() method of AuthV4 class to see the IdP list synced with the currently logged-in PlayerID. In the game settings screen, make sure to configure the UI to see which IdP is synced, and expose the Phrases to suggest IdP sync.

In the game setting screen, PlayerID of each user should be displayed along with the IdP sync information. Display the PlayerID with the format of CS Code, and with the value of currently logged in user.

  • An example screen to confirm the IdP synced with the currently logged in PlayerID

Followings are sample codes to get the IdP list synced with the current PlayerID to display the current status.

Unity®

API Reference: hive.AuthV4.getPlayerInfo

C++

API Reference: AuthV4::getPlayerInfo

Android

API Reference: com.hive.AuthV4.getPlayerInfo

iOS

API Reference: HIVEAuthV4:getPlayerInfo

Phrases to suggest IdP sync
Language Text
Korean 계정 연동을 통해 플레이 데이터를 안전하게 지키세요!
English Sync your account to protect your game data!
Japanese アカウントを連動してプレイデータを守りましょう!
Chinese (Simplified) 绑定账号,保护游戏数据安全吧!
Chinese (Traditional) 綁定帳號,保護帳號資料安全!
French Synchronise ton compte afin de protéger tes données de jeu !
German Synchronisiere dein Konto, um deine Spieldaten zu schützen!
Russian Синхронизируйте аккаунт, чтобы обезопасить игровые данные.
Spanish ¡Sincronicen su cuenta para proteger sus datos del juego!
Portuguese Sincronize sua conta para proteger seus dados de jogo!
Indonesian Hubungkan akunmu untuk mengamankan data game milikmu!
Malay Segerakkan akaun kamu untuk melindungi data permainanmu!
Vietnamese Vui lòng liên kết tài khoản để bảo vệ an toàn cho dữ liệu game của bạn!
Thai ซิงค์บัญชีเพื่อปกป้องข้อมูลเกมของคุณ!
Italian Sincronizza il tuo account per proteggere i tuoi dati di gioco.
Turkish Oyun verilerini korumak için hesabınızı senkronize ediniz.
Arabic زامن حسابك لحماية بيانات اللعبة الخاصة بك!

IdP Sync

The currently logged-in PlayerID can sync with new IdPs. But when user attempts to sync with the IdP linked with different a PlayerID, an error is occurred. If the sync is successful, check the sync status information and update the sync info UI.

When the IdP that you want to add in the IdP connection is linked to another PlayerID, this is called Account conflict situation. To solve this conflict situation, see Handling account conflicts when working with an IdP.

For IdP integration, call the connect () method with the ProviderType you want to work with as parameters. Followings are sample codes to implement the IdP sync.

Unity®

API Reference: hive.AuthV4.connect

C++

API Reference: AuthV4::connect

Android

API Reference: com.hive.AuthV4.connect

iOS

API Reference: HIVEAuthV4:connect

Handling Account Conflicts with IdP Sync

If the IdP account which the user tries to sync with is already connected to another PlayerID when calling connect() method, an account conflict occurs and returns the playerID of the account that conflicted with a conflict error. In the following description, the currently logged-in account is called CurrentPlayer, and the account with the conflict is called ConflictPlayer.

When the account conflict occurs, you need to expose the ConflictPlayer’s game information to the user and provide a UI to select ConflictPlayer. You can use the UI provided by HIVE SDK or customize it in game for the account selection UI. If you customize the UI, see Customizing for IdP Conflicts.

To use the UI provided by HIVE SDK, configure the information of ConflictPlayer to match with the game and call the showConflictSelection() method with ConflictPlayer data as a parameter. User can change the account with ConflictPlayer or cancel the sync without data change to keep playing the game.

  • The account selection screen provided by HIVE SDK

Notes on Account Selection

Composition of Game Data

ConflictPlayer data is composed of two essential keys, player_id and game_data.

    • player_id: PlayerID of ConflictPlayer
    • game_data: Organize the game data such as character name, the amount of game money, and level as Map<String, Object > format

Following is a sample code to compose the data of ConflictPlayer.

Implementing Account-selecting UI from HIVE SDK

Once you completed to configure the ConflictPlayer data, the showConflictSelection () method is called to expose the UI provided by the SDK and the user’s choice will be returned as a result. If the result is successful and the user selects the ConflictPlayer, then you need to load the game data again. The result returns failure when user cancels or fails to select an account, and in this case, make sure to continue the game play as is.

Followings are sample codes to implement the UI which HIVE SDK provides by configuring game data of the conflicted PlayerID.

Unity®

API Reference: hive.AuthV4.showConflictSelection

C++

API Reference: AuthV4::showConflictSelection

Android

API Reference: com.hive.AuthV4.showConflictSelection

iOS

API Reference: HIVEAuthV4:showConflictSelection

IdP Disconnection

You can have users disconnect from the synced list. To disconnect the IdP, call disconnect() method with the ProviderType as a parameter you want to disconnect. If you successfully disconnect the IdP by using the disconnect() method, make sure to check the connection status of users and then update the synced IdP list on the UI.

Followings are sample codes to implement IdP disconnection.

Unity®

API Reference: hive.AuthV4.disonnect

C++

API Reference: AuthV4::disonnect

Android

API Reference: com.hive.AuthV4.disonnect

iOS

API Reference: HIVEAuthV4:disonnect

Notification phrases in accordance with the situation

Expose the appropriate alerts in accordance with the situation when users disconnect IdP.

  • If a user tries to disconnect the only account synced
Language Phrase
Korean 최소 1개의 계정 연동을 유지해야 합니다.
English You must keep at least 1 of your accounts synced.
Japanese 少なくとも1つのアカウントを連動しなければなりません。
Chinese (Simplified) 需要绑定至少1个账号。
Chinese (Traditional) 至少要有1個帳號是綁定的!
French Tu dois garder au moins l’un de tes comptes synchronisés.
German Du musst mindestens 1 deiner Konten synchronisieren.
Russian Хотя бы 1 из аккаунтов должен быть синхронизирован.
Spanish Debe de mantener al menos 1 de sus cuentas sincronizada.
Portuguese É necessário sincronizar pelo menos 1 das suas contas.
Indonesian Kamu harus punya paling tidak satu akun yang terhubung.
Malay sekurang-kurangnya kamu harus simpan 1 akaun yang segerak.
Vietnamese Bạn cần phải duy trì ít nhất 1 liên kết tài khoản.
Thai ต้องซิงค์บัญชีอย่างหน่อย 1 บัญชี
Italian Devi mantenere almeno 1 dei tuoi account sincronizzato.
Turkish En az 1 hesabınızı senkronize etmeniz gerekmektedir.
Arabic يجب أن تحتفظ على الأقل بحساب واحد متزامن من بين حساباتك.
  • If game limits IdP disconnection
Language Phrase
Korean 계정 연동은 해제할 수 없습니다.
English Account sync can’t be disabled.
Japanese アカウント連動は解除できません。
Chinese (Simplified) 无法解除账号绑定。
Chinese (Traditional) 無法解除綁定。
French La synchronisation de compte ne peut pas être désactivée.
German Konto-Sychronisierung kann nicht deaktiviert werden.
Russian Невозможно отменить синхронизацию аккаунта.
Spanish Una sincronización de cuenta no puede ser desactivada.
Portuguese A sincronização de conta não pode ser desativada.
Indonesian Penghubungan akun tidak bisa dihapus.
Malay Penyegerakan akaun tidak dapat dihapus.
Vietnamese Liên kết tài khoản không thể được gỡ bỏ.
Thai ไม่สามารถปิดการซิงค์บัญชีได้
Italian La sincronizzazione account non può essere disattivata.
Turkish Hesap senkronizasyonu devre dışı bırakılamaz.
Arabic لا يمكن تعطيل مزامنة الحساب.
  • If login status becomes guest after IdP disconnection
Language Presentation
Korean 계정 연동이 없어 게스트 상태로 전환되었습니다. 게스트 상태에서 게임 삭제 시 데이터가 삭제됩니다.
English You have been transferred to a Guest Account because you don’t have any account synced. Your game data will be deleted if you delete the game while playing as a guest.
Japanese アカウントが連動されていないため、ゲストアカウントに切り替えられました。ゲストアカウントの場合、ゲームを削除するとデータも消えてしまいます。
Chinese (Simplified) 未绑定账号,已转换为游客状态。游客状态下删除游戏客户端时,数据也会消失。
Chinese (Traditional) 因為沒有綁定,目前將以訪客帳號登入。訪客帳號登入時,當遊戲刪除或變更設備時, 遊戲資料將無法保留。
French Tu a été transféré vers un compte invité car tu n’as pas de compte synchronisé. Tes données de jeu vont être supprimées si tu supprimes le jeu en jouant en invité.
German Du wurdest auf ein Gastkonto übertragen, weil Du kein Konto synchronisiert hast. Deine Spieldaten werden gelöscht, wenn Du als Gast das Spiel deinstallierst.
Russian Аккаунт не синхронизирован: вы были переведены на гостевой аккаунт.
Spanish Has sido transferido a una Cuenta de Invitado porque no tiene ninguna cuenta sincronizada. Sus datos del juego serán borrados mientras juegue como invitado.
Portuguese Você foi transferido para uma Conta de Visitante porque não há nenhuma conta sincronizada. Seus dados de jogo serão perdidos se o jogo for deletado caso esteja jogando com uma Conta de Visitante.
Indonesian Kamu akan ditransfer ke akun Guest karena kamu tidak punya akun terhubung. Data game akan terhapus jika kamu menghapus game selama bermain sebagain Guest.
Malay Kamu telah dipindah ke akaun tetamu kerana tidak mempunyai akaun yang disegerakkan. Data permainan akan terhapus jika kamu bermain dan menghapuskan permainan sebagai tetamu.
Vietnamese Tài khoản của bạn đã được chuyển sang Tài Khoản Khách do bạn đã không liên kết tài khoản. Dữ liệu game của bạn sẽ bị xóa nếu bạn xóa game khi đang chơi ở tài khoản khách.
Thai กลับมาใช้บัญชี Guest เนื่องจากคุณไม่ได้ซิงค์บัญชีใด ๆ ไว้ หากคุณเล่นโดยใช้บัญชี Guest และลบเกม ข้อมูลเกมจะสูญหายทั้งหมด
Italian Sei stato trasferito a un Account Ospite perché non hai alcun account sincronizzato. I tuoi dati di gioco verranno persi se elimini il gioco mentre sei ancora in modalità Ospite.
Turkish Senkrone edilmiş bir hesabınız olmadığı için Misafir Hesabına transfer edildiniz. Misafir hesabıyla oynarken oyunu silerseniz oyun verileri de silinecektir.
Arabic لقد تم نقلك إلى حساب ضيف لأنك لا تمتلك أي حساب مزامن. سيتم حذف بيانات اللعبة الخاصة بك إذا قمت بحذف اللعبة أثناء اللعب كضيف.