デバイス ID でのログインを実装する
注釈:本資料はAI技術を用いて翻訳されています。
Overview
コンピューターのシリアル番号、モバイルデバイスの International Mobile Equipment Identity (IMEI)、またはその他の一意のデバイス識別子といったデバイス ID を使用して、AccelByte Gaming Services (AGS) にログインし、その機能を利用できます。デバイス ID ログインはアカウントの認証情報を必要としないため、すぐに使い始めるのに最適で、テスト目的やモバイルゲームでの利用に向いています。
このガイドでは、ゲームにデバイス ID ログインを実装する方法を説明します。
AccelByte では、リリースするゲームにはより安全なログイン方法を使用することを推奨します。ゲームのリリース後にこのログイン方法を使用する場合は注意してください。
Prerequisites
このガイドを完了するには、以下が必要です。
- 前の Getting Started ガイドを完了していること。
- Unreal または Unity プロジェクト。
Configure a login method in the Admin Portal
プロジェクトに接続できるように、AGS Admin Portal でログイン方法を設定する必要があります。
-
AGS Admin Portal のダッシュボードで、プロジェクトのゲームネームスペース配下から、Game Setup > 3rd Party Configuration > Auth & Account Linking に移動します。
-
Login Methods ページで、+ Add New ボタンをクリックします。
-
ログイン方法の一覧から、Device を選択します。
-
ポップアップで、Redirect URI フィールドに
http://127.0.0.1を入力します。入力が必要なのはこのフィールドのみです。完了したら、Create をクリックします。 -
Login Platform Configuration ページで、Status が ACTIVE に設定されていることを確認します。設定されていない場合は、Integration の横にある Activate をクリックし、表示されるポップアップで有効化を確認します。
これで、AGS Admin Portal でログイン方法が設定されました。
Implement device ID logins into your game
ログインを呼び出す予定の場所に、使用するエンジン用の以下のコードを貼り付けます。
- Unreal Engine
- Unity
デバイス ID ログインのコードを統合する場所では、必ず以下のライブラリを #include してください。
#include "OnlineSubsystemAccelByte.h"#include "OnlineSubsystemAccelByteTypes.h"#include "OnlineIdentityInterfaceAccelByte.h"
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);
デバイス ID ログインのコードを統合する場所では、必ず以下のライブラリを using してください。
using AccelByte;
string emailAddress = "yourEmailAddress";
AccelByte.Core.ApiClient apiClient = AccelByte.Core.AccelByteSDK.GetClientRegistry().GetApi(emailAddress);
AccelByte.Core.ResultCallback<AccelByte.Models.TokenData, AccelByte.Models.OAuthError> loginCallback = loginResult =>
{
if (!loginResult.IsError)
{
// Do something when player successfully logged in
}
else
{
// Do something when player failed to log in
}
};
apiClient.GetUser().LoginWithDeviceId(loginCallback);
Test device ID login implementation
コードコメントの成功時と失敗時の箇所にログメッセージを記述し、ゲームをプレイして、ログインの統合をテストします。成功時のログメッセージが表示されれば成功です。デバイス ID ログインの実装が完了し、AGS がプロジェクトに完全に統合されました。
これで、ゲームに他の AGS の機能を導入する準備が整いました。AGS の機能の詳細については Modules セクションを参照するか、How-to guides のステップバイステップガイドに従って、すぐに統合を進めてください。