gamification-boksy-lib v1.0.19
gamification-boksy
Promise based gamification client for the browser and react native
Features
Gamification client is simple library to minimize the complexity on front-end side
Usage
let gamification = require("gamification-boksy-lib");
Initialization
let user = "boksy"; // userId
let BASE_URL = "http://example.com/api/Stage"; // userId
gamification.init(user,BASE_URL)
Sending Event
Events are predefined into constant so you can easily reuse them
gamification.sendEvent(gamification.EVENTS.INFO).then(res => {
console.log("res",res);
})
// or using await
let res = await gamification.sendEvent(gamification.EVENTS.INFO);
Sending Session
Events are predefined into constant so you can easily reuse them
readingSession {
timeSpend : seconds,
progress : %,
bookId : string,
userId : string
}
gamification.sendEbookSession(readingSession).then(res => {
console.log("res",res);
})
gamification.sendAudioBookSession(readingSession).then(res => {
console.log("res",res);
})
gamification.sendEbookFinished({userId,coins,bookId}).then(res => {
console.log("res",res);
})
// or using await
let res = await gamification.sendEvent(gamification.EVENTS.INFO);
Sample Response
data: {
userId: 'boksy',
level: '4',
points: 500,
achievements: [],
avatars: [],
trophies: [],
coins: 100
}
Basic events
TEST
INFO // this is getting user info
READ_EBOOK
START_READING
CHANGED_AVATAR
EBOOK_5_MIN:
EBOOK_COMPLETE
AUDIOBOOK_5_MIN
AUDIOBOOK_COMPLETE
KNOWLEDGE_QUIZ_COMPLETE
FACTS_QUIZ_COMPLETE
Handling Errors
This is promise based library so you can handle error like simple promise
gamification.sendEvent(gamification.EVENTS.INFO).then(res => {
console.log("res",res);
}).catch(err => throw err);
Usage as singleton
If you don't have multiple users at the same time and you don't want to do
init every time, you can crete gamificationSingleton.js file with this content
let gamification = require("gamification-boksy-lib");
let user = "boksy"; // your user id
gamification.init(user)
module.exports = gamification;
And then when you want to use it
let gamification= require("./gamificationSingleton");
gamification.sendEvent(gamification.EVENTS.INFO).then(res => {
console.log("res",res);
})
Promises
If your environment doesn't support ES6 Promises, you can polyfill.
License
ICS
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago