@oneb-sdk/client
TypeScript icon, indicating that this package has built-in type declarations

1.2.4 • Public • Published

@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)

Our APIs are encrypted into binary, boosting your game's performance beyond expectations while also increasing its overall security.

With OneB, you have the freedom to host on your system, providing you with complete control over your game data and user data, with no need to share it with anyone else. This added level of security and privacy ensures that your game's data is protected and kept confidential at all times.

With OneB, you can write and debug code directly on the cloud, enabling you to effortlessly modify game features without the need to rebuild game client versions. This feature not only saves you time but also provides a more streamlined development process, allowing you to focus on creating the best possible gaming experience for your players.

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.

Package Sidebar

Install

npm i @oneb-sdk/client

Homepage

oneb.tech

Weekly Downloads

2

Version

1.2.4

License

Apache-2.0

Unpacked Size

313 kB

Total Files

78

Last publish

Collaborators

  • tdtanvn