chabokpush
v2.1.0
Published
Chabok Javascript client for browsers, Web Workers & Node.js
Readme
Chabok Push Client for Javascript
This Chabok Push client library supports web browsers, web workers.
Please check library changes.
Getting started
Yarn (or NPM)
You can use any NPM-compatible package manager, including NPM itself and Yarn.
npm install chabokpush --saveOr:
yarn add chabokpushThen:
import chabokpush from 'chabokpush';Or, if you're not using ES6 modules:
const chabokpush = require('chabokpush');CDN
<script src="https://unpkg.com/chabokpush@[X.Y.Z]/dist/chabokpush.min.js"></script>Replace [X.Y.Z] with the latest version
Web Push Browser Support
The following table shows browsers' support for chabok messaging and web push notifications:
For supporting web push notifications on chrome, opera and Samsung internet browser gcm_sender_id should be added to Manifest.js: (If you already have created your gcm_sender_id, you can find it in panel>setting>android cart)
{
.....
"gcm_sender_id": "GCM_SENDER_ID",
.....
}then add the Manifest.js to your root index.html:
<head>
...
<link rel="manifest" href="manifest.json">
...
</head>Initialization
const auth = {
appId: 'APP_ID',
webKey: 'WEB_TOKEN',
devMode:true
}
const options={silent: true}
const chabok = new chabokpush.Chabok(auth, options)if devMode enabled you can Test your Project on development Mode.
You can get your APP_ID, API_KEY, USERNAME and PASSWORD from the Chabok dashboard.
Options
There are a number of configuration parameters which can be set for the ChabokPush client, which can be passed as an object to the ChabokPush constructor, i.e.:
| Param | Type | Default | Description | | --- | --- | --- | --- | | [options] | Object | | | | [options.realtime] | Object | true | set false to disable Realtime Connection | | [options.webpush] | Object | | | | [options.webpush.enabled] | Boolean | false | Set true to enable push Notification | | [options.silent] | Boolean | true | Receive messages Silently |
Sample Usage
const auth = {
appId: 'APP_ID',
webKey: 'WEB_TOKEN',
devMode: true
}
const options = {
webpush: {
enabled: true,
publicKey: 'demo'
},
silent: false,
};
const chabok = new chabokpush.Chabok(auth, options)
chabok.on('registered', deviceId => console.log('DeviceId ', deviceId))
chabok.on('connected', _ => {
console.log('Connected')
chabok.subscribe('important') // subscribe to important channel
chabok.subscribeEvent('geo') // subscribe to geo events
})
chabok.on('message', msg => console.log('Message ', msg))
chabok.on('geo', geoEvent => console.log('Geo Event ', geoEvent))
chabok.on('connecting', _ => console.log('Reconnecting'))
chabok.on('disconnected', _ => console.log('offline'))
chabok.on('closed', _ => console.log('disconnected'))
if (chabok.isRegistered() && chabok.getUserId()) {
chabok.register(chabok.getUserId())
} else {
chabok.register('012345678910111213') // your userId
}