Extend SDKを使い始める
注釈:本資料はAI技術を用いて翻訳されています。
Overview
この記事では、サポートされている複数のプログラミング言語で Extend SDK を使用してプロジェクトを作成する基本について説明します。
Goals
このガイドでは、以下のことを行います。
- アプリケーションプロジェクトを作成する。
- Extend SDK をプロジェクトの依存関係として追加する。
- Extend SDK を使用して AGS エンドポイントを呼び出す。
- アプリケーションを実行する。
Prerequisites
このガイドを始めるには、以下が必要です。
- C#
- Go
- Java
- Python
- TypeScript
- AccelByte Gaming Services (AGS)(デモ環境)へのアクセス:
AB_BASE_URL環境変数には<自分の環境のドメイン URL>を使用します。- AGS Public Cloud カスタマーの例:
https://spaceshooter.prod.gamingservices.accelbyte.io - AGS Private Cloud カスタマーの例:
https://dev.customer.accelbyte.io
- AGS Public Cloud カスタマーの例:
- クライアントタイプ Confidential で OAuth クライアントを作成します。
AB_CLIENT_ID環境変数には Client ID の値を使用します。AB_CLIENT_SECRET環境変数には Client Secret の値を使用します。
- AccelByte C# Extend SDK
- 以下のツールへのアクセス:
- Git
- .NET SDK 6.0
- C# IDE
- AccelByte Gaming Services (AGS)(デモ環境)へのアクセス:
AB_BASE_URL環境変数には<自分の環境のドメイン URL>を使用します。- AGS Public Cloud カスタマーの例:
https://spaceshooter.prod.gamingservices.accelbyte.io - AGS Private Cloud カスタマーの例:
https://dev.customer.accelbyte.io
- AGS Public Cloud カスタマーの例:
- クライアントタイプ Confidential で OAuth クライアントを作成します。
AB_CLIENT_ID環境変数には Client ID の値を使用します。AB_CLIENT_SECRET環境変数には Client Secret の値を使用します。
- AccelByte Go Extend SDK
- 以下のツールへのアクセス:
- Git
- Go 1.18 以降
- Go IDE
- AccelByte Gaming Services (AGS)(デモ環境)へのアクセス:
AB_BASE_URL環境変数には<自分の環境のドメイン URL>を使用します。- AGS Public Cloud カスタマーの例:
https://spaceshooter.prod.gamingservices.accelbyte.io - AGS Private Cloud カスタマーの例:
https://dev.customer.accelbyte.io
- AGS Public Cloud カスタマーの例:
- クライアントタイプ Confidential で OAuth クライアントを作成します。
AB_CLIENT_ID環境変数には Client ID の値を使用します。AB_CLIENT_SECRET環境変数には Client Secret の値を使用します。
- AccelByte Java Extend SDK
- 以下のツールへのアクセス:
- Git
- Java Development Kit (JDK) 8
- Gradle 7
- Java IDE
- AccelByte Gaming Services (AGS)(デモ環境)へのアクセス:
AB_BASE_URL環境変数には<自分の環境のドメイン URL>を使用します。- AGS Public Cloud カスタマーの例:
https://spaceshooter.prod.gamingservices.accelbyte.io - AGS Private Cloud カスタマーの例:
https://dev.customer.accelbyte.io
- AGS Public Cloud カスタマーの例:
- クライアントタイプ Confidential で OAuth クライアントを作成します。
AB_CLIENT_ID環境変数には Client ID の値を使用します。AB_CLIENT_SECRET環境変数には Client Secret の値を使用します。
- AccelByte Python Extend SDK
- 以下のツールへのアクセス:
- Git
- Python 3.10
- Python IDE
TypeScript SDK はまだ開発中です。Extend SDK の一部の機能はまだ利用できない場合があります。
- AccelByte Gaming Services (AGS)(デモ環境)へのアクセス:
AB_BASE_URL環境変数には<自分の環境のドメイン URL>を使用します。- AGS Public Cloud カスタマーの例:
https://spaceshooter.prod.gamingservices.accelbyte.io - AGS Private Cloud カスタマーの例:
https://dev.customer.accelbyte.io
- AGS Public Cloud カスタマーの例:
- クライアントタイプ Confidential で OAuth クライアントを作成します。
AB_CLIENT_ID環境変数には Client ID の値を使用します。AB_CLIENT_SECRET環境変数には Client Secret の値を使用します。
- AccelByte TypeScript SDK
TypeScript SDK のインストール方法は2つあり、それによって必要なツールが決まります。
- パッケージマネージャー(例:
npmやyarn)経由でインストールする場合:- Node.js 18 以降
- npm または任意のパッケージマネージャー
- CDN 経由で UMD ビルドをインポートする場合: プレーンな HTML を使用するだけなので、ツールは不要です。
プロジェクトを作成する
- C#
- Go
- Java
- Python
- TypeScript
dotnet CLI を使用して、新しいソリューションと、そのソリューション内に新しいコンソールプロジェクトを作成します。
$ mkdir -p /path/to/mysolution
$ cd /path/to/mysolution
$ dotnet new sln --name mysolution # Create a new solution: mysolution
$ dotnet new console -o myproject # Create a new console project myproject
$ dotnet sln add myproject/myproject.csproj # Add myproject to mysolution
フォルダを作成し、go mod init を使用して新しい Go アプリケーションプロジェクトを作成します。
$ mkdir getting-started
$ cd getting-started/
$ go mod init golang-application
フォルダを作成し、gradle init を使用して Java プロジェクトを作成します。
$ mkdir myproject
$ cd myproject/
$ gradle init --type java-application --dsl groovy --test-framework junit-jupiter
Welcome to Gradle 7.4.2!
Here are the highlights of this release:
- Aggregated test and JaCoCo reports
- Marking additional test source directories as tests in IntelliJ
- Support for Adoptium JDKs in Java toolchains
For more details see https://docs.gradle.org/7.4.2/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)
Generate build using new APIs and behavior (some features may change in the next minor release)? (default: no) [yes, no]
Project name (default: myproject):
Source package (default: myproject):
> Task :init
Get more help with your project: https://docs.gradle.org/7.4.2/samples/sample_building_java_applications.html
BUILD SUCCESSFUL in 19s
2 actionable tasks: 2 executed
フォルダを作成し、venv を使用して Python の仮想環境を作成します。
macOS または Linux (Bash) ユーザーの場合:
$ mkdir myproject
$ cd myproject/
$ python -m venv venv
$ source venv/bin/activate
$ python -c "import sys; print(sys.executable)" # Check which Python executable is active
Windows(PowerShell) ユーザーの場合:
C:\> mkdir myproject
C:\> cd myproject/
C:\> python -m venv venv
C:\> venv\Scripts\Activate.ps1
C:\> python -c "import sys; print(sys.executable)" # Check which Python executable is active
UMD ビルドを使用している場合、npm init -y を実行する必要はありません。フォルダを作成したら、直接 コードで使用する に進んでください。
フォルダを作成し、npm init -y を使用して新しい JavaScript アプリケーションプロジェクトを作成します。
$ mkdir getting-started
$ cd getting-started
$ npm init -y
プロジェクトの依存関係に追加する
- C#
- Go
- Java
- Python
- TypeScript
-
AccelByte C# Extend SDK のリリースバージョンを取得し、C# プロジェクトの依存関係として追加します。
-
{VERSION}を特定のリリースバージョンタグに置き換えます。$ git clone https://github.com/AccelByte/accelbyte-csharp-sdk.git # Clone AccelByte C# Extend SDK
$ cd accelbyte-csharp-sdk
$ git checkout {VERSION} # Switch to a specific release {VERSION}
$ cp -rv AccelByte.Sdk /path/to/mysolution/AccelByte.Sdk # Copy AccelByte C# Extend SDK source code
$ cd /path/to/mysolution
$ dotnet sln add AccelByte.Sdk/AccelByte.Sdk.csproj # Add AccelByte C# Extend SDK to solution
$ cd myproject
$ dotnet add reference ../AccelByte.Sdk/AccelByte.Sdk.csproj # Add AccelByte C# Extend SDK as a dependency of C# project
AGS のバージョンに一致する C# Extend SDK のバージョンを使用することを推奨します。
-
新しく作成した
go.modファイルに Go Extend SDK を追加します。 -
go.modファイル内の{VERSION}を、先頭のv文字を除いた特定のリリースバージョンタグに置き換え、go mod tidyを実行します。module golang-application
go 1.18
require (
github.com/AccelByte/accelbyte-go-sdk {VERSION}
)
AGS のバージョンに一致する Go Extend SDK のバージョンを使用することを推奨します。
-
build.gradleに必要な設定を追加します。 -
{VERSION}を、先頭のv文字を除いた特定のリリースバージョンタグに置き換えます。
// build.gradle
repositories {
mavenCentral()
...
}
dependencies {
...
implementation 'net.accelbyte.sdk:sdk:{VERSION}'
}
AGS のバージョンに一致する Java Extend SDK のバージョンを使用することを推奨します。
-
SDK の依存関係をインストールします。
$ pip install requests httpx websockets pyyaml -
SDK をインストールします。
{VERSION}を特定のリリースバージョンタグ(例: v0.74.0)に置き換えます。$ pip install git+https://github.com/AccelByte/accelbyte-python-sdk.git@{VERSION}#egg=accelbyte_py_sdk
AGS のバージョンに一致する Python Extend SDK のバージョンを使用することを推奨します。
UMD ビルドを使用している場合、この手順はスキップできます。
TypeScript SDK は、任意のパッケージマネージャーを使用して NPM 経由でインストールすることを推奨します。ターミナルを開き、次のコマンドを実行してください。
npm install @accelbyte/sdk @accelbyte/sdk-iam @accelbyte/sdk-basic # Add more SDK packages as needed
次に、package.json に "type": "module" が設定されていることを確認します。
重要: 他の @accelbyte/sdk-* パッケージでは @accelbyte/sdk が peerDependencies に移動されているため、プロジェクトに @accelbyte/sdk を明示的にインストールする必要があります。これにより、コア SDK が関連するすべてのモジュール間で共有されるようになります。
オプション: 生成された React Query フックを使用する場合は、@tanstack/query もインストールする必要があります。現在サポートしているのは v4 のみです。
npm install @tanstack/react-query@4.36.1
AccelByte が提供するサービスと SDK の全リストについては、AGS APIs セクションを参照してください。
コードで使用する
- C#
- Go
- Java
- Python
- TypeScript
program.csで SDK インスタンスを作成し、ユーザー資格情報を使用してログインし、AccelByte Basic API を呼び出します。DefaultConfigRepositoryは、AB_BASE_URL、AB_CLIENT_ID、AB_CLIENT_SECRET環境変数から値を取得します。
using System;
using System.Collections.Generic;
using AccelByte.Sdk.Core;
using AccelByte.Sdk.Api;
using AccelByte.Sdk.Api.Legal.Model;
namespace AccelByteExample
{
internal class Program
{
static int Main(string[] args)
{
AccelByteSDK sdk = AccelByteSDK.Builder
.UseDefaultHttpClient()
.UseDefaultConfigRepository()
.UseDefaultTokenRepository()
.Build();
bool login = sdk.LoginUser("myUsername", "myPassword");
if (!login)
{
Console.WriteLine("Login failed");
return 1;
}
try
{
List<RetrieveAcceptedAgreementResponse>? response = sdk.Legal.Agreement.RetrieveAgreementsPublicOp.Execute();
if (response == null)
throw new Exception("Response is null");
foreach (var agreement in response)
Console.WriteLine(agreement.PolicyName);
}
catch (HttpResponseException e)
{
Console.WriteLine(e.Message);
return 2;
}
bool logout = sdk.Logout();
if (!logout)
{
Console.WriteLine("Logout failed");
return 1;
}
return 0;
}
}
}
main.goで SDK インスタンスを作成し、クライアント資格情報を使用してログインし、AGS API を呼び出します。DefaultConfigRepositoryImplは、AB_BASE_URL、AB_CLIENT_ID、AB_CLIENT_SECRET環境変数から値を取得します。
package main
import (
"github.com/AccelByte/accelbyte-go-sdk/iam-sdk/pkg/iamclient/o_auth2_0_extension"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/utils/auth"
"github.com/sirupsen/logrus"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/factory"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/iam"
)
var (
// デフォルトの Go Extend SDK の config と token repository の実装を使用する
configRepo = *auth.DefaultConfigRepositoryImpl()
tokenRepo = *auth.DefaultTokenRepositoryImpl()
)
func main() {
// `LoginClient` 関数を含む IAM Oauth サービスを準備する
oauth := &iam.OAuth20Service{
Client: factory.NewIamClient(&configRepo),
ConfigRepository: &configRepo,
TokenRepository: &tokenRepo,
}
clientId := oauth.ConfigRepository.GetClientId()
clientSecret := oauth.ConfigRepository.GetClientSecret()
// OAuth クライアント資格情報を使用してログインする
err := oauth.LoginClient(&clientId, &clientSecret)
if err != nil {
logrus.Error("failed login client")
} else {
logrus.Info("successful login")
}
// ログイン後に取得したアクセストークンを出力する
token, _ := oauth.TokenRepository.GetToken()
logrus.Infof("print %v", *token.AccessToken)
// `GetCountryLocationV3` 関数を含む IAM の Oauth 2.0 Extension サービスを準備する
oAuth20ExtensionService := &iam.OAuth20ExtensionService{
Client: factory.NewIamClient(&configRepo),
TokenRepository: &tokenRepo,
}
input := &o_auth2_0_extension.GetCountryLocationV3Params{}
// AGS エンドポイント `GetCountryLocationV3` を呼び出す
ok, errLoc := oAuth20ExtensionService.GetCountryLocationV3Short(input)
if errLoc != nil {
logrus.Error(errLoc.Error())
} else {
logrus.Infof("Country name: %s", *ok.CountryName)
}
}
App.javaで SDK インスタンスを作成し、クライアント資格情報を使用してログインし、AGS API を呼び出します。DefaultConfigRepositoryは、AB_BASE_URL、AB_CLIENT_ID、AB_CLIENT_SECRET環境変数から値を取得します。
// App.java
package myproject;
import net.accelbyte.sdk.api.iam.models.OauthmodelCountryLocationResponse;
import net.accelbyte.sdk.api.iam.operations.o_auth2_0_extension.GetCountryLocationV3;
import net.accelbyte.sdk.api.iam.wrappers.OAuth20Extension;
import net.accelbyte.sdk.core.AccelByteSDK;
import net.accelbyte.sdk.core.client.OkhttpClient;
import net.accelbyte.sdk.core.repository.DefaultConfigRepository;
import net.accelbyte.sdk.core.repository.DefaultTokenRepository;
public class App {
public static void main(String[] args) throws Exception {
// デフォルトの HTTP クライアント、token repository、config repository のインスタンスを作成する
OkhttpClient httpClient = new OkhttpClient();
DefaultTokenRepository tokenRepository = new DefaultTokenRepository();
DefaultConfigRepository configRepository = new DefaultConfigRepository();
// SDK インスタンスを作成する
AccelByteSDK sdk = new AccelByteSDK(
httpClient,
tokenRepository,
configRepository);
// クライアント資格情報を使用してログインする
boolean isLoginOk = sdk.loginClient();
if (!isLoginOk) {
System.exit(1); // ログイン失敗
}
// AccelByte Cloud エンドポイント(例: GetCountryLocationV3)を呼び出す
OAuth20Extension wrapper = new OAuth20Extension(sdk);
GetCountryLocationV3 operation = GetCountryLocationV3.builder()
.build();
OauthmodelCountryLocationResponse response = wrapper.getCountryLocationV3(operation);
System.out.println(response.getCountryName());
}
}
app.pyで SDK インスタンスを作成し、クライアント資格情報を使用してログインし、AGS API を呼び出します。EnvironmentConfigRepositoryは、AB_BASE_URL、AB_CLIENT_ID、AB_CLIENT_SECRET環境変数から値を取得します。
# app.py
import accelbyte_py_sdk
from accelbyte_py_sdk.core import (
RequestsHttpClient,
EnvironmentConfigRepository,
InMemoryTokenRepository,
)
import accelbyte_py_sdk.services.auth as auth_service
import accelbyte_py_sdk.api.iam as iam_service
def main():
# デフォルトの HTTP クライアント、token repository、config repository のインスタンスを作成する
http_client = RequestsHttpClient()
config_repository = EnvironmentConfigRepository()
token_repository = InMemoryTokenRepository()
# SDK を初期化する
accelbyte_py_sdk.initialize(
options={
"config": config_repository,
"token": token_repository,
"http": http_client,
}
)
# クライアント資格情報を使用してログインする
token, error = auth_service.login_client()
if error:
exit(1) # ログイン失敗
# AccelByte Cloud API(例: GetCountryLocationV3)を呼び出す
response, error = iam_service.get_country_location_v3()
if error:
exit(1) # レスポンスエラー
print(response.country_name)
if __name__ == "__main__":
main()
TypeScript SDK を使い始めるには、IAM クライアント ID(clientId)などの基本的な設定を使ってインスタンス化する必要があります。アプリケーションによっては、環境変数を .env ファイルに保存し、開発ツール(例: process.env.ENV_KEY 経由)を使ってロードすることもできます。
以下は、パッケージマネージャーを使用した TypeScript SDK の使用例です。
// index.mjs
import { AccelByte } from '@accelbyte/sdk';
import { OAuth20Api } from '@accelbyte/sdk-iam';
import { CurrencyApi, ItemApi } from '@accelbyte/sdk-platform'
const sdk = AccelByte.SDK({
coreConfig: {
baseURL: process.env.AB_BASE_URL || '',
clientId: process.env.AB_CLIENT_ID || '',
redirectURI: process.env.AB_REDIRECT_URI || '',
namespace: process.env.AB_NAMESPACE || ''
}
});
const main = async () => {
try {
const response = await OAuth20Api(sdk, {axiosConfig: {request: {
headers: {
Authorization: `Basic ${Buffer.from(`${process.env.AB_CLIENT_ID}:${process.env.AB_CLIENT_SECRET}`).toString('base64')}`
}
}}}).postOauthToken_v3({ grant_type: 'client_credentials' })
if (!response.data.access_token) {
throw new Error('Login failed')
}
sdk.setToken({accessToken: response.data.access_token, refreshToken: response.data.refresh_token})
const currenciesResponse = await CurrencyApi(sdk).getCurrencies()
console.log(currenciesResponse.data)
const itemResponse = await ItemApi(sdk).getItemsByCriteria()
console.log(itemResponse.data)
} catch (error) {
console.error(error)
}
}
main()
注意: IAM クライアントを設定する際は、{namespace}.prod.gamingservices.accelbyte.io の形式(例: accelbyte.prod.gamingservices.accelbyte.io)の追加のリダイレクト URI を必ず含めてください。
UMD バンドルで TypeScript SDK を使用する場合、環境変数を設定する必要はありません。値を HTML ファイル内に直接記述できますが、資格情報などの機密情報はその中に保存しないよう注意してください。コア SDK は window.AccelByteSDK として公開され、各サービスの SDK は window.AccelByteSDK_{name} として公開されます。{name} プレースホルダーは、サービス名がパスカルケース形式(サービス名が省略形の場合を除く)に置き換えられます。例: AccelByteSDK_Achievement、AccelByteSDK_IAM、AccelByteSDK_AMS、AccelByteSDK_SeasonPass。
以下は、公開されるパッケージとそのグローバル変数の完全なマップです。
| Package | Global variable |
|---|---|
| @accelbyte/sdk | AccelByteSDK |
| @accelbyte/sdk-achievement | AccelByteSDK_Achievement |
| @accelbyte/sdk-ams | AccelByteSDK_AMS |
| @accelbyte/sdk-basic | AccelByteSDK_Basic |
| @accelbyte/sdk-buildinfo | AccelByteSDK_BuildInfo |
| @accelbyte/sdk-challenge | AccelByteSDK_Challenge |
| @accelbyte/sdk-chat | AccelByteSDK_Chat |
| @accelbyte/sdk-cloudsave | AccelByteSDK_CloudSave |
| @accelbyte/sdk-differ | AccelByteSDK_Differ |
| @accelbyte/sdk-event | AccelByteSDK_Event |
| @accelbyte/sdk-gametelemetry | AccelByteSDK_GameTelemetry |
| @accelbyte/sdk-gdpr | AccelByteSDK_GDPR |
| @accelbyte/sdk-groups | AccelByteSDK_Groups |
| @accelbyte/sdk-iam | AccelByteSDK_IAM |
| @accelbyte/sdk-inventory | AccelByteSDK_Inventory |
| @accelbyte/sdk-leaderboard | AccelByteSDK_Leaderboard |
| @accelbyte/sdk-legal | AccelByteSDK_Legal |
| @accelbyte/sdk-lobby | AccelByteSDK_Lobby |
| @accelbyte/sdk-matchmaking | AccelByteSDK_Matchmaking |
| @accelbyte/sdk-platform | AccelByteSDK_Platform |
| @accelbyte/sdk-reporting | AccelByteSDK_Reporting |
| @accelbyte/sdk-seasonpass | AccelByteSDK_SeasonPass |
| @accelbyte/sdk-session | AccelByteSDK_Session |
| @accelbyte/sdk-social | AccelByteSDK_Social |
| @accelbyte/sdk-ugc | AccelByteSDK_UGC |
例は以下のとおりです。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
</head>
<body>
<script src="https://unpkg.com/@accelbyte/sdk@4.1.1/dist/global/index.global.js"></script>
<script src="https://unpkg.com/@accelbyte/sdk-iam@6.1.0/dist/global/index.global.js"></script>
<script>
const namespace = '<your-game-namespace>'
const sdk = AccelByteSDK.AccelByte.SDK({
coreConfig: {
// Private Cloud カスタマーの場合、ベース URL は Admin Portal のオリジン URL によって異なります。
baseURL: `https://${namespace}.prod.gamingservices.accelbyte.io`,
clientId: '<your-game-namespace-client-id>',
namespace,
redirectURI: '<your-game-namespace-iam-client-redirect-uri>'
}
})
// 国のリストを取得する。
AccelByteSDK_IAM.CountryApi(sdk)
.getCountries_v3()
.then(response => {
console.log(response.data)
})
// デバイス ID でログインする。
AccelByteSDK_IAM.OAuth20V4Api(sdk, {
axiosConfig: {
request: {
headers: {
Authorization: `Basic ${btoa(`${sdk.assembly().coreConfig.clientId}:`)}`
}
}
}
})
.postTokenOauth_ByPlatformId_v4('device', {
device_id: crypto.randomUUID()
})
.then(tokenResponse => {
console.log(tokenResponse)
})
</script>
</body>
</html>
コードを実行する
- C#
- Go
- Java
- Python
- TypeScript
必要な環境変数を設定し、dotnet run を使用してコードを実行します。
$ export AB_BASE_URL="<your environment's domain URL>" # AccelByte Cloud Base URL e.g. demo environment
$ export AB_CLIENT_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client ID
$ export AB_CLIENT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client Secret
$ cd /path/to/mysolution/myproject
$ dotnet run
必要な環境変数を設定し、go run main.go を使用してアプリケーションを実行します。
$ export AB_BASE_URL="<your environment's domain URL>" # AccelByte Cloud Base URL e.g. demo environment
$ export AB_CLIENT_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # Put AccelByte Cloud OAuth Client ID
$ export AB_CLIENT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # Put AccelByte Cloud OAuth Client Secret
$ go run main.go
必要な環境変数を設定し、gradle run を使用してコードを実行します。
$ export AB_BASE_URL="<your environment's domain URL>" # AccelByte Cloud Base URL e.g. demo environment
$ export AB_CLIENT_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client ID
$ export AB_CLIENT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client Secret
$ gradle run
必要な環境変数を設定し、Python インタープリタを使用してコードを実行します。
$ export AB_BASE_URL="<your environment's domain URL>" # AccelByte Cloud Base URL e.g. demo environment
$ export AB_CLIENT_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client ID
$ export AB_CLIENT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client Secret
$ python app.py
パッケージマネージャーで TypeScript SDK を使用している場合は、必要な環境変数を設定し、node index.mjs を使用してコードを実行します。
$ export AB_BASE_URL="<your environment's domain URL>" # AccelByte Cloud Base URL e.g. demo environment
$ export AB_CLIENT_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud IAM Client ID
$ export AB_CLIENT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud IAM Client Secret
$ export AB_NAMESPACE="<your created namespace>" # AccelByte Namespace
$ export AB_REDIRECT_URI="<your redirect uri>" # AccelByte IAM Client's Redirect URI
$ node index.mjs
UMD バンドルでの使用については、npx serve を使用して index.html ファイルを配信することを推奨します。serve を使用すると、file: プロトコルではなく HTTP (localhost) 経由で HTML ファイルにアクセスできます。file: プロトコルはリダイレクト URI として使用できないため、これが必要です。
$ npx serve
追加リソース
- C#
- Go
- Java
- Python
- TypeScript
- Extend SDK のセットアップと使用方法については、C# Extend SDK README を参照してください。
- ゲームをカスタマイズするための Extend SDK の一般的な使用例については、C# Extend SDK common use cases を参照してください。
- Extend SDK を使用したサンプルプロジェクトについては、C# Extend SDK sample projects を参照してください。
- Extend SDK がサポートするすべての操作のコード例については、C# Extend SDK reference を参照してください。
- Extend SDK のセットアップと使用方法については、Go Extend SDK README を参照してください。
- ゲームをカスタマイズするための一般的な使用例については、Go Extend SDK common use cases を参照してください。
- Extend SDK を使用したサンプルプロジェクトについては、Go Extend SDK sample projects を参照してください。
- Extend SDK がサポートするすべての操作のコード例については、Go Extend SDK reference を参照してください。
- Extend SDK のセットアップと使用方法については、Java Extend SDK README を参照してください。
- ゲームをカスタマイズするための Extend SDK の一般的な使用例については、Java Extend SDK common use cases を参照してください。
- Extend SDK を使用したサンプルプロジェクトについては、Java Extend SDK sample projects を参照してください。
- Extend SDK がサポートするすべての操作のコード例については、Java Extend SDK code examples を参照してください。
- Extend SDK のセットアップと使用方法については、Python Extend SDK README を参照してください。
- ゲームをカスタマイズするための Extend SDK の一般的な使用例については、Python Extend SDK common use cases を参照してください。
- Extend SDK を使用したサンプルプロジェクトについては、Python Extend SDK sample projects を参照してください。
- Extend SDK がサポートするすべての操作のコード例については、Python Extend SDK reference を参照してください。
- Extend SDK のセットアップと使用方法については、TypeScript SDK README を参照してください。
- Extend SDK を使用したサンプルプロジェクトについては、TypeScript SDK example projects を参照してください。