デバイス ID でのログインを実装する
概要
AccelByte Gaming Services (AGS) の最も簡単な認証方法は、デバイス ID を介したログインです。デバイス ID は、デバイスを識別するための一意の文字列です。デバイス ID は、コンピュータのシリアル番号や、モバイルデバイスの国際移動体装置識別番号 (IMEI) といった一意の識別子を参照します。デバイス ID を使用してテストを行えるほか、プレイヤーはアカウントなしでモバイルゲームに簡単にログインできます。
プレイヤーがデバイス ID を使用すると、登録情報や認証情報を入力しなくともゲームにログインできます。プレイヤーが初めてログインすると、システムは自動的にアカウントを作成し、マッチメイキング、フレンド管理、ストアなどのさまざまなサービスにアクセスできるようになります。
チュートリアル
このチュートリアルに従い、デバイス ID でのログインをゲームに実装してください。
管理者ポータルでログイン方法を設定
AccelByte は、多くのログイン方法をサポートしています。有効にするログイン方法を選択してください。
デバイス ID ログイン方法を有効にするには、[Admin Portal (管理者ポータル)]ダッシュボードを開き、ゲームの名前空間を選択します。ダッシュボードのサイドメニューペインから、[Login Methods (ログイン方法)] > [Add New (新規を追加)]を選択します。
システムにより、AccelByte のすべてのログイン方法を表示する新しいメニューに移動します。デバイス ID ログイン方法を追加するには、[Device (デバイス)]を選択します。
次に、ログイン方法を設定するポップアップウィンドウが表示されます。アカウント承認に成功した後は、プレイヤーをリダイレクトするリダイレクト URI を入力するだけです。デフォルトの URI は http://127.0.0.1 です。完了したら[Create (作成)]をクリックします。
新しいメニューが表示され、設定と、[Active (アクティブ)]となっているステータスが表示されます。メニューが表示されない場合は、[Activate (アクティベート)]をクリックしてデバイス ID ログイン方法を選択します。
これで、管理者ポータルでデバイス ID ログイン方法を設定して有効化しました。次に、ゲームプロジェクトにデバイス ID でのログインを実装します。
ゲームにログインを実装
このサンプルコードを使用して、デバイス ID でのログインをゲームに実装します。
- Unreal Engine
- Unity
IOnlineSubsystem* Subsystem = IOnlineSubsystem::Get(ACCELBYTE_SUBSYSTEM);
ensure(Subsystem != nullptr);
FOnlineIdentityAccelBytePtr IdentityInterface = nullptr;
ensure(FOnlineIdentityAccelByte::GetFromSubsystem(Subsystem, IdentityInterface));
int32 LocalUserNum = 0;
FOnlineAccountCredentialsAccelByte Credentials{ EAccelByteLoginType::DeviceId, TEXT(“”), TEXT(“”) };
// Login
IdentityInterface->AddOnLoginCompleteDelegate_Handle(LocalUserNum
, FOnLoginCompleteDelegate::CreateLambda([](int32 LocalUserNum, bool bLoginWasSuccessful, const FUniqueNetId& UserId, const FString& LoginError)
{
if (bLoginWasSuccessful)
{
// Do something when player successfully logged in
}
else
{
// Do something when player failed to log in
}
})
);
IdentityInterface->Login(LocalUserNum, Credentials);
ApiClient apiClient = MultiRegistry.GetApiClient(emailAddress);
apiClient.GetUser().LoginWithDeviceId(loginResult =>
{
if (!loginResult.IsError)
{
// Do something when player successfully logged in
}
else
{
// Do something when player failed to log in
}
});
お疲れさまでした。これで当社のプラットフォームにログインし、AGS の可能性を最大限に引き出すことができます。