認証の使用方法¶
このページでは認証 v4を紹介します。これはHiveプラットフォームの新しい認証システムで、Hive SDK v4.3.0から利用可能です。認証 v4は、Hive SDKの初期化からログインまでの一連のプロセスを管理します。
Note
Authentication v1を使用してゲームを開発したい場合は、Authentication v1メニューを使用したSDK v4による開発を参照してください。
構成¶
認証は三つのステップで構成されています。
- Hive SDKの初期化
- SDKを初期化した後、Hive SDKが提供するすべての機能を使用できます。
- 初期化フェーズでは、利用規約や更新/通知ポップアップが表示されます。
- 初期化フェーズでは、Androidベースのデバイスのみで権限ポップアップが表示されます。
- ゲームサーバー選択メニューとメンテナンスポップアップの表示
- SDKの初期化後にユーザーにゲームサーバー選択メニューを提供します。
- ゲームサーバーの選択後にサーバーメンテナンスポップアップを表示します。
- サインイン
- Hive メンバーシップと多様なID プロバイダー(IdP)を使用して、Authentication v4を通じてゲームにサインインできます。
機能¶
- 認証は、Apple Game Center、Google Play Games、およびFacebookなどの多様なIdPに適用するために柔軟です。
- Facebookなどのソーシャルメディアアカウントでのサインインは、Hive メンバーシップに関係なく利用可能です。
- ユーザーのデバイスに設定されたApple Game CenterまたはGoogle Play Gamesアカウントを使用して、暗黙のログインが可能です。
- 認証およびサインイン手続きのためのカスタマイズされたUIをサポートしています。
- 必要に応じて、Hive SDKが提供するUIを使用するのではなく、ゲームコンセプトに従って与えられたAPIを使用して新しいUIを設計します。
- 分散サーバーを通じて安定したサインインをサポートしています。
- 国際インターネット回線に問題がある場合や、Hive サーバーが故障している場合でも、韓国以外のサーバーを使用してゲームにログインできます。
認証ヘルパー v4¶
Hive SDK v4.7.0 は、AuthV4.Helperを提供します。これは、迅速かつ簡単なサインインを実装するための新機能です。
- ゲームを実行するためのアカウントと、ユーザーのデバイスでサインインするためのアカウントを比較するアップグレードされたAPIを見つけることができます。
- デバイス上のGoogle Play GameまたはApple Game Centerのアカウントは、PlayerIDと同期されたアカウントと比較されます。
- ゲームからデータを確認する必要はなく、SDKファイルを確認するだけです。
- 適切なIDプロバイダー(IdP)は、国のデータを検証することによって表示されます。 (例:国情報が中国(CN)の場合、ゲストアカウントはIdPリストから隠されます。)
- 適切なIdPは、デバイスのOSタイプを特定することによって表示されます。 (例:デバイスのOSタイプがGoogleに基づいていて、国情報が中国(CN)の場合、Google Play GameはIdPリストから隠されます。)
- Hive SDKとの同期のための簡略化されたガイドラインを実行できます。
- ガイドラインに従うためにHive Server APIで実装する必要のない部分が排除されました。
- このアップデートにより、Hive Server APIを使用するよりも理解しやすく、実装しやすくなります。
利用可能なプロバイダー¶
前述のように、 認証 v4 は IdP でユーザーを検証します。ユーザーは、以前に同期された IdP を使用するか、サインインアカウントにリンクするために他のものを選択できます。提供された IdP はゲームによって異なる設定が可能であり、Hive プラットフォームはユーザーの国情報に基づいて適切な IdP をユーザーに公開します。
- 認証 v4 で利用可能な IdP
- Hive メンバーシップ: Hive アカウントのメールアドレスとパスワードでユーザーを検証します。
- Facebook: Facebook アカウントでユーザーを検証します。ユーザーの IP が中国にある場合は公開されません。
- Google Play Games: Google Play Games プロファイルアカウントで認証し、Android プラットフォームのみをサポートします。ユーザーが中国からの場合、この IdP は公開されません。この IdP は以下の Google サインインとは異なります。
- Google: Google のメールアカウントで認証し、Android および iOS を含む他のプラットフォームをサポートします。Android プラットフォームでは、Google Play Games と Google サインインを一緒に提供でき、以下のアイコンで区別できます。
- Game Center: iOS ベースのデバイスでのみ公開される Apple Game Center アカウントでユーザーを検証します。
- QQ: ユーザーの IP が中国にある場合、またはゲーム言語が簡体字中国語である場合に公開される Tencent QQ アカウントでユーザーを検証します。Hive SDK v4.5.0 以降で利用可能です。
- VK: ゲーム言語がロシア語である場合に公開され、中国からアクセスするユーザーには表示されない VK アカウントでユーザーを検証します。Hive SDK v4.6.0 以降で利用可能です。
- WeChat: ユーザーの IP が中国にある場合、またはゲーム言語が簡体字中国語である場合に公開される WeChat アカウントでユーザーを検証します。Hive SDK v4.6.0 以降で利用可能です。
- Apple: iOS 13 で公開される Apple アカウントでユーザーを検証します。Hive SDK v4.11.7.3 以降で利用可能です。
- SignInWithApple: Android での Apple アカウントの検証は、Android API 21 以降でサポートされています。Hive SDK v4.15.6 以降で利用可能です。
- LINE: iOS 10 および Android SDK 17 で公開される LINE アカウントでユーザーを検証します。Hive SDK v4.14.0 以降で利用可能です。
- Weverse: Weverseアカウントを使用してユーザーを認証し、iOS 12以降のバージョンにのみ公開されています。WeverseログインはHive SDK v4.15.2からサポートされています。
- Huawei: ユーザーはHuaweiアカウントを使用して認証され、Android専用です。HuaweiログインはHive SDK v4.16.2からサポートされています。
ユーザー識別子¶
認証において、PlayerIDはユーザーを識別するためのユニークなキーです。 PlayerIDには以下の特徴があります:
- さまざまなIdPと同期することができます。
- 1つのPlayerIDは、1つのIdPのユーザーIDを1つ以上持つことはできません。
- 1つのIdPのユーザーIDは、同じゲーム内で複数のPlayerIDとリンクすることはできません。
- 同じIdPアカウントであっても、ゲームごとに異なるPlayerIDが発行されます。
- Authentication v4が提供するIdPと同期していないユーザーはゲストユーザーです。
PlayerID の例¶
NO | PlayerID | ゲーム | Hive メンバーシップ | Google Play ゲーム | ゲームセンター | |
1 | 10001 | A | X | F10000 | G10000 | A10000 |
2 | 10002 | A | H10000 | X | G20000 | X |
3 | 20001 | B | H10000 | X | X | X |
4 | 20003 | B | X | X | X | X |
- ユーザー番号1は、3つのIdPとPlayerIDを同期します; Facebook、Google Play Games、およびApple Game Center。
- ユーザー番号1と2は、1つのゲームから異なる2つのユーザーIDのGoogle Play Gamesで各PlayerIDを同期します。
- ユーザー番号2と3は、異なる2つのゲームのPlayerIDで同じHiveメンバーシップアカウントを同期します。
- ユーザー番号4は、IdPのいずれとも同期していないゲストユーザーです。