Extend SDKを使い始める
注釈:本資料はAI技術を用いて翻訳されています。
概要
この記事では、複数のサポートされているプログラミング言語でExtend SDKを使用してプロジェクトを作成する基礎をガイドします。
目標
このガイドでは、以下を行います。
- アプリケーションプロジェクトを作成する。
- Extend SDKをプロジェクトの依存関係として追加する。
- Extend SDKを使用してAGSエンドポイントを呼び出す。
- アプリケーションを実行する。
前提条件
このガイドを始めるには、以下が必要です。
- C#
- Go
- Java
- Python
- TypeScript
- AccelByte Gaming Services(AGS)(デモ環境)へのアクセス:
AB_BASE_URL環境変数に<環境のドメインURL>を使用します。- AGS Shared Cloudのお客様の例:
https://spaceshooter.prod.gamingservices.accelbyte.io - AGS Private Cloudのお客様の例:
https://dev.customer.accelbyte.io
- AGS Shared 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 Shared Cloudのお客様の例:
https://spaceshooter.prod.gamingservices.accelbyte.io - AGS Private Cloudのお客様の例:
https://dev.customer.accelbyte.io
- AGS Shared 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 Shared Cloudのお客様の例:
https://spaceshooter.prod.gamingservices.accelbyte.io - AGS Private Cloudのお客様の例:
https://dev.customer.accelbyte.io
- AGS Shared 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 Shared Cloudのお客様の例:
https://spaceshooter.prod.gamingservices.accelbyte.io - AGS Private Cloudのお客様の例:
https://dev.customer.accelbyte.io
- AGS Shared 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 Shared Cloudのお客様の例:
https://spaceshooter.prod.gamingservices.accelbyte.io - AGS Private Cloudのお客様の例:
https://dev.customer.accelbyte.io
- AGS Shared 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 # 新しいソリューションを作成: mysolution
$ dotnet new console -o myproject # 新しいコンソールプロジェクトmyprojectを作成
$ dotnet sln add myproject/myproject.csproj # mysolutionにmyprojectを追加
フォルダを作成し、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)" # どのPython実行可能ファイルがアクティブかを確認
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)" # どのPython実行可能ファイルがアクティブかを確認
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 # AccelByte C# Extend SDKをクローン
$ cd accelbyte-csharp-sdk
$ git checkout {VERSION} # 特定のリリース{VERSION}に切り替え
$ cp -rv AccelByte.Sdk /path/to/mysolution/AccelByte.Sdk # AccelByte C# Extend SDKソースコードをコピー
$ cd /path/to/mysolution
$ dotnet sln add AccelByte.Sdk/AccelByte.Sdk.csproj # AccelByte C# Extend SDKをソリューションに追加
$ cd myproject
$ dotnet add reference ../AccelByte.Sdk/AccelByte.Sdk.csproj # AccelByte C# Extend SDKをC#プロジェクトの依存関係として追加
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ビルドを使用している場合は、このステップをスキップできます。
好みのパッケージマネージャーを使用してNPM経由でTypeScript SDKをインストールすることをお勧めします。ターミナルを開いて、このコマンドを実行します。
npm install @accelbyte/sdk @accelbyte/sdk-iam @accelbyte/sdk-basic # 必要に応じてSDKパッケージを追加
次に、package.jsonに"type": "module"が設定されていることを確認します。
重要:@accelbyte/sdkはプロジェクトに具体的にインストールする必要があります。これは、他の@accelbyte/sdk-*パッケージでpeerDependenciesに移動されているためです。これにより、コア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設定とトークンリポジトリ実装を使用
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クライアント、トークンリポジトリ、設定リポジトリインスタンスを作成
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クライアント、トークンリポジトリ、設定リポジトリインスタンスを作成
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形式の追加のリダイレクトURIを含めるようにしてください(例:accelbyte.prod.gamingservices.accelbyte.io)。
UMDバンドルでTypeScript SDKを使用している場合は、環境変数を設定する必要はありません。値をHTMLファイル内に直接配置できますが、機密情報(認証情報など)をその中に保存しないように注意してください。コアSDKはwindow.AccelByteSDKとして公開され、サービスSDKはwindow.AccelByteSDK_{name}として公開されます。{name}プレースホルダーは、パスカルケース形式のサービス名に置き換えることができます(サービス名が略語でない限り)。例:AccelByteSDK_Achievement、AccelByteSDK_IAM、AccelByteSDK_AMS、AccelByteSDK_SeasonPass。
以下は、パッケージとその公開されているグローバル変数の完全なマップです。
| パッケージ | グローバル変数 |
|---|---|
| @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は管理者ポータルのオリジン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="<環境のドメインURL>" # AccelByte CloudベースURL(例:デモ環境)
$ 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="<環境のドメインURL>" # AccelByte CloudベースURL(例:デモ環境)
$ export AB_CLIENT_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client IDを入力
$ export AB_CLIENT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client Secretを入力
$ go run main.go
必要な環境変数を設定し、gradle runを使用してコードを実行します。
$ export AB_BASE_URL="<環境のドメインURL>" # AccelByte CloudベースURL(例:デモ環境)
$ 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="<環境のドメインURL>" # AccelByte CloudベースURL(例:デモ環境)
$ 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="<環境のドメインURL>" # AccelByte CloudベースURL(例:デモ環境)
$ export AB_CLIENT_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud IAMクライアントID
$ export AB_CLIENT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud IAMクライアントシークレット
$ export AB_NAMESPACE="<作成したネームスペース>" # AccelByte Namespace
$ export AB_REDIRECT_URI="<リダイレクトuri>" # AccelByte IAMクライアントのリダイレクトURI
$ node index.mjs
UMDバンドルでの使用については、npx serveを使用してindex.htmlファイルを提供することをお勧めします。serveを使用すると、file:プロトコルの代わりにHTTP(localhost)を使用してHTMLファイルにアクセスできます。これは、file:プロトコルをリダイレクトURIとして使用できないために必要です。
$ npx serve
追加リソース
- C#
- Go
- Java
- Python
- TypeScript
- C# Extend SDK README Extend SDKのセットアップと使用方法について
- C# Extend SDKの一般的なユースケース ゲームをカスタマイズするためのExtend SDKの一般的なユースケースの選択について
- C# Extend SDKサンプルプロジェクト Extend SDKを使用したサンプルプロジェクトについて
- C# Extend SDKリファレンス Extend SDKがサポートするすべての操作のコード例について
- Go Extend SDK README Extend SDKのセットアップと使用方法について
- Go Extend SDKの一般的なユースケース ゲームをカスタマイズするための一般的なユースケースの選択について
- Go Extend SDKサンプルプロジェクト Extend SDKを使用したサンプルプロジェクトについて
- Go Extend SDKリファレンス Extend SDKがサポートするすべての操作のコード例について
- Java Extend SDK README Extend SDKのセットアップと使用方法について
- Java Extend SDKの一般的なユースケース ゲームをカスタマイズするためのExtend SDKの一般的なユースケースの選択について
- Java Extend SDKサンプルプロジェクト Extend SDKを使用したサンプルプロジェクトについて
- Java Extend SDKコード例 Extend SDKがサポートするすべての操作のコード例について
- Python Extend SDK README Extend SDKのセットアップと使用方法について
- Python Extend SDKの一般的なユースケース ゲームをカスタマイズするためのExtend SDKの一般的なユースケースの選択について
- Python Extend SDKサンプルプロジェクト Extend SDKを使用したサンプルプロジェクトについて
- Python Extend SDKリファレンス Extend SDKがサポートするすべての操作のコード例について
- TypeScript SDK README Extend SDKのセットアップと使用方法について
- TypeScript SDKサンプルプロジェクト Extend SDKを使用したサンプルプロジェクトについて