1.2.4 • Published 3 years ago

@oneb-sdk/client v1.2.4

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 years ago

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

1.2.4

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.5

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago