アプリケーションランチャー経由の認証
エクソーラランチャーやSteamを使用してユーザーにアプリケーションを配信する場合、ランチャーの認証情報を使って自動的にユーザー認証を行うことができます。
ハウツー
高度な設定については、ハウツーをご覧ください。
エクソーラランチャーを使用して、アプリケーションをユーザーに配信したり、更新したりすることができます。ランチャーには認証ツールが組み込まれています。ユーザー名とパスワード再入力を避けるには、アプリケーション内でランチャー経由で認証をセットアップしてください。
注意
ランチャーを使用するには、ログインの設定が必要です。別の認証システムを使用することはサポートされていません。
SDKはIGS APIを使用してストアと連携しますが、ランチャーは独自のAPIを使用するため、SDKはランチャーのストアと連携するサポートを提供していません。
- アプリケーション内にランチャー認証ロジックを実装します。
- アプリケーションビルドを作成し、それをランチャーにアップロードします。
お知らせ
ランチャー設定やアプリケーションビルドのアップロードに関する詳細な情報は、連携ガイドで提供されています。
ランチャーによる認証ロジックを実装する
ランチャーによるアプリケーションでの認証の流れは以下の通り:
- ユーザーはランチャーで認証されています。
- ユーザーはアプリケーションをインストールして実行します。
- ランチャーは、アプリケーションを実行し、コマンドラインでユーザーのパラメータを渡します。認証トークンは、
xsolla-login-token
パラメータで渡されます。 - アプリケーションは、コマンドラインパラメーターを処理し、トークンを取得します。
- アプリケーションは受信したトークンを検証します。
- アプリケーションは、認証ページを表示することなく、自動的にユーザーを認証します。
説明したロジックを実装するには、AuthViaXsollaLauncher
SDKメソッドを使用します。
ランチャー経由の認証用スクリプトの例:
Copy
- C#
using UnityEngine;
using Xsolla.Auth;
using Xsolla.Core;
namespace Xsolla.Samples.Authorization
{
public class AuthorizationViaXsollaLauncher : MonoBehaviour
{
private void Start()
{
// Start authorization via Xsolla Launcher
// Pass callback functions for success and error cases
XsollaAuth.AuthViaXsollaLauncher(OnSuccess, OnError);
}
private void OnSuccess()
{
Debug.Log("Authorization successful");
// Add actions taken in case of success
}
private void OnError(Error error)
{
Debug.LogError($"Authorization failed. Error: {error.errorMessage}");
// Add actions taken in case of error
}
}
}
アプリケーションのビルドを作成する
- Unityプロジェクトに移動します。
- SDK設定が、ランチャー設定のパブリッシャーアカウント(ランチャー > 一般設定 > 認証)で指定されたログインプロジェクトIDを示していることを確認してください。
- トークンが処理されるユーザー認証シーンを実行します。
- メインメニューで
File > Build settings をクリックし、そしてAdd Open Scenes をクリックします。認可シーンがリストの最初に追加されていることを確認してください。 Build をクリックします。- ポップアップウィンドウで、完成したビルドが置かれるディレクトリへのパスを指定します。
この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。ネイティブ認証により、プレーヤーはインストールされたSteamアプリケーションを介してアプリケーションに入ることができます。
ネイティブ認証を設定するには:
- アドミンページでStreamを介してサイレント認証をセットアップします。
- Unityプロジェクトを構成します。
- Steam経由の認証ロジックを実装します。
- Steamを介して認証を確認します。
Unityプロジェクトを構成する
お知らせ
SDKはSteamworks.NETライブラリを使用してSteamと対話します。このライブラリはSDKに付属しており、
Assets/Xsolla/ThirdParty/Steamworks.NET
ディレクトリにあります。- Unityプロジェクトのルートフォルダーにある
steam_appid.txt
ファイルを開きます。 - SteamのアプリケーションIDをファイルに指定し、変更を保存します。ファイルのデフォルト値は
480
で、これはSteamテストプロジェクトのIDです。 - 変更を有効にするには、Unityエディターを再起動します。
Steam経由で認証ロジックを実装する
認証を開始するには、SilentAuth
SDKメソッドを使用し、以下のパラメータを渡します:
providerName
— アプリケーションのパブリッシングプラットフォーム。steam
を値として渡します。appId
— SteamのアプリケーションID。値は、steam_appid.txt
ファイルで指定された値と一致する必要があります。sessionTicket
— Steamセッションチケット。これを取得するには、SteamUtils.GetSteamSessionTicket()
メソッドを呼び出します。onSuccess
— 成功したユーザー認証コールバック。onError
— エラーコールバック。
Steam経由の認証用スクリプトの例:
Copy
- C#
using UnityEngine;
using Xsolla.Auth;
using Xsolla.Core;
namespace Xsolla.Samples.Steam
{
public class SteamNativeAuthorization : MonoBehaviour
{
private void Start()
{
// Get the steam session ticket from `SteamUtils` class
var steamSessionTicket = SteamUtils.GetSteamSessionTicket();
// Start silent authentication
// Pass `steam` as `providerName` parameter
// Pass your `Steam App ID` as `appId` parameter. We use `480` as an example
// Pass `steamSessionTicket` variable as the `sessionTicket` parameter
// Pass callback functions for success and error cases
XsollaAuth.SilentAuth("steam", "480", steamSessionTicket, OnSuccess, OnError);
}
private void OnSuccess()
{
Debug.Log("Authorization successful");
// Add actions taken in case of success
}
private void OnError(Error error)
{
Debug.LogError($"Authorization failed. Error: {error.errorMessage}");
// Add actions taken in case of error
}
}
}
Steamによる認証を確認する
- Steamを起動してログインします。それ以外の場合、コールバック関数は
Requested steam session ticket is null. Please check your Steam settings
エラーを確認してください。 - スタンドアローンプラットフォーム用のUnityプロジェクトのビルドを作成し、それを実行するか、Unityエディターでシーンを開始します。すべてが正しい場合、あなたは自動的にアプリケーションにログインされます。
この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。