Unity用SDK / アプリケーションランチャー経由の認証
  ドキュメントに戻る

Unity用SDK

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

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

ハウツー

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

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

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

注意

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

SDKはインゲームストア&ゲームキーの直接販売APIを使用してストアと連携しますが、ランチャーは独自のAPIを使用するため、SDKはランチャーのストアと連携するサポートを提供していません。

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

ランチャーによる認証ロジックを実装する

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

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

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

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

Copy
Full screen
Small screen
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
		}
	}
}

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

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

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

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

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

ネイティブ認証を設定するには:

  1. アドミンページでStreamを介してサイレント認証をセットアップします。
  2. Unityプロジェクトを構成します。
  3. Steam経由の認証ロジックを実装します。
  4. Steamを介して認証を確認します。

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

お知らせ
SDKはSteamworks.NETライブラリを使用してSteamと対話します。このライブラリはSDKに付属しており、Assets/Xsolla/ThirdParty/Steamworks.NETディレクトリにあります。
  1. Unityプロジェクトのルートフォルダーにあるsteam_appid.txtファイルを開きます。
  2. SteamのアプリケーションIDをファイルに指定し、変更を保存します。ファイルのデフォルト値は480で、これはSteamテストプロジェクトのIDです。
  3. 変更を有効にするには、Unityエディターを再起動します。

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

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

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

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

Copy
Full screen
Small screen
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による認証を確認する

  1. Steamを起動してログインします。それ以外の場合、コールバック関数はRequested steam session ticket is null. Please check your Steam settingsエラーを確認してください。
  2. スタンドアローンプラットフォーム用のUnityプロジェクトのビルドを作成し、それを実行するか、Unityエディターでシーンを開始します。すべてが正しい場合、あなたは自動的にアプリケーションにログインされます。
この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
非表示
最終更新日: 2023年10月10日

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

問題を報告する
当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
フォローアップ用のメールをご提供してください
ご意見ありがとうございました!