fast, extensible, and scalable BaaS platform for game services, content management, live ops, and more
This is the client-side javascript SDK for the Brinkbit Game BaaS. This repository includes installation instructions and basic examples. For full API documentation see https://brinkbit.com/docs/.
$ npm init
$ npm install --save brinkbit.js
$ yarn init
$ yarn add brinkbit.js
Include the following script tag in your html:
<script crossorigin src="https://unpkg.com/brinkbit.js/dist/brinkbit.min.js"></script>
CommonJS
const Brinkbit = require( 'brinkbit.js' );
ES6
import Brinkbit from 'brinkbit.js';
// create a new Brinkbit instance
const brinkbit = new Brinkbit({
gameId: 'xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx', // your unique game id (can be retrieved from brinkbit control center)
});
// create a new Brinkbit instance using custom proxy
const brinkbit = new Brinkbit({
base: 'https://yourproxydomain.com/api/', // the route of your application on which the server-side sdk is listening
gameId: 'xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx', // your unique game id (can be retrieved from brinkbit control center)
});
// create a new player
const player = new brinkbit.Player({
username: 'Violet',
email: '[email protected]',
password: 'FireballsAreTheWorst',
});
player.save()
.then(() => {
// player has been created on server
});
brinkbit.on( 'login', ( event ) => {
console.log( event.player );
});
// login a player
brinkbit.login({
username: 'Violet', // can also be email
password: 'FireballsAreTheWorst',
})
.then(( player ) => {
// player is an authenticated player object
// You can also access the primary player via Brinkbit.Player.primary
console.log( player.id === Brinkbit.Player.primary.id );
});
if ( brinkbit.loggedIn()) {
console.log( 'player is logged in' );
}
else {
console.log( 'player is not logged in' );
}
brinkbit.logout();
// player is logged out
// alternative
player.logout();
brinkbit.get( '/players/12345/' )
.then(( response ) => {
console.log( response );
});
brinkbit.put({
uri: '/players/12345/',
data: {
email: '[email protected]',
},
});