アプリケーションでユーザーを認証する
セキュリティと支払いトランザクションの正しい操作を確保するために、Xsolla APIは、エクソーラログインを使用して承認中に取得したユーザーJSONウェブトークンを使用します。
以下に、エクソーラログインを統合する最速の方法 — 既製のウェブウィジェットをアプリケーションに統合する方法の手順を紹介します。
独自のUIを使用してアプリケーションにユーザーをログインさせたい場合は、Login APIまたはSDKメソッドを使用してユーザー認証ロジックを実装する必要があります。
プロジェクトに最適なSDKを選択します:
エクソーラログインウィジェットSDKを接続する
エクソーラログインウィジェットは、NPMパッケージマネージャー、またはHTMLページの<script>
タグを使ってインストールできます。
以下のいずれかの方法でエクソーラログインウィジェットSDKを接続します:
コンソールを起動し、コマンドを実行します:
- bash
npm i @xsolla/login-sdk
ウィジェットを配置するHTMLページの<head>
タグに次のコードを追加します:
- html
<script src="https://login-sdk.xsolla.com/latest/">
</script>
エクソーラログインウィジェットSDKを初期化する
以下のいずれかの方法でウィジェットを初期化します。以下のパラメータを指定します:
projectId
— ログインプロジェクトID。これは、プロジェクトのアドミンページの「ログイン > ダッシュボード」セクションにあります。preferredLocale
— インタフェース言語。以下の言語に対応しています:アラビア語(ar_AE
)、ブルガリア語(bg_BG
)、チェコ語(cz_CZ
)、英語(en_US
)、ドイツ語(de_DE
)、スペイン語(es_ES
)、フランス語(fr_FR
)、ヘブライ語(he_IL
)、イタリア語(it_IT
)、日本語(ja_JP
)、韓国語(ko_KR
)、ポーランド語(pl_PL
)、ポルトガル語(pt_BR
)、ルーマニア語(ro_RO
)、ロシア語(ru_RU
)、タイ語(th_TH
)、トルコ語(tr_TR
)、ベトナム語(vi_VN
)、簡体字中国語(zh_CN
)、繁体字中国語(zh_TW
)。clientId
— OAuth 2.0 クライアントID。これは、プロジェクトのアドミンページの「ログイン > ログインプロジェクト > セキュリティ > OAuth 2.0」セクションにあります。redirectUri
— ユーザーがアカウントの確認、ログイン、またはパスワードのリセットの確認後にリダイレクトされるURL。「OAuth 2.0 クライアント」設定のアドミンページで指定する必要があります。
残りのパラメータは変更しないでください。
JSファイルに初期化コードを追加します:
- javascript
import { Widget } from '@xsolla/login-sdk';
const xl = new Widget({
projectId: 'LOGIN_PROJECT_ID',
preferredLocale: 'en_US'
clientId: 'CLIENT_ID',
responseType: 'code',
state: 'CUSTOM_STATE',
redirectUri: 'REDIRECT_URI',
scope: 'SCOPE'
});
ウィジェットの初期化コードを<body>
タグに追加します:
- html
<script>
const xl = new XsollaLogin.Widget({
projectId: 'LOGIN_PROJECT_ID',
preferredLocale: 'en_US',
clientId: 'CLIENT_ID',
responseType: 'code',
state: 'CUSTOM_STATE',
redirectUri: 'REDIRECT_URI',
scope: 'SCOPE'
});
</script>
エクソーラログインウィジェットの表示を追加する
- HTMLページに、
on-click
イベントとxl.open()
機能を持つボタンを追加します:
- html
<div id="xl_auth" style="display: none"></div>
<button onclick="showFullscreen()">Fullscreen widget</button>
- HTMLページの
<div>
ブロックでウィジェットを開くためのコードを追加します。
JSファイルに次のコードを追加します:
- javascript
xl.mount('xl_auth');
const showFullscreen = () => {
const myDiv = document.querySelector('#xl_auth');
myDiv.style.display = 'block';
xl.open();
}
ウィジェットを表示するためのコードを<body>
タグに追加します:
- html
<script type="text/javascript">
xl.mount('xl_auth');
function showFullscreen() {
const myDiv = document.querySelector('#xl_auth');
myDiv.style.display = 'block';
xl.open();
}
</script>
アーカイブからパッケージをインポートする
- パッケージを解凍します。
- Unityプロジェクトを開くか、新規プロジェクトを作成します。
- Unityエディタでメインメニューの
Assets > Import Package > Custom Package からSDKを選択します。
コンパイラをセットアップする
提供されているゲーム内ブラウザと互換性があるため、デスクトッププラットフォームには
AndroidまたはiOS用のゲームビルドを作成するには、
- メインメニューで
Edit > Project Settings をクリックします。 Player > Other Settings > Configuration セクションに移動します。Scripting Backend フィールドでMono が選択されていることを確認してください。
Androidの依存関係を解決する
Androidビルドの場合、SDKはネイティブのAndroidライブラリにある関数を使用します。
依存関係を解決し、必要なライブラリをダウンロードするには、次の手順に従います:
- ビルドプラットフォームとしてAndroidを指定します:
- Unityエディタでは、メインメニューで
File > Build Settings に移動します。 Platform パネルで、Android を選択します。Switch Platform をクリックします。
- Unityエディタでは、メインメニューで
- 依存関係マネージャーを起動します:
- IUnityエディタでは、メインメニューで
Assets > External Dependency Manager > Android Resolver > Resolve に移動します。 - 依存関係マネージャーが終了するまで待ちます。
- IUnityエディタでは、メインメニューで
その結果、すべての必要なAndroidライブラリのJARまたはAARファイルがAssets/Plugins/Android
フォルダにダウンロードされます。
SDKをセットアップする
- Unityプロジェクトを開きます。
- メインメニューで
Window > Xsolla > Edit Settings をクリックします。 Inspector 以下の方法でパネルで主なプロジェクトパラメータを指定します:
- アドミンページから設定をインポートします:
Fill settings by PA をクリックします。Login とPassword フィルドでアドミンページの認証データを指定します。Log In をクリックします。Publisher Account セクションでのフィルドを入力します。
- アドミンページから設定をインポートします:
Apply Settings をクリックします。
- アドミンページの「新規登録/ログイン」ページで、パスワードをお忘れですか?をクリックして、指示に従います。
- アドミンページの「プロファイル設定 > パスワードを変更する」セクションで新しいパスワードを指定します(「現在のパスワード」フィールドには任意の値を入力してください)。
- パラメータを手動で指定します:
Project ID フィルドで、プロジェクトIDは、パブリッシャーアカウントでプロジェクト名の横に表示されるものを指定します。Login ID フィルドで、ログインプロジェクトのIDを指定します。これを取得するには、パブリッシャーアカウントを開き、「ログイン > ダッシュボード > ログインプロンプト」セクションに移動し、ログインプロジェクト名の横にある「IDをコピー」をクリックします。Callback URL フィルドで、ユーザーが認証、電子メールの確認、またはパスワードのリセットに成功した後にリダイレクトされるURLまたはパスを指定します。この値は、「ログイン > ログインプロジェクト > セキュリティ > OAuth 2.0」セクションのパブリッシャーアカウントで指定したものと一致する必要があります。
- パラメータを手動で指定します:
app://xlogin.<APP_ID>
がリダイレクトに使用され、<APP_ID>
はOAuth Client ID フィールドで、アドミンページのログインプロジェクト > セキュリティ > OAuth 2.0セクションにあるOAuth 2.0用のクライアントIDを指定します。
- 必要に応じて他の設定も行います(例:
Pay Station UI セクションの決済UIの表示オプションなど)。
エクソーラログインウィジェットの表示を追加する
ウィジェットを開くには、XsollaAuth.AuthWithXsollaWidget
SDKメソッドを呼び出し、以下のパラメータを渡します:
onSuccess
— ユーザー認証成功時のコールバック。onError
— リクエストエラー時のコールバック。onCancel
— ユーザー認証キャンセルコールバック。ユーザーが認証プロセスを完了せずにウィジェットを閉じたときにトリガーされます。locale
— UI言語(任意)。以下の言語に対応しています:アラビア語(ar_AE
)、ブルガリア語(bg_BG
)、チェコ語(cz_CZ
)、英語(en_US
)、ドイツ語(de_DE
)、スペイン語(es_ES
)、フランス語(fr_FR
)、ヘブライ語(he_IL
)、イタリア語(it_IT
)、日本語(ja_JP
)、韓国語(ko_KR
)、ポーランド語(pl_PL
)、ポルトガル語(pt_BR
)、ルーマニア語(ro_RO
)、ロシア語(ru_RU
)、タイ語(th_TH
)、トルコ語(tr_TR
)、ベトナム語(vi_VN
)、簡体字中国語(zh_CN
)、繁体字中国語(zh_TW
)。
スタンドアロンのビルドの場合、ウィジェットはSDKに含まれている組み込みブラウザで開きます。URLの変更を追跡できる別の組み込みブラウジングソリューションを使用できます。
SDKをインストールする
必要なライブラリはMaven Centralから入手できます。
ライブラリをインストールするには:
- Android Studioを起動します。
- アプリケーションの
build.gradle
ファイルを開きます。 - 依存関係セクションに次の行を追加します。
<version_number>
は必要なライブラリバージョンです:
- groovy
implementation "com.xsolla.android:login:<version_number>"
implementation "com.xsolla.android:store:<version_number>"
implementation "com.xsolla.android:payments:<version_number>"
SDKを初期化する
アプリケーションの起動時に静的メソッドを呼び出して、ログインライブラリを初期化します。これを行うには、Androidプロジェクトのソースコードに次の行を追加します:
- kotlin
val loginConfig = LoginConfig.OauthBuilder()
.setProjectId("login-project-id") // You can find it in your Publisher Account, in the Login > Dashboard section.
.setOauthClientId("oauth2-client-id") // You can find it in Publisher Account in the Login > your Login project > Security > OAuth 2.0 section.
.build()
XLogin.init(applicationContext, loginConfig)
エクソーラログインウィジェットの表示を追加する
ウィジェットを開くには:
- ログインライブラリから
XLogin.startAuthWithXsollaWidget
メソッドを呼び出し、以下のパラメータを渡します:
fragment
またはactivity
— 現在のフラグメントまたはアクティビティ。
callback
— ステータスのコールバック。
locale
— UI言語(任意)。以下の言語に対応しています:アラビア語(ar_AE
)、ブルガリア語(bg_BG
)、チェコ語(cz_CZ
)、英語(en_US
)、ドイツ語(de_DE
)、スペイン語(es_ES
)、フランス語(fr_FR
)、ヘブライ語(he_IL
)、イタリア語(it_IT
)、日本語(ja_JP
)、韓国語(ko_KR
)、ポーランド語(pl_PL
)、ポルトガル語(pt_BR
)、ルーマニア語(ro_RO
)、ロシア語(ru_RU
)、タイ語(th_TH
)、トルコ語(tr_TR
)、ベトナム語(vi_VN
)、簡体字中国語(zh_CN
)、繁体字中国語(zh_TW
)。
onActivityResult
メソッドの中で、ログインライブラリのXLogin.finishAuthWithXsollaWidget
メソッドを呼び出し、以下のパラメータを渡します:
activity
— 現在のアクティビティ。アプリケーションコンテキストの処理には必須です。
activityResultRequestCode
—onActivityResult
メソッドからのリクエストコード。オリジナルのリクエストを識別するために使用されます。
activityResultCode
—onActivityResult
メソッドからのリクエストコード。これにより、操作が成功したかどうかを判断できます。
activityResultData
—onActivityResult
から返されるデータ。これには操作の結果が含まれます。
callback
— ステータスコールバック。認証結果の処理に使用されます。
- 認証結果を処理する際は、ストアライブラリを初期化します。
ストアライブラリを初期化する:
- kotlin
XStore.init(<yourProjectId>, XLogin.token!!) // Project ID can be found in your Publisher Account next to the project name.
SDKをインストールする
- Epic Gamesランチャーをダウンロードします。
- Unreal Engineプロジェクトを作成します。
- SDKをダウンロードしてインストールします:
- Unreal EngineマーケットプレイスからSDKをダウンロードしてインストールするには:
- Unreal EngineマーケットプレイスでのSDKページに移動します。
Open in Launcher をクリックします。
- Unreal EngineマーケットプレイスからSDKをダウンロードしてインストールするには:
- Epic Gamesランチャーに移動します。
Install to Engine をクリックします。- Unreal EditorでUnreal Engineプロジェクトを開きます。
Settings > Plugins > Installed > Xsolla SDK セクションに移動します。Enabled ボックスにチェックを入れ、Restart Now をクリックして設定を保存し、Unreal Editorをリロードします。
- GitHubからSDKをダウンロードしてインストールします:
- ご使用のバージョンのエンジンのSDKが含まれたパッケージをダウンロードします。.
- パッケージを解凍します。
- SDKフォルダをUnreal Engineプロジェクトのルートにある
plugins
ディレクトリに移動します。
- GitHubからSDKをダウンロードしてインストールします:
SDKをセットアップする
- Unreal EditorでUnreal Engineプロジェクトを開きます。
Settings > Project Settings > Plugins > Xsolla Settings > General に移動してプロジェクトパラメータを指定します:
Project ID フィルドで、プロジェクト名の横にあるアドミンページにあるプロジェクトIDを指定します。Login ID フィルドで、ログインプロジェクトのIDを指定します。これを取得するには、アドミンページを開き、「ログイン > ダッシュボード > ログインプロンプト」セクションに移動し、ログインプロジェクト名の横にある「IDをコピー」をクリックします。Client ID フィルドで、ログイン > あなたのログインプロジェクト > セキュリティ > OAuth2.0セクションのアドミンページにあるOAuth2.0のクライアントIDを指定します。Redirect URI フィルドで、ユーザー認証、メールアドレスの確認、パスワードのリセットに成功した後にリダイレクトされる、アプリケーション内のURLまたはパスを指定します。この値は、「ログイン > あなたのログインプロジェクト > セキュリティ > OAuth 2.0」セクションのアドミンページで指定したものと一致する必要があります。- 必要に応じて他の設定も行います(例:
Pay Station UI セクションの決済UIの表示オプションなど)。
- その結果、アドミンページのプロジェクトは、デモマップに接続されることになります。
Content Browser > View Options に移動し、Show Engine Content とShow Plugin Content ボックスをチェックに入れます。
エクソーラログインウィジェットの表示を追加する
AuthWithXsollaWidget
SDKメソッドを呼び出し、以下のパラメータを渡します:
WorldContextObject
— ワールドコンテキストオブジェクト(C++コール用)。SuccessCallback
— ユーザー認証成功およびトークン受信時のコールバック(任意)。CancelCallback
— ユーザーが認証プロセスを完了せずにウィジェットを閉じるとトリガーされるユーザー認証キャンセルコールバック(任意)。ErrorCallback
— 認証プロセス中に発生するエラーのコールバック(任意)。bRememberMe
— 認証データを保持する必要があるかどうか(任意)。デフォルトでは、値はfalse
に設定されています。Locale
— UI言語(任意)。デフォルトでは、この値はユーザーのIPアドレスによって定義されます。State
— アプリケーションサーバー上でユーザーの追加検証に使用される文字列。デフォルト値はxsollatest
に設定されています。
例:
スタンドアロンビルドでは、ウィジェットはSDKにバンドルされているW_LoginBrowser
ブループリントを使用して開かれます。
既存のブループリントをカスタマイズして、認証ウィジェットを開くことができます。
誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。