Login Widget SDK APIコールの使用方法

以下の場合で、ログインウィジェットからLogin Widget SDK APIコールを別に扱うことができます:

  • 自分のウィジェットを使用する
  • ログインウィジェットフローを部分的に実装する

お知らせ
すべてのAPIコールがこのシナリオをサポートしているわけではありません

コードの初期化

Login Widget SDK APIコールをウィジェットなしで使用するには、以下のコードを<body>タグに接続します:

Copy
Full screen
Small screen
1<script>
2const api = new XsollaLogin.Api({
3  projectId: 'someProjectId'
4});
5</script>

npm-packageを使用する場合の初期化コード:

Copy
Full screen
Small screen
1import XsollaLogin from '@xsolla/login-sdk';
2const api = new XsollaLogin.Api({
3  projectId: 'someProjectId'
4});

初期化コードでは、以下のパラメータが渡されます:

パラメータ種類説明文
projectId
stringパブリッシャーアカウントからのログインプロジェクトのID。必須
fullLocale
string<language code>_<country code>フォーマットのインターフェース言語と地域、そこで:以下の言語に対応しています:アラビア語 (ar_AE)、ブルガリア語 (bg_BG)、チェコ語 (cs_CZ)、フィリピン語 (fil_PH)、英語 (en_XX)、ドイツ語 (de_DE)、スペイン語 (es_ES)、フランス語 (fr_FR)、ヘブライ語 (he_IL)、インドネシア語 (id_ID)、イタリア語 (it_IT)、日本語 (ja_JP)、クメール語 (km-KH)、韓国語 (ko_KR)、ラオス語 (lo_LA)、ミャンマー語 (my_MM)、ネパール語 (ne_NP)、ポーランド語 (pl_PL)、ポルトガル語 (pt_BR)、ルーマニア語 (ro_RO)、ロシア語 (ru_RU)、タイ語 (th_TH)、トルコ語 (tr_TR)、ベトナム語 (vi_VN)、中国語(簡体字)(zh_CN)、中国語(繁体字)(zh_TW)。
このパラメータは、指定された地域での使用頻度によるソーシャルネットワークのソートや、ユーザーに送信されるメール言語に影響します。
callbackUrl
stringログインまたはサインアップが成功した場合にエクソーラログインサーバーが機能するURL。
emailTemplate
stringユーザーにメールを送信するためのプロジェクト名。
payload
stringコードで渡すことのできる追加データ。このデータは、ログイン成功後にユーザーJWTに追加されます。
with_logout
boolean新規ログイン時に以前のトークンを取り消すかどうか。 デフォルトではfalseです。
clientId
stringクライアントアプリのID。アプリでOAuth 2.0プロトコルベースの認証が使用されている場合に渡されます。
scope
stringアプリによって要求されたユーザーアカウントに関する追加情報。アプリでOAuth 2.0プロトコルベースの認証が使用されている場合に渡されます。 可能な値:
  • email — ソーシャルログインの際に、ユーザーのメールアドレスを入力する追加リクエスト。
  • offline — JWTの有効期限が切れた後の自動更新。
  • playfab — の SessionTicket パラメータは、ユーザーデータが PlayFab に保存されている場合、自動的にJWTに渡されます。
また、独自のパラメータを指定することもできます。エクソーラログインサーバーはそれらを処理せず、JWTに返します。
state
stringCSRF攻撃などを防ぐための追加のユーザー認証です。8文字以上でなければなりません。
redirectUrl
stringユーザーがアカウントを確認、ログイン、またはパスワードのリセットを確認した後、ユーザーがリダイレクトされるURL。
booleanユーザーがメールまたは電話によるパスワードなしでログインした際に、電子メール内のリンクによるパスワードなし認証の確認を無効にするかどうか。デフォルトではfalseです。
is_oauth2
booleanOAuth 2.0プロトコルベースの認証をユーザーに使用するかどうか。デフォルトではfalseです。

APIコール

以下のLogin Widget SDK APIコールは、ログインウィジェットがなくても使用できます:

パスワードによるユーザー登録

コール説明パラメータ
api.signup(userInfo);新しいユーザを登録します。ユーザに関するデータは、登録時にuserInfoオブジェクトに渡されます。登録されたユーザのトークンはレスポンスに渡されます。
  • email(string)— ユーザーのメールアドレス。必須
  • username(string)— ユーザー名。必須
  • password(string)— ユーザーパスワード。必須
  • nickname(string)— ユーザーニックネーム。
例:
Copy
Full screen
Small screen
 1let result
 2// Request
 3api.signup({
 4  userInfo: {
 5    email: 'email@address.com',
 6    fields: {
 7      nickname: 'Johny'
 8    },
 9    password: 'password123',
10    username: 'John'
11  }
12}).then((res) => {
13  result = res;
14})
15
16// Response
17result === {
18  login_url: 'https://someurl.com?token=XXXXXXX'
19}

パスワードによるログイン

コール説明パラメータ
api.login(credentials);パスワードを使用してユーザーを認証します。ユーザーログインに必要なユーザーに関するデータは、credentialsオブジェクトに渡されます。認証されたユーザーのトークンがレスポンスに渡されます。
  • username(string)— ユーザー名、例えば — John、またはメールアドレス、例えば — email@address.com必須
  • password(string) — ユーザーパスワード。必須
例:
Copy
Full screen
Small screen
 1let result
 2// Request
 3api.login({
 4  credentials: {
 5    password: 'password123',
 6    username: 'email@address.com'
 7  }
 8}).then((res) => {
 9  result = res;
10})
11
12// Response
13result === {
14  login_url: 'https://someurl.com?token=XXXXXXX'
15}
16
17// Response with additional fields
18result === {
19  ask_fields: [{
20    confirmation_type: 'code' || 'link'
21    name: 'phone_number'
22    required: false
23    step: 0 // Displays the position of the field in the data retrieval queue.
24    type: 'phone'
25    validation: {} // Custom validation
26  }]
27  login_url: 'https://someurl.com?token=XXXXXXX',
28  token: 'sometoken'
29}

アカウント確認

コール説明パラメータ
api.resendEmail(username);追加のアカウント確認メールを送信します。アカウントを確認するには、ユーザーはメール内のリンクをクリックする必要があります。ユーザーのメールアドレスは、usernameオブジェクトで渡されます。標準コード204が応答で返されます。
  • username(string) — ユーザーのメールアドレス、例えば — email@address.com必須
例:
Copy
Full screen
Small screen
1// Request
2api.resendEmail({
3  username: "email@address.com"
4}).then((res) => {
5  if (res.code === 204) {
6    console.log("Email resend success");
7  }
8});

パスワードレス認証

ユーザーフロー:

  1. ユーザーは、電話番号やメールアドレスを入力します。入力された認証情報に応じて、api.phoneGetCodeまたはapi.emailGetCodeのいずれかが呼び出されます。
  2. サーバーはそのデータを受け取り、コードを記載したメールまたはSMSをユーザーに送信します。コードの初期化時に、電子メール内のリンクによるログイン確認を無効にするdisableConfirmByLink=trueパラメータが渡されると、リンクをクリックした後のユーザーの自動リダイレクトにapi.getConfirmCodeコールが使用されます。
  3. api.phoneGetCodeまたはapi.emailGetCodeコールは、api.loginWithPhoneCodeまたはapi.loginWithEmailCodeコールによる電話番号またはメールアドレスの確認に使用したoperation_idパラメータを返します。
  4. メールアドレスまたは電話番号の確認に成功すると、tokenパラメータを持つURLが返されます。このトークンは、ユーザーに関する追加データのリクエストに使用されます。

コール説明パラメータ
api.phoneGetCode({ phone_number, link_url, isOauth2 });電話番号に確認コードを送信します。電話番号の確認に使用したoperation_idパラメータがレスポンスに返されます。
  • phone_number(string)— パスワードレス認証のための電話番号。
  • link_url(string)— 確認URL。
  • isOauth2 (boolean) —OAuth 2.0プロトコルベースのユーザー認証を使用するかどうか。必須
例:
Copy
Full screen
Small screen
 1let result
 2// Request
 3api.phoneGetCode({
 4  phone_number: '+somenumber',
 5  link_url: 'https://someurl.com',
 6  isOauth2: true
 7}).then((res) => {
 8  result = res;
 9})
10
11// Response
12result === {
13  operation_id: '2334j255fdf13d515fgd1'
14}
コール説明パラメータ
api.phoneGetCode({ phone_number, link_url, isOauth2 });メールアドレスに確認コードを送信します。メールアドレスの確認に使用したoperation_idパラメータがレスポンスに返されます。
  • email(string)— パスワードレス認証用のメールアドレス。
  • link_url(string)— 確認URL。
  • isOauth2 (boolean) — OAuth 2.0プロトコルベースのユーザー認証を使用するかどうか。必須
例:
Copy
Full screen
Small screen
 1let result
 2// Request
 3api.emailGetCode({
 4  email: 'email@address.com',
 5  link_url: 'https://someurl.com',
 6  isOauth2: true
 7}).then((res) => {
 8  result = res;
 9})
10
11// Response
12result === {
13  operation_id: '2334j255fdf13d515fgd1'
14}
コール説明パラメータ
api.getConfirmCode({ cancelToken, login, operation_id });ユーザーがリンクをクリックした後に、自動的にリダイレクトするための確認コードを取得します。
  • cancelToken(string)— セッションを終了するための一意のトークン。必須
  • login(string)— ユーザーの電話番号またはメールアドレス。必須
  • operation_id(string)— 現在のセッション中にユーザーの電話番号または電子メールアドレスを確認するために使用される一意の識別子。必須
例:
Copy
Full screen
Small screen
 1let result
 2// Request
 3const axiosCancelToken = Axios.CancelToken.source();
 4
 5api.getConfirmCode({
 6  cancelToken: axiosCancelToken,
 7  login: '+somenumber' || 'email@address.com',
 8  operation_id: '334j255fdf13d515fgd1'
 9}).then((res) => {
10  result = res;
11})
12
13// Response
14result === {
15  code: 'string'
16}
17
18// If the waiting time has elapsed, returns:
19result === {
20  error: {
21    code: '010-050',
22    description: 'Deadline exceeded.'
23  }
24}
25
26// If you no longer need to wait for verification through the link you can close the request waiting period:
27axiosCancelToken.cancel();
コール説明パラメータ
api.loginWithPhoneCode({ phone_number, code, operation_id, isOauth2 });電話番号を確認します。レスポンスには、tokenパラメータを持つURLが返されます。これは、ユーザーに関する追加データのリクエストに使用されます。
  • phone_number(string) — パスワードレス認証のための電話番号。
  • code (string) — SMSで送信される電話確認コード
  • operation_id(string) — 現在のセッション中にユーザーの電話番号を確認するために使用される一意の識別子。
  • isOauth2(boolean)—OAuth 2.0プロトコルベースのユーザー認証を使用するかどうか。必須
例:
Copy
Full screen
Small screen
 1let result
 2// Request
 3api.loginWithPhoneCode({
 4  phone_number: 'email@address.com',
 5  code: '3423',
 6  operation_id: '334j255fdf13d515fgd1',
 7  isOauth2: true
 8}).then((res) => {
 9  result = res;
10})
11
12// Response
13result === {
14  login_url: 'https://someurl.com?token=XXXXXXX'
15}
16
17
18// Response with additional fields
19result === {
20  ask_fields: [{
21    confirmation_type: 'code' || 'link'
22    name: 'email'
23    required: false
24    step: 0 // Displays the position of the field in the data retrieval queue.
25    type: 'email'
26    validation: {} // Custom validation
27  }]
28  login_url: 'https://someurl.com?token=XXXXXXX',
29  token: 'sometoken'
30}
コール説明パラメータ
api.loginWithEmailCode({ email, code, operation_id, isOauth2 });メールアドレスを確認します。レスポンスには、tokenパラメータを持つURLが返されます。これは、ユーザーに関する追加データのリクエストに使用されます。
  • email(string) — パスワードレス認証のためのメールアドレス。
  • code (string) — メールで送信される確認コード
  • operation_id(string) — 現在のセッション中にメールアドレスを確認するために使用される一意の識別子。
  • isOauth2(boolean)— OAuth 2.0プロトコルベースのユーザー認証を使用するかどうか。必須
例:
Copy
Full screen
Small screen
 1let result
 2// Request
 3api.loginWithEmailCode({
 4  email: 'email@address.com',
 5  code: '3423',
 6  operation_id: '334j255fdf13d515fgd1',
 7  isOauth2: true
 8}).then((res) => {
 9  result = res;
10})
11
12// Response
13result === {
14  login_url: 'https://someurl.com?token=XXXXXXX'
15}
16
17// Response with additional fields
18result === {
19  ask_fields: [{
20    confirmation_type: 'code' || 'link'
21    name: 'phone_number'
22    required: false
23    step: 0 // Displays the position of the field in the data retrieval queue.
24    type: 'phone'
25    validation: {} // Custom validation
26  }]
27  login_url: 'https://someurl.com?token=XXXXXXX',
28  token: 'sometoken'
29}

パスワードなしでのフィールド追加リクエスト

ユーザーフロー:

  1. ユーザーの認証に成功した後、api.loginWithEmailCodeまたはapi.loginWithPhoneCodeのコールは、アプリ内で別のフォームで表示できるフィールドの配列を返し、さらにユーザーの電話番号とメールアドレスを収集します。また、api.getAskFieldsコールを実行することで、フィールドのリストを取得することができます。
  2. ユーザーは、電話番号やメールアドレスを入力します。api.askが実行されます。
  3. データを受け取ったサーバーは、電話番号やメールアドレスに確認コードを送信します。コードの初期化時に、メール内のリンクによるログイン確認を無効にするdisableConfirmByLink=trueパラメータが渡された場合、リンクをクリックした後の自動ユーザーリダイレクトにapi.getConfirmCodeコールが使用されます。
  4. api.askコールは、api.loginWithPhoneCodeまたはapi.loginWithEmailCodeコールによる電話番号またはメールアドレスの確認に使用されるoperation_idパラメータを返します。
  5. 認証されたユーザーへのリダイレクトに使用されるURLは、データの確認に成功した後に返されます。

コール説明パラメータ
api.getAskFields(token);追加リクエストのフィールドのリストを取得します。
  • token(string) — ユーザーJWT。必須
例:
Copy
Full screen
Small screen
 1let result
 2// Request
 3api.getAskFields({
 4  token: 'sometoken'
 5}).then((res) => {
 6  result = res;
 7})
 8
 9// Response
10result === [
11  {
12    confirmation_type: 'code' || 'link'
13    name: 'phone_number' || 'email'
14    required: false
15    step: 0 // Displays the position of the field in the data retrieval queue.
16    type: 'phone' || 'email'
17    validation: {} // Custom validation
18  }
19]
コール説明パラメータ
api.ask({ fields, token, link_url });ユーザーに関する追加データ — 電話番号またはメールアドレスを送信します。指定された電話番号やメールアドレスを確認するためのoperation_idパラメータがレスポンスに返されます。確認が不要な場合は、認証済みユーザーへのリダイレクトに使用されるtokenパラメータを持つURLをレスポンスに返します。
  • fields(object) — ユーザーの電話番号やメールアドレスが渡されるオブジェクト。必須
  • token(string) — ユーザーJWT。必須
  • link_url(string)— 確認URL。
電話番号を送信する場合の例:
Copy
Full screen
Small screen
 1let result
 2// Request
 3api.ask({
 4  fields: {  
 5    phone_number: '+somenumber'
 6  },
 7  link_url: 'https://someurl.com',
 8  token: 'sometoken'
 9}).then((res) => {
10  result = res;
11})
12
13// Response
14result === {
15  error: {
16    code: '003-014'
17    description: 'Confirm phone number.'
18    details: { operation_id: 'BPaBScLM44GesoOYSxT5I8QfgIrTSURd' }
19  }
20}
21
22// Response without confirmation
23result === {
24  redirect_url: '<login_url>?token=<token>'
25}

メールアドレスを送信する場合の例:

Copy
Full screen
Small screen
 1let result
 2// request
 3api.ask({
 4  fields: {  
 5    email: 'email@address.com'
 6  },
 7  link_url: 'https://someurl.com',
 8  token: 'sometoken'
 9}).then((res) => {
10  result = res;
11})
12
13// Response
14result === {
15  error: {
16    code: '003-011'
17    description: 'Confirm email.'
18    details: { operation_id: 'BPaBScLM44GesoOYSxT5I8QfgIrTSURd' }
19  }
20}
21
22// Response without confirmation
23result === {
24  redirect_url: '<login_url>?token=<token>'
25}
コール説明パラメータ
api.getConfirmCode({ cancelToken, login, operation_id });リンクをクリックした後、ユーザーを自動的にリダイレクトするための確認コードを取得します。
  • cancelToken(string)— セッションを終了するための一意のトークン。必須
  • login(string)— ユーザーの電話番号またはメールアドレス。必須
  • operation_id(string)— 現在のセッション中にユーザーの電話番号または電子メールアドレスを確認するために使用される一意の識別子。必須
例:
Copy
Full screen
Small screen
 1let result
 2// Request
 3const axiosCancelToken = Axios.CancelToken.source();
 4
 5api.getConfirmCode({
 6  cancelToken: axiosCancelToken,
 7  login: '+somenumber' || 'email@address.com',
 8  operation_id: '334j255fdf13d515fgd1'
 9}).then((res) => {
10  result = res;
11})
12
13// Response
14result === {
15  code: 'string'
16}
17
18// If the waiting time has elapsed, returns:
19result === {
20  error: {
21    code: '010-050',
22    description: 'Deadline exceeded.'
23  }
24}
25
26// If you no longer need to wait for verification through the link you can close the request waiting period:
27axiosCancelToken.cancel();
コール説明パラメータ
api.loginWithPhoneCode({ phone_number, code, operation_id, isOauth2 });電話番号を確認します。レスポンスには、tokenパラメータを持つURLが返されます。これは、ユーザーに関する追加データのリクエストに使用されます。
  • phone_number(string) — パスワードレス認証のための電話番号。
  • code (string) — SMSで送信される電話確認コード
  • operation_id(string) — 現在のセッション中にユーザーの電話番号を確認するために使用される一意の識別子。
  • isOauth2(boolean)—OAuth 2.0プロトコルベースのユーザー認証を使用するかどうか。必須
例:
Copy
Full screen
Small screen
 1let result
 2// Request
 3api.loginWithPhoneCode({
 4  phone_number: 'email@address.com',
 5  code: '3423',
 6  operation_id: '334j255fdf13d515fgd1',
 7  isOauth2: true
 8}).then((res) => {
 9  result = res;
10})
11
12// Response
13result === {
14  login_url: 'https://someurl.com?token=XXXXXXX'
15}
16
17
18// Response with additional fields
19result === {
20  ask_fields: [{
21    confirmation_type: 'code' || 'link'
22    name: 'email'
23    required: false
24    step: 0 // Displays the position of the field in the data retrieval queue.
25    type: 'email'
26    validation: {} // Custom validation
27  }]
28  login_url: 'https://someurl.com?token=XXXXXXX',
29  token: 'sometoken'
30}
コール説明パラメータ
api.loginWithEmailCode({ email, code, operation_id, isOauth2 });メールアドレスを確認します。レスポンスには、tokenパラメータを持つURLが返されます。これは、ユーザーに関する追加データのリクエストに使用されます。
  • email(string) — パスワードレス認証のためのメールアドレス。
  • code (string) — メールアドレスへ送信されるメール確認コード
  • operation_id(string) — 現在のセッション中にユーザーのメールアドレスを確認するために使用される一意の識別子。
  • isOauth2(boolean)—OAuth 2.0プロトコルベースのユーザー認証を使用するかどうか。必須
例:
Copy
Full screen
Small screen
 1let result
 2// Request
 3api.loginWithEmailCode({
 4  email: 'email@address.com',
 5  code: '3423',
 6  operation_id: '334j255fdf13d515fgd1',
 7  isOauth2: true
 8}).then((res) => {
 9  result = res;
10})
11
12// Response
13result === {
14  login_url: 'https://someurl.com?token=XXXXXXX'
15}
16
17// Response with additional fields
18result === {
19  ask_fields: [{
20    confirmation_type: 'code' || 'link'
21    name: 'phone_number'
22    required: false
23    step: 0 // Displays the position of the field in the data retrieval queue.
24    type: 'phone'
25    validation: {} // Custom validation
26  }]
27  login_url: 'https://someurl.com?token=XXXXXXX',
28  token: 'sometoken'
29}

パスワードのリセット

ユーザーフロー:

  1. アプリケーションがフォームを開き、ユーザーが電子メールアドレスまたはユーザー名を入力します。api.resetコールが実行されます。
  2. サーバーはユーザーに確認メールを送信します。
  3. ユーザーはメール内のリンクをクリックして、新しいパスワードを入力するフォームを開きます。
  4. ユーザーが新しいパスワードを入力します。api.setコールが実行されます。

コール説明パラメータ
api.reset(username);パスワードをリセットし、アクションを確認します。パスワードリセットを確認するためには、ユーザはメール内のリンクをクリックする必要があります。ユーザ名またはユーザの電子メールアドレスは、usernameオブジェクトで渡されます。レスポンスには204コードが返されます。
  • username(string)— ユーザー名、例えば — John、またはメールアドレス、例えば — email@address.com必須
例:
Copy
Full screen
Small screen
1let result
2// Request
3api.reset({
4  username: 'John'
5}).then((res) => {
6  res.code === 204;
7})
コール説明パラメータ
api.set({ new_password, reset_code, user_id });新しいパスワードを設定し、アクションを確認します。新しいパスワードを確認するには、ユーザーはメール内のリンクをクリックする必要があります。レスポンスには204コードが返されます。
  • new_password(string)— ユーザーが入力した新しいパスワード。必須
  • reset_code(string)— パスワード変更のリクエストを送信したユーザー確認用のコード。このコードはサーバー側で生成され、ユーザーがメール内のリンクをクリックした後にリダイレクトされるURLに渡されます。必須
  • user_id(string)— ユーザー識別子。これは、サーバー側で生成され、メール内のリンクをクリックした後にユーザーがリダイレクトされるURLに渡されます。必須
例:
Copy
Full screen
Small screen
1let result
2// Request
3api.set({
4  new_password: 'newpass',
5  reset_code: '3423',
6  user_id: '324324234'
7}).then((res) => {
8  res.code === 204;
9})

シングルサインオン

パラメータ種類説明文
api.checkUserAuthSSO();
ユーザがシングルサインオンで認証されているかどうかを確認します。成功すると、1回限りのcodeが返されます。
例:
Copy
Full screen
Small screen
 1let result
 2// Request
 3api
 4  .checkUserAuthSSO()
 5  .then(res => {
 6    result === res;
 7  });
 8
 9result === {
10  code: "examplecode"
11}
コール説明パラメータ
api.userAuthSSOWithRedirect(loginUrl);ユーザーがシングルサインオンで認証されたかどうかを確認します。認証に成功した場合は、認証コードを含む生成されたloginUrlのURLにリダイレクトされます。
  • loginUrl(string) — SSOチェック後にユーザーがリダイレクトされるURL。このコールバックURLは、ログインプロジェクト > 一般設定にあるパブリッシャーアカウントURLブロックに表示されているコールバックURLと同じでなければなりません。ユーザーがリダイレクトできるURLアドレスが複数ある場合に必要です。
例:
Copy
Full screen
Small screen
1// Request
2api
3  .userAuthSSOWithRedirect(
4    loginUrl: 'some-redirect-url.com'
5  )
6  .then(res => {
7    res.code === 302;
8  });
コール説明パラメータ
api.logout(token, session);システムのユーザーをログアウトし、sessionパラメータに従ってユーザーセッションを削除します。
  • token(string)— ユーザーJWT。必須
  • session(string)— ユーザーがシステムからログアウトし、そのセッションが削除される様子を示しています。必須。以下のことができます:
    • sso — SSOユーザーセッションのみを削除します。
    • all — SSOユーザーセッションとすべてのアクセストークンおよび更新を削除します。
例:
Copy
Full screen
Small screen
1// Request
2api
3  .logout(
4    token: 'exampleToken',
5    session: 'sso' | 'all'
6  )
7  .then(res => {
8    res.code === 204;
9  });
パラメータ種類説明文
api.clearSSO();
現在のユーザーのデバイスからシングル サインオンクッキーファイルを削除します。呼び出しが成功すると、応答で204コードが返されます。
例:
Copy
Full screen
Small screen
1// Request
2api
3  .clearSSO()
4  .then(() => {
5    // Success
6  });
この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
最終更新日: 2025年9月19日

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

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