アプリケーションランチャー経由の認証

エクソーラランチャーやSteamを使用してユーザーにアプリケーションを配信する場合、ランチャーの認証情報を使って自動的にユーザー認証を行うことができます。

ハウツー

高度な設定については、ハウツーをご覧ください。

ランチャー経由でアプリケーションに認証を設定する方法

エクソーラランチャーを使用して、アプリケーションをユーザーに配信したり、更新したりすることができます。ランチャーには認証ツールが組み込まれています。ユーザー名とパスワード再入力を避けるには、アプリケーション内でランチャー経由で認証をセットアップしてください。

注意

ランチャーを使用するには、ログインの設定が必要です。別の認証システムを使用することはサポートされていません。

SDKはShop Builder APIを使用してストアと連携しますが、ランチャーは独自のAPIを使用するため、SDKはランチャーのストアと連携するサポートを提供していません。

エンドツーエンドのユーザー認証を設定するには、以下の手順に従ってください:
  1. アプリケーション内にランチャー認証ロジックを実装します。
  2. アプリケーションビルドを作成し、それをランチャーにアップロードします。
お知らせ
ランチャー設定やアプリケーションビルドのアップロードに関する詳細な情報は、連携ガイドで提供されています。

ランチャー経由での認証ロジックを実装する

ランチャーによるアプリケーションでの認証の流れは以下の通り:

  1. ユーザーはランチャーで認証されています。
  2. ユーザーはアプリケーションをインストールして実行します。
  3. ランチャーは、アプリケーションを実行し、コマンドラインでユーザーのパラメータを渡します。認証トークンは、xsolla-login-tokenパラメータで渡されます。
  4. アプリケーションは、コマンドラインパラメータを処理し、トークンを取得します。
  5. アプリケーションは受信したトークンを検証します。
  6. アプリケーションは、認証ページを表示することなく、自動的にユーザーを認証します。

説明したロジックを実装するには、AuthViaXsollaLauncher SDKメソッドを使用します。

ランチャー経由の認証用スクリプトの例:

Copy
Full screen
Small screen
 1using UnityEngine;
 2using Xsolla.Auth;
 3using Xsolla.Core;
 4
 5namespace Xsolla.Samples.Authorization
 6{
 7	public class AuthorizationViaXsollaLauncher : MonoBehaviour
 8	{
 9		private void Start()
10		{
11			// Start authorization via Xsolla Launcher
12			// Pass callback functions for success and error cases
13			XsollaAuth.AuthViaXsollaLauncher(OnSuccess, OnError);
14		}
15
16		private void OnSuccess()
17		{
18			Debug.Log("Authorization successful");
19			// Add actions taken in case of success
20		}
21
22		private void OnError(Error error)
23		{
24			Debug.LogError($"Authorization failed. Error: {error.errorMessage}");
25			// Add actions taken in case of error
26		}
27	}
28}

アプリケーションのビルドを作成する

  1. Unityプロジェクトに移動します。
  2. SDK設定が、ランチャー設定のパブリッシャーアカウント配信 > ランチャー > 一般設定 > 認証)で指定されたログインプロジェクトIDを示していることを確認してください。

  1. トークンが処理されるユーザー認証シーンを実行します。
  2. メインメニューでFile > Build settingsをクリックし、そしてAdd Open Scenesをクリックします。認可シーンがリストの最初に追加されていることを確認してください。
  3. Buildをクリックします。
  4. ポップアップウィンドウで、完成したビルドが置かれるディレクトリへのパスを指定します。
この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
非表示

Steam経由でネイティブ認証を設定する方法

ネイティブ認証により、プレーヤーはインストールされたSteamアプリケーションを介してアプリケーションに入ることができます。

ネイティブ認証をセットアップするには:

  1. パブリッシャーアカウントでサイレント認証をセットアップします
  2. Unityプロジェクトを構成します
  3. Steamworks.NETを初期化します
  4. Steam経由での認証ロジックを実装します
  5. Steam経由での認証を確認します

Unityプロジェクトを構成する

  1. UnityプロジェクトにSteamworks.NETライブラリをインストールします
  2. 必要な設定をsteam_appid.txtファイルに構成します。これを行うには:
    1. Unityプロジェクトのルートフォルダーにあるsteam_appid.txtファイルを開きます。ファイルが存在しない場合は、作成してください。
    2. SteamのアプリケーションIDをファイルに指定し、変更を保存します。ファイルのデフォルト値は480で、これはSteamテストプロジェクトのIDです。
    3. 変更を有効にするには、Unityエディターを再起動します。

Steamworks.NETを初期化する

Steamworks.NETライブラリのメソッドを呼び出す前に、ライブラリが初期化されていることを確認してください。

利便性を考慮すると、用意されているSteamManagerクラスの利用をおすすめします。このクラスは、Steamworks.NETライブラリの初期化を扱い、アプリケーション終了時に自動的にSteamAPI.Shutdown()を呼び出します。また、初期化ステータスを確認するためのSteamManager.Initializedプロパティも提供されます。

Steamが起動していない場合や、Steamworks.NETライブラリの初期化に失敗した場合、SteamManagerは適切にシャットダウンされ、ステータスを安全に確認できる方法を提供します:

Copy
Full screen
Small screen
1if (!SteamManager.Initialized)
2{
3    Debug.LogWarning("Steam is not initialized. Working with the API is not possible.");
4    return;
5}

SteamManagerクラスをゲームの初期シーンにコンポーネントとして別のゲームオブジェクトに追加してください。これはシングルトンとして存在し、シーン間で永続化する必要があります。

Steam経由で認証ロジックを実装する

認証を開始するには、SilentAuth SDKメソッドを使用し、以下のパラメータを渡します:

  • providerName — アプリケーションの配信プラットフォーム。steamを値として渡します。
  • appId — SteamのアプリケーションID。値は、steam_appid.txtファイルで指定された値と一致する必要があります。
  • sessionTicket — Steamセッションチケット。これを取得するには、SteamUtils.GetSteamSessionTicket()メソッドを呼び出します。
  • onSuccess — 成功したユーザー認証コールバック。
  • onError — エラーコールバック。

Steam経由の認証用スクリプトの例:

Copy
Full screen
Small screen
 1using UnityEngine;
 2using Xsolla.Auth;
 3using Xsolla.Core;
 4
 5namespace Xsolla.Samples.Steam
 6{
 7	public class SteamNativeAuthorization : MonoBehaviour
 8	{
 9		private void Start()
10		{
11			// Ensure that the Steamworks API is initialized !!!
12
13			// Get the steam session ticket from `SteamUtils` class
14			var steamSessionTicket = SteamUtils.GetSteamSessionTicket();
15
16			// Start silent authentication
17			// Pass `steam` as `providerName` parameter
18			// Pass your `Steam App ID` as `appId` parameter. We use `480` as an example
19			// Pass `steamSessionTicket` variable as the `sessionTicket` parameter
20			// Pass callback functions for success and error cases
21			XsollaAuth.SilentAuth("steam", "480", steamSessionTicket, OnSuccess, OnError);
22		}
23
24		private void OnSuccess()
25		{
26			Debug.Log("Authorization successful");
27
28			// Add actions taken in case of success
29		}
30
31		private void OnError(Error error)
32		{
33			Debug.LogError($"Authorization failed. Error: {error.errorMessage}");
34
35			// Add actions taken in case of error
36		}
37	}
38}

Steam経由での認証を確認する

  1. Steamを起動してログインします。それ以外の場合、コールバック関数はRequested steam session ticket is null. Please check your Steam settingsエラーを確認してください。
  2. スタンドアローンプラットフォーム用のUnityプロジェクトのビルドを作成し、それを実行するか、Unityエディターでシーンを開始します。すべてが正しい場合、自動的にアプリケーションにログインされます。

この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
非表示
最終更新日: 2025年8月29日

誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。

問題を報告する
当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
フォローアップ用のメールをご提供してください
ご意見ありがとうございました!
フィードバックを送信できませんでした
後でもう一度お試しいただくか、doc_feedback@xsolla.comまでお問い合わせください。