@oneb-sdk/client
v1.2.4
Published
OneBServices Client(GBaaS) for JS Game engines such as Cocos creator, Three.js, Pixi.js, Phaser
Downloads
2
Readme
@oneb-sdk/client
Description
OneB SDK for JavaScript, OneBServices Client for JS Game engines such as Cocos Creator, Three.js, Pixi.js, Phaser...
OneB Services is a Game backend as a service (GBaaS)
Installing
To install this package, simply type add or install @oneb-sdk/client using your favorite package manager:
npm install @oneb-sdk/client
yarn add @oneb-sdk/client
pnpm add @oneb-sdk/client
Getting Started
Import
The OneB SDK is modulized by clients and commands.
To send a request, you only need to import the OneBServicesClient
and
the commands you need, for example, CallGameScriptCommand
:
// ES5 example
const { OneBServicesClient, CallGameScriptCommand } = require("@oneb-sdk/client");
// ES6+ example
import { OneBServicesClient, CallGameScriptCommand } from "@oneb-sdk/client";
Usage
To send a request, you:
- Initiate client with configuration (e.g. gameId, environment, api type).
- Initiate command with input parameters.
- Call
send
operation on the client with command object as input
// a client can be shared by different commands.
const client = new OneBServicesClient({ gameId: "DEMO" });
const command = new GetBlueprintDataCommand(dataName);
client.send(command);
Async/await
We recommend using await operator to wait for the promise returned by send operation as follows:
// async/await.
try {
const data = await client.send(command);
// process data.
} catch (error) {
// error handling.
} finally {
// finally.
}
Async-await is clear, concise, intuitive, easy to debug and has better error handling as compared to using Promise chains or callbacks.
Promises
You can also use Promise chaining to execute send operation.
client.send(command).then(
(data) => {
// process data.
},
(error) => {
// error handling.
}
);
Promises can also be called using .catch()
and .finally()
as follows:
client
.send(command)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
})
.finally(() => {
// finally.
});
working with protobuf
The client can also support the use protobuf to send/receive binary messages by setting apiType in the config, To send a binary request, you:
- Initiate client with apiType is BINARY
- Download protobuf message from our services and build it to the proto class
- Call
send
operation on the client with proto class
const client = new OneBServicesClient({apiType: APIType.BINARY });
const command = new GetBlueprintDataCommand<ITRequest>(dataName, TRequest);
Troubleshooting
When the service returns an exception, the error will include the exception information,
try {
const data = await client.send(command);
// process data.
} catch (error) {
console.log(error);
}
License
This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.
Docs
For more information on how to use the OneB-SDK packages, please refer to the respective documentation.
- Docs - Getting Started
- Concepts - Basic concepts
- Game Features - understand features in games