ウィジェット設定を含むJSONファイル
ウィジェットの設定は、次のJSONファイルに含まれています:
settingsJSON
— 主な設定socialsJSON
— ソーシャルログイン設定themeJSON
— テーマ設定
ファイル内の設定を再利用して,同じウィジェットを異なる設定で表示することができます。設定URLは,ウィジェットの初期化コードで指定します。
Copy
- json
<script>
const xl = new XsollaLogin.Widget({
// Other settings
settingsJSON: "url_string",
socialsJSON: "url_string",
themeJSON: "url_string"
});
</script>
主な設定
主なウィジェット設定は次のとおり:
- 認証方法(
authorization_methods
オブジェクト) - 登録フィルド(
registration_fields
オブジェクト) - メールアドレス検証(
email_validation
オブジェクト) - 追加設定
settingsJSON
ファイルのテンプレートは:
Copy
- json
{
"authorization_methods": {
// Authorization methods
},
"registration_fields": {
// Registration fields
},
"email_validation": {
// Settings for email validation
}
// Other widget settings
}
認証方法
authorization_methods
オブジェクトには、利用可能な認証方法を含む配列が含まれています。渡された設定に従って、ログインページが表示されます。お知らせ
配列には少なくとも1つのメソッドを渡す必要があります。すべてのメソッドを複数回、配列で表現することはできません。
利用可能な認証方法:
email
— 電子メールアドレスとパスワードによる認証。このパラメータは、メソッドの明確なリストを持つauthorization_methods
オブジェクトが存在しない場合、デフォルトで渡されます。social
— ソーシャルログイン。メソッドの明確なリストを持つauthorization_methods
オブジェクトがない場合、パラメーターはデフォルトで渡されます。username
— ユーザー名とパスワードによる認証。phone
— 電話番号とSMSコードによる認証。passwordless-email-code
— メールアドレスとメールに記載されたコードによる認証。
例:
Copy
- json
{
"authorization_methods": {
["email", "phone"]
}
// Other widget settings
}
登録フィルド
registration_fields
オブジェクトには、ウィジェットの登録ページに表示されるフィールドの配列が含まれています。パラメータ | 種類 | 説明文 |
---|---|---|
ユーザーのメールアドレス。 | ||
username | string | ユーザーアカウント。 |
password | pass | パスワード。 |
password_confirm | pass | パスワード確認。 |
given-name | string | ユーザー名。 |
family-name | string | ユーザーの家族名。 |
nickname | string | ユーザーのニックネーム。 |
bday | date | 生年月日。 |
gender | string | 性別。 |
country-name | select | 国。 |
platform | multi-select | プラットフォーム。 |
promo_email_agreement | boolean | プロモーション資料を受け取ることへの同意。 |
お知らせ
配列には、少なくとも1つのフィールドを含める必要があります。フィールドは、配列に渡された順番に従って表示されます。
さらに、フィールドには以下のパラメータを指定することができます:
required
(boolean)— そのフィールドが必須であるかどうか。default_value
(array)— デフォルト値の配列(国やプラットフォームのリスト用)。validation
(object)— 検証パラメータ:allowed_characters
(string)— フィールドに許容される文字。正規表現の値としてリストにカンマで区切って表示されます。max_length
(number)— 最大文字数。min_length
(number)— 最小文字数。regexps
(array with strings)— 入力された値を検証するための正規表現。
例:
Copy
- json
{
// Other widget settings
"registration_fields": [
{
"name": "username",
"required": false,
"type": "str",
"validation": {
"allowed_characters": "A-Z, a-z, 0-9",
"max_length": 16,
"min_length": 5,
"regexps": ["^.{5,16}$"]
}
},
{ "name": "email", "required": true, "type": "email", "validation": {} },
{ "name": "bday", "required": true, "type": "date", "validation": {} },
{
"name": "platform",
"default_value": ["MacOS", "Nintendo Switch", "Steam"],
"required": false,
"type": "multi-select",
"validation": {}
},
{
"name": "country-name",
"default_value": ["US", "GB", "DE"],
"required": false,
"type": "select",
"validation": {}
},
{ "name": "password", "required": true, "type": "pass", "validation": {} },
{
"name": "password_confirm",
"required": false,
"type": "pass",
"validation": {}
},
{
"name": "promo_email_agreement",
"required": false,
"type": "bool",
"validation": {}
}
]
}
メールアドレスの検証
email_validation
オブジェクトには、email
フィールドに入力されたデータを検証するse_xsolla_email_validator
パラメータが含まれています。パラメータ | 種類 | 説明文 |
---|---|---|
use_xsolla_email_validator | boolean | email フィールドに入力されたデータの追加の検証を使用するかどうか。true の場合、メールアドレスはフロントエンド側とバックエンド側でSMTP、RFC、Greylistなどの機能を使って検証されます。false の場合、メールアドレスはフロントエンド側でのみ検証されます。デフォルトではfalse です。 |
Copy
- json
{
// Other widget settings
"email_validation": {
"use_xsolla_email_validator": true
}
}
追加設定
追加の設定は、settingsJSON
ファイルのJSONオブジェクトルートで渡されます。パラメータ | 種類 | 説明文 |
---|---|---|
can_register | boolean | ユーザーの登録を有効にするかどうか。デフォルトではtrue です。 |
can_reset_password | boolean | ユーザーのパスワードリセットを有効にするかどうか。デフォルトではtrue です。 |
consent_url | string | ユーザーポリシーの同意へのリンク: |
cookie_policy | string | クッキーポリシーへのリンク。 |
privacy_policy | string | プライバシーポリシーへのリンク。 |
tos_url | string | 利用規約へのリンク。 |
game_name | string | プロジェクトまたはゲームの名前。一部の認証方法で表示されます。 |
Copy
- json
{{
// Other widget settings
"can_register": true,
"can_reset_password": true,
"cookie_policy": "https://someurl.com"
}
ソーシャルネットワークの設定
ソーシャルログインの場合、次のパラメータがsocialsJSON
ファイルで渡されます:
- 地域のリスト
- すべての地域のソーシャルネットワークのパラメータとタイプ
socialsJSON
ファイルのテンプレートは:
Copy
- json
{
"1": {
"primary": [
// Array of social networks for primary type
],
"secondary": [
// Array of social networks for secondary type
]
},
"2": {
"primary": [
// Array of social networks for primary type
],
"secondary": [
// Array of social networks for secondary type
]
},
"3": {
"primary": [
// Array of social networks for primary type
],
"secondary": [
// Array of social networks for secondary type
]
},
"4": {
"primary": [
// Array of social networks for primary type
],
"secondary": [
// Array of social networks for secondary type
]
},
"5": {
"primary": [
// Array of social networks for primary type
],
"secondary": [
// Array of social networks for secondary type
]
},
"6": {
"primary": [
// Array of social networks for primary type
],
"secondary": [
// Array of social networks for secondary type
]
}
}
すべての地域には番号があります:
- 1 — ヨーロッパ
- 2 — 中国
- 3 — 北と韓国
- 4 — 独立国家共同体
- 5 — 北アメリカと南アメリカ
- 6 — その他の地域
ソーシャルネットワークのタイプは、地域ごとに定義されています。ソーシャルネットワークには、プライマリー(primary
)とセカンダリー(secondary
)の2種類があります。プライマリソーシャルネットワークは、大きなボタンで表示され、ウィジェットページで目につきやすくなります。セカンダリーソーシャルネットワークは、小さなボタンで表示され、目立ちません。
ソーシャルネットワークの各タイプには、オブジェクトの配列が含まれています:
パラメータ | 種類 | 説明文 |
---|---|---|
name | string | ソーシャルネットワークの名前。利用可能なオプション:amazon 、apple 、baidu 、battlenet 、china_telecom 、discord 、email 、epicgames 、facebook 、github 、google 、google-plus 、instagram 、kakao 、linkedin 、mailru 、microsoft 、msn 、naver 、ok 、paradox 、paypal 、pinterest 、qq 、reddit 、steam 、slack 、twitch 、twitter 、vimeo 、vk 、wechat 、weibo 、xbox 、yahoo 、yandex 、youtube 。 |
jwt | string | JWT認証が使用されている場合にソーシャルネットワークを開くためのリンク。 |
oauth2 | string | OAuth 2.0プロトコルベースの認証を使用している場合、ソーシャルネットワークを開くためのリンクです。 |
お知らせ
すべてのソーシャルネットワークは、少なくとも一度は配列で表現されなければなりません。配列は空にすることができます。
Copy
- json
{
"1": {
"primary": [{
"name": "google",
"jwt": "https://login.xsolla.com/api/social/google/login_redirect",
"oauth2": "https://login.xsolla.com/api/oauth2/social/google/login_redirect"
}],
"secondary": [{
"name": "facebook",
"jwt": "https://login.xsolla.com/api/social/facebook/login_redirect",
"oauth2": "https://login.xsolla.com/api/oauth2/social/facebook/login_redirect"
},
{
"name": "twitter",
"jwt": "https://login.xsolla.com/api/social/twitter/login_redirect",
"oauth2": "https://login.xsolla.com/api/oauth2/social/twitter/login_redirect"
}
]
},
"2": {
"primary": [{
"name": "wechat",
"jwt": "https://login.xsolla.com/api/social/wechat/login_redirect",
"oauth2": "https://login.xsolla.com/api/oauth2/social/wechat/login_redirect"
}],
"secondary": [{
"name": "facebook",
"jwt": "https://login.xsolla.com/api/social/facebook/login_redirect",
"oauth2": "https://login.xsolla.com/api/oauth2/social/facebook/login_redirect"
},
{
"name": "twitter",
"jwt": "https://login.xsolla.com/api/social/twitter/login_redirect",
"oauth2": "https://login.xsolla.com/api/oauth2/social/twitter/login_redirect"
},
{
"name": "steam",
"jwt": "https://login.xsolla.com/api/social/steam/login_redirect",
"oauth2": "https://login.xsolla.com/api/oauth2/social/steam/login_redirect"
}
]
}
// More regions
}
テーマ設定
ウィジェットテーマの設定は以下の通り:
- ウィジェットの色とサイズの設定
- 端数処理設定(
rounding
オブジェクト) - ウィジェットの背景設定(
background
オブジェクト) - ヘッダー設定(
header
オブジェクト) - ウィジェットタブの設定(
tabs
オブジェクト) - ソーシャルネットワークの表示設定(
primary_socials
とsecondary_socials
オブジェクト) - シーン設定(
scene
オブジェクト)
themeJSON
ファイルのテンプレートは:
Copy
- json
{
// Color and size settings
"header": {
// Header settings
},
"background": {
// Widget background settings
},
"rounding": {
// Rounding settings
},
"tabs": {
// Tab settings
},
"primary_socials": {
// Display settings for the primary social networks
},
"secondary_socials": {
// Display settings for the secondary social networks
},
"scene": {
// Scene settings
}
}
ウィジェットの色とサイズ
ウィジェットの色とサイズは、themeJSON
ファイルのJSONオブジェクトのルートに渡されます。パラメータ | 種類 | 説明文 |
---|---|---|
primary_color | string | RGBまたはHEX形式のプライマリウィジェットの色(ボタンやアクティブな入力フィールドの境界線の色)。デフォルト値は#0073F7 です。 |
secondary_color | string | RGBまたはHEX形式のセカンダリウィジェットの色(非アクティブな入力フィールドの色)。デフォルト値は#DADADA です。 |
error_color | string | RGBまたはHEX形式のエラーテキストの色。デフォルト値は#EB002F です。 |
text_color | string | RGBまたはHEX形式の本文の色。デフォルト値は#000000 です。 |
例:
Copy
- json
{
// Other theme settings
"primary_color": "#708090",
"secondary_color": "#4682B4"
}
端数処理
rounding
は、異なるウィジェット要素の端数処理のパラメータを含んでいます。このプロパティは、4つのコーナーすべてに同時に適用されます。
パラメータ | 種類 | 説明文 |
---|---|---|
inputs | string | アクティブフィールドのピクセル単位の端数処理。デフォルト値は6px です。 |
buttons | string | ボタンのピクセル単位の端数処理。デフォルト値は100px です。 |
widget | string | ウィジェットのピクセル単位の端数処理。デフォルト値は6px です。 |
Copy
- json
{
// Other theme settings
"rounding": {
"inputs": "8px",
"widget": "8px"
}
}
背景
background
オブジェクトは、ウィジェットの背景パラメータを含みます。パラメータ | 種類 | 説明文 |
---|---|---|
color | string | RGBまたはHEX形式の背景色。デフォルト値は#FFFFFF です。 |
image | object | 背景画像です。このオブジェクトには、画像へのリンクと不透明度の設定が含まれています。不透明度のデフォルト値は1 です。 |
Copy
- json
{
// Other theme settings
"background": {
"color": "#708090",
"image": {
"url": "https://someurl.com",
"opacity": "3"
}
}
}
ヘッダー
header
オブジェクトは、ウィジェットヘッダー(すべてのウィジェットフィールドの上の領域)のパラメータを含みます。パラメータ | 種類 | 説明文 |
---|---|---|
image | object | ヘッダーの背景画像。このオブジェクトには、画像へのリンク、不透明度の設定、背景画像のサイズが含まれています。不透明度のデフォルト値は1 です。背景画像サイズの使用可能な値は、 background-size CSSプロパティ(デフォルトではcover )の値に対応しています。 |
Copy
- json
{
// Other theme settings
"header": {
"image": {
"url": "https://someurl.com",
"opacity": "3",
"size": "cover"
}
}
}
タブ
tabs
オブジェクトには、hide
パラメータがあります。このパラメータは、ウィジェット上の登録または認証タブの表示を管理します。パラメータ | 種類 | 説明文 |
---|---|---|
hide | boolean | ウィジェット上の認証または登録タブを非表示にするかどうかを指定します。true の値を使用して、例えば、登録タブを一時的に非表示にしたり、登録と承認のページを別々に表示したりします。デフォルト値はfalse です。 |
Copy
- json
{
// Other theme settings
"tabs": {
"hide": true
}
}
ソーシャルネットワークディスプレイ
primary_socials
およびsecondary_socials
オブジェクトには、ウィジェット上でのプライマリおよびセカンダリのソーシャルネットワークの表示を管理するhide
パラメータが含まれています。パラメータ | 種類 | 説明文 |
---|---|---|
hide | boolean | ソーシャルネットワークを非表示にするかどうか。デフォルト値はfalse です。 |
Copy
- json
{
// Other theme settings
"primary_socials": {
"hide": true
},
"secondary_socials": {
"hide": false
}
}
シーン
scene
オブジェクトには、シーンのパラメータ(ウィジェットの周囲の領域)が含まれています。パラメータ | 種類 | 説明文 |
---|---|---|
color | string | RGBまたはHEX形式の背景色。デフォルト値は#FFFFFF です。 |
image | object | 背景画像。このオブジェクトは、画像へのリンク、不透明度の設定、および背景画像のサイズを含みます。背景画像サイズの使用可能な値は、background-size CSSプロパティ(デフォルトではcover )の値に対応しています。 |
Copy
- json
{
// Other theme settings
"scene": {
"color": "#708090",
"image": {
"url": "https://someurl.com",
"size": "cover"
}
}
}
この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。